aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nt/ChangeLog24
-rwxr-xr-xnt/configure.bat19
-rw-r--r--nt/gmake.defs1
-rw-r--r--nt/nmake.defs2
-rw-r--r--src/ChangeLog17
-rw-r--r--src/makefile.w32-in8
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.