[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9960: Compiling Emacs trunk with MSVC
From: |
Eli Zaretskii |
Subject: |
bug#9960: Compiling Emacs trunk with MSVC |
Date: |
Fri, 11 Nov 2011 11:39:56 +0200 |
> From: Fabrice Popineau <fabrice.popineau@supelec.fr>
> 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 <ctype.h>
> #include <time.h>
>
> +#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.
- bug#9960: Compiling Emacs trunk with MSVC, (continued)
- bug#9960: Compiling Emacs trunk with MSVC, Stefan Monnier, 2011/11/20
- bug#9960: Compiling Emacs trunk with MSVC, Juanma Barranquero, 2011/11/20
- bug#9960: Compiling Emacs trunk with MSVC, Eli Zaretskii, 2011/11/20
- bug#9960: Compiling Emacs trunk with MSVC, Andreas Schwab, 2011/11/21
- bug#9960: Compiling Emacs trunk with MSVC, Eli Zaretskii, 2011/11/21
- bug#9960: Compiling Emacs trunk with MSVC, Juanma Barranquero, 2011/11/21
- bug#9960: Compiling Emacs trunk with MSVC, Eli Zaretskii, 2011/11/21
- bug#9960: Compiling Emacs trunk with MSVC, Richard Stallman, 2011/11/21
- bug#9960: Compiling Emacs trunk with MSVC,
Eli Zaretskii <=
- bug#9960: Compiling Emacs trunk with MSVC, Fabrice Popineau, 2011/11/11
- bug#9960: Compiling Emacs trunk with MSVC, Eli Zaretskii, 2011/11/11
- bug#9960: Compiling Emacs trunk with MSVC, Fabrice Popineau, 2011/11/11
- bug#9960: Compiling Emacs trunk with MSVC, Eli Zaretskii, 2011/11/12
- bug#9960: Compiling Emacs trunk with MSVC, Fabrice Popineau, 2011/11/12
- bug#9960: Compiling Emacs trunk with MSVC, Óscar Fuentes, 2011/11/12
- bug#9960: Compiling Emacs trunk with MSVC, Richard Stallman, 2011/11/12
- bug#9960: Compiling Emacs trunk with MSVC, Eli Zaretskii, 2011/11/12
- bug#9960: Compiling Emacs trunk with MSVC, Fabrice Popineau, 2011/11/12
- bug#9960: Compiling Emacs trunk with MSVC, Eli Zaretskii, 2011/11/12