diff options
-rw-r--r-- | nt/ChangeLog | 24 | ||||
-rwxr-xr-x | nt/configure.bat | 19 | ||||
-rw-r--r-- | nt/gmake.defs | 1 | ||||
-rw-r--r-- | nt/nmake.defs | 2 | ||||
-rw-r--r-- | src/ChangeLog | 17 | ||||
-rw-r--r-- | src/makefile.w32-in | 8 |
6 files changed, 61 insertions, 10 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog index 6ad8063bb0..5d69142988 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,27 @@ +2011-05-07 Ben Key <[email protected]> + + * configure.bat: Renamed the fusercflags variable to escusercflags + so that the variable name better matches its purpose, to be + identical to usercflags with the exception that all quotes are + escaped by the \ character. + + Renamed the fuserldflags variable to escuserldflags so that the + variable name better matches its purpose, to be identical to + userldflags with the exception that all quotes are escaped by + the \ character. + + A new ESC_USER_CFLAGS variable is written to config.settings. + This variable has the same value as the escusercflags variable. + + * gmake.defs, nmake.defs: Added the variable ESC_CFLAGS. This + variable is identical to the CFLAGS variable except that it + includes the new ESC_USER_CFLAGS variable instead of USER_CFLAGS. + + These changes, along with some changes to src/makefile.w32-in, + are required to extend my earlier fix to add support for + --cflags and --ldflags options that include quotes so that it + works whether make uses cmd or sh as the shell. + 2011-05-06 Eli Zaretskii <[email protected]> * inc/inttypes.h [!__MINGW32__]: Include stdint.h. Move the diff --git a/nt/configure.bat b/nt/configure.bat index 63d94972d8..45d966fc34 100755 --- a/nt/configure.bat +++ b/nt/configure.bat @@ -97,10 +97,10 @@ set profile=N set nocygwin=N
set COMPILER=
set usercflags=
-set fusercflags=
+set escusercflags=
set docflags=
set userldflags=
-set fuserldflags=
+set escuserldflags=
set extrauserlibs=
set doldflags=
set doextralibs=
@@ -240,7 +240,7 @@ goto ucflagne :ucflagex
shift
set usercflags=%usercflags%%sep1%%~1
-set fusercflags=%usercflags:"=\"%
+set escusercflags=%usercflags:"=\"%
set sep1= %nothing%
shift
goto again
@@ -248,7 +248,7 @@ goto again :ucflagne
shift
set usercflags=%usercflags%%sep1%%1
-set fusercflags=%usercflags%
+set escusercflags=%usercflags%
set sep1= %nothing%
shift
goto again
@@ -270,7 +270,7 @@ goto ulflagne :ulflagex
shift
set userldflags=%userldflags%%sep2%%~1
-set fuserldflags=%userldflags:"=\"%
+set escuserldflags=%userldflags:"=\"%
set sep2= %nothing%
shift
goto again
@@ -278,7 +278,7 @@ goto again :ulflagne
shift
set userldflags=%userldflags%%sep2%%1
-set fuserldflags=%userldflags%
+set escuserldflags=%userldflags%
set sep2= %nothing%
shift
goto again
@@ -443,7 +443,7 @@ goto nocompiler :chkuser
rm -f junk.o
echo int main (int argc, char *argv[]) {>junk.c
-echo char *usercflags = "%fusercflags%";>>junk.c
+echo char *usercflags = "%escusercflags%";>>junk.c
echo }>>junk.c
echo gcc -Werror -c junk.c >>config.log
gcc -Werror -c junk.c >>config.log 2>&1
@@ -739,6 +739,7 @@ rem We go thru docflags because usercflags could be "-DFOO=bar" -something rem and the if command cannot cope with this
for %%v in (%usercflags%) do if not (%%v)==() set docflags=Y
if (%docflags%)==(Y) echo USER_CFLAGS=%usercflags%>>config.settings
+if (%docflags%)==(Y) echo ESC_USER_CFLAGS=%escusercflags%>>config.settings
for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y
if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags%>>config.settings
for %%v in (%extrauserlibs%) do if not (%%v)==() set doextralibs=Y
@@ -751,8 +752,8 @@ echo. >>config.tmp echo /* Start of settings from configure.bat. */ >>config.tmp
rem We write USER_CFLAGS and USER_LDFLAGS starting with a space to simplify
rem processing of compiler options in w32.c:get_emacs_configuration_options
-if (%docflags%) == (Y) echo #define USER_CFLAGS " %fusercflags%">>config.tmp
-if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %fuserldflags%">>config.tmp
+if (%docflags%) == (Y) echo #define USER_CFLAGS " %escusercflags%">>config.tmp
+if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %escuserldflags%">>config.tmp
if (%profile%) == (Y) echo #define PROFILING 1 >>config.tmp
if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp
if not "(%HAVE_GNUTLS%)" == "()" echo #define HAVE_GNUTLS 1 >>config.tmp
diff --git a/nt/gmake.defs b/nt/gmake.defs index dcc43c985a..bbb560264c 100644 --- a/nt/gmake.defs +++ b/nt/gmake.defs @@ -206,6 +206,7 @@ CHECKING_CFLAGS = endif CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(PROFILE_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS) +ESC_CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(PROFILE_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS) EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1 ifdef PROFILE diff --git a/nt/nmake.defs b/nt/nmake.defs index a150aafcc7..6c0922d78b 100644 --- a/nt/nmake.defs +++ b/nt/nmake.defs @@ -144,6 +144,8 @@ CHECKING_CFLAGS = CFLAGS = -I. $(ARCH_CFLAGS) \
$(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
+ESC_CFLAGS = -I. $(ARCH_CFLAGS) \
+ $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS)
EMACS_EXTRA_C_FLAGS =
SYS_LDFLAGS = -nologo -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net setargv.obj
diff --git a/src/ChangeLog b/src/ChangeLog index 598d1fdd7b..199c270a01 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,20 @@ +2011-05-07 Ben Key <[email protected]> + + * makefile.w32-in: The bootstrap-temacs rule now makes use of + one of two shell specific rules, either bootstrap-temacs-CMD or + bootstrap-temacs-SH. The bootstrap-temacs-SH rule is identical + to the previous implementation of the bootstrap-temacs rule. + The bootstrap-temacs-CMD rule is similar to the previous + implementation of the bootstrap-temacs rule except that it + makes use of the ESC_CFLAGS variable instead of the CFLAGS + variable. + + These changes, along with some changes to nt/configure.bat, + nt/gmake.defs, and nt/nmake.defs, are required to extend my + earlier fix to add support for --cflags and --ldflags options + that include quotes so that it works whether make uses cmd or + sh as the shell. + 2011-05-06 Michael Albinus <[email protected]> * dbusbind.c (QCdbus_type_unix_fd): Declare static. diff --git a/src/makefile.w32-in b/src/makefile.w32-in index fb216eb16a..e19a19645f 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in @@ -244,9 +244,15 @@ bootstrap: bootstrap-emacs # # WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as # this can break with GNU Make 3.81 and later if sh.exe is used. -bootstrap-temacs: +bootstrap-temacs-CMD: + $(MAKE) $(MFLAGS) $(XMFLAGS) temacs CFLAGS=$(ARGQUOTE)$(ESC_CFLAGS) -DPURESIZE=5000000$(ARGQUOTE) + +bootstrap-temacs-SH: $(MAKE) $(MFLAGS) $(XMFLAGS) temacs CFLAGS=$(ARGQUOTE)$(CFLAGS) -DPURESIZE=5000000$(ARGQUOTE) +bootstrap-temacs: + $(MAKE) $(MFLAGS) bootstrap-temacs-$(SHELLTYPE) + # # Dump an Emacs executable named bootstrap-emacs containing the # files from loadup.el in source form. |