* nt/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.

* nt/gmake.defs, nt/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.

* src/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 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.
This commit is contained in:
Ben Key 2011-05-06 23:00:12 -05:00
parent a3961c3e4d
commit 4d3fcc8e60
6 changed files with 61 additions and 10 deletions

View file

@ -1,3 +1,27 @@
2011-05-07 Ben Key <bkey76@gmail.com>
* 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 <eliz@gnu.org>
* inc/inttypes.h [!__MINGW32__]: Include stdint.h. Move the

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,3 +1,20 @@
2011-05-07 Ben Key <bkey76@gmail.com>
* 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 <michael.albinus@gmx.de>
* dbusbind.c (QCdbus_type_unix_fd): Declare static.

View file

@ -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.