From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#9960: Compiling Emacs trunk with MSVC Date: Fri, 11 Nov 2011 11:39:56 +0200 Message-ID: <8339dvgfpv.fsf@gnu.org> References: <83sjy5279e.fsf@gnu.org> <8339e2lsu7.fsf@gnu.org> <83zkgakdby.fsf@gnu.org> <4EB5320F.5090800@gmail.com> <83vcqyk8k3.fsf@gnu.org> <4EB540F4.7080106@gmail.com> <83r51mk62f.fsf@gnu.org> <86wrbeo7p5.fsf@googlemail.com> <83k47ejyyt.fsf@gnu.org> <86sjm2o559.fsf@googlemail.com> <86obwqo2hl.fsf@googlemail.com> <86ipmynwds.fsf@googlemail.com> <838vnujm3z.fsf@gnu.org> <83sjlzj25l.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1321004583 8721 80.91.229.12 (11 Nov 2011 09:43:03 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 11 Nov 2011 09:43:03 +0000 (UTC) Cc: cschol2112@googlemail.com, 9960@debbugs.gnu.org To: Fabrice Popineau Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Nov 11 10:42:59 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ROndT-0006X1-2V for geb-bug-gnu-emacs@m.gmane.org; Fri, 11 Nov 2011 10:42:59 +0100 Original-Received: from localhost ([::1]:48138 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ROndS-0002sc-FR for geb-bug-gnu-emacs@m.gmane.org; Fri, 11 Nov 2011 04:42:58 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:35588) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ROndM-0002sR-Ua for bug-gnu-emacs@gnu.org; Fri, 11 Nov 2011 04:42:57 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ROndI-0002Fm-7k for bug-gnu-emacs@gnu.org; Fri, 11 Nov 2011 04:42:52 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:43747) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ROndI-0002Ff-1C for bug-gnu-emacs@gnu.org; Fri, 11 Nov 2011 04:42:48 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1ROndW-0005Q8-Fd for bug-gnu-emacs@gnu.org; Fri, 11 Nov 2011 04:43:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 11 Nov 2011 09:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 9960 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 9960-submit@debbugs.gnu.org id=B9960.132100453920780 (code B ref 9960); Fri, 11 Nov 2011 09:43:02 +0000 Original-Received: (at 9960) by debbugs.gnu.org; 11 Nov 2011 09:42:19 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1ROnco-0005P6-SG for submit@debbugs.gnu.org; Fri, 11 Nov 2011 04:42:19 -0500 Original-Received: from mtaout20.012.net.il ([80.179.55.166]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1ROncm-0005Ol-8x for 9960@debbugs.gnu.org; Fri, 11 Nov 2011 04:42:17 -0500 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0LUH00400PJQ7H00@a-mtaout20.012.net.il> for 9960@debbugs.gnu.org; Fri, 11 Nov 2011 11:41:53 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([77.126.231.130]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0LUH003COPLSI3B0@a-mtaout20.012.net.il>; Fri, 11 Nov 2011 11:41:53 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Fri, 11 Nov 2011 04:43:02 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:53806 Archived-At: > From: Fabrice Popineau > Date: Thu, 10 Nov 2011 20:56:11 +0100 > Cc: cschol2112@googlemail.com, 9960@debbugs.gnu.org > > Sure. feel free to adapt on the basis of the attached patch. > Status is : > - completely functional 32 bits version with xpm, gif, jpeg, tiff. Able to > boostrap itself. Great news, thanks. > Is there any interest in having a 64bits windows emacs ? Yes, though if the changes are significant, they will probably not make it into Emacs 24.1. Plus, I think you will need to sign legal papers to contribute more than what you already have. (I can currently find on file your assignment only to Gnus.) > I have added two other files : a 64bits manifest for emacs.exe and a > w32compat.h header file that is needed to compile the above mentioned > libraries. In my case, this w32compat.h is included while compiling image.c > for example. Is this for a 64-bit build, or is this needed for a 32-bit build as well? If for a 32-bit built, then what exactly are the problems with image.c that requires w32compat.h? > +#ifndef _MSC_VER > extern char **environ; > +#endif Which MSVC header has the necessary declaration, and what is that declaration? > --- lib/strftime.c 2011-03-31 04:24:03 +0000 > +++ lib/strftime.c 2011-11-10 17:39:37 +0000 > @@ -36,9 +36,14 @@ > #include > #include > > +#ifdef _MSC_VER > +#define tzname _tzname > +#else > #if HAVE_TZNAME && !HAVE_DECL_TZNAME > extern char *tzname[]; Can we instead modify the #define on src/s/ms-w32.h so as to include versions of MSVC above 1400? Or does that not work for some reason? I'd like to avoid changing source files in lib/, since they are imported from gnulib. > --- lisp/bindings.el 2011-10-08 16:37:46 +0000 > +++ lisp/bindings.el 2011-11-10 17:49:35 +0000 > @@ -824,13 +824,13 @@ > ;; Define control-digits. > (let ((i ?0)) > (while (<= i ?9) > - (define-key global-map (read (format "[?\\C-%c]" i)) 'digit-argument) > +; (define-key global-map (read (format "[?\\C-%c]" i)) 'digit-argument) > (setq i (1+ i)))) > (define-key global-map [?\C--] 'negative-argument) > ;; Define control-meta-digits. > (let ((i ?0)) > (while (<= i ?9) > - (define-key esc-map (read (format "[?\\C-%c]" i)) 'digit-argument) > +; (define-key esc-map (read (format "[?\\C-%c]" i)) 'digit-argument) > (setq i (1+ i)))) > (define-key global-map [?\C-\M--] 'negative-argument) Why is this part needed? > === modified file 'src/makefile.w32-in' > --- src/makefile.w32-in 2011-11-05 22:55:08 +0000 > +++ src/makefile.w32-in 2011-11-10 02:16:49 +0000 > @@ -177,7 +177,7 @@ > $(TEMACS): $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \ > ../nt/$(BLD)/addsection.exe $(GNULIB) > $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS) > - "$(THISDIR)/../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP 21 > + "$(THISDIR)/../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP 42 Is such a large heap really needed for a 32-bit MSVC build? Or is it for the 64-bit build? > -#if (defined(_MSC_VER) && defined(emacs)) || defined(USE_CRT_DLL) > +#if (defined(_MSC_VER) && defined(emacs)) > #define malloc e_malloc > #define free e_free > #define realloc e_realloc What was the problem that required this change? Thanks.