aboutsummaryrefslogtreecommitdiffstats
path: root/nt
diff options
context:
space:
mode:
authorEli Zaretskii <[email protected]>2007-10-20 12:28:52 +0000
committerEli Zaretskii <[email protected]>2007-10-20 12:28:52 +0000
commit3a1ebd63a60c3d694cce9528a50d9bf8be5c124d (patch)
treebe00557185806b3f39915f8b364facc7dfa944b4 /nt
parent6d005ee796965a65921bc426129203bcecb7eb87 (diff)
A better solution for the last change:
(docflags, doldflags): New variables. (genmakefiles): Use them to work around problems with whitespace in arguments of the `if' command.
Diffstat (limited to 'nt')
-rw-r--r--nt/ChangeLog4
-rwxr-xr-xnt/configure.bat21
2 files changed, 17 insertions, 8 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog
index e36d2fa863..5ee99f3825 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,6 +1,8 @@
2007-10-20 Eli Zaretskii <[email protected]>
- * configure.bat (usercflags, userldflags): Quote %1.
+ * configure.bat (docflags, doldflags): New variables.
+ (genmakefiles): Use them to work around problems with whitespace
+ in arguments of the `if' command.
2007-10-18 Jason Rumney <[email protected]>
diff --git a/nt/configure.bat b/nt/configure.bat
index 3782f1f749..ef0a746949 100755
--- a/nt/configure.bat
+++ b/nt/configure.bat
@@ -84,7 +84,9 @@ set noopt=N
set nocygwin=N
set COMPILER=
set usercflags=
+set docflags=
set userldflags=
+set doldflags=
set sep1=
set sep2=
@@ -158,15 +160,14 @@ goto again
rem ----------------------------------------------------------------------
:usercflags
shift
-rem We quote arg here to leave quotes in the likes of "-DFOO=bar"
-set usercflags=%usercflags%%sep1%"%1"
+set usercflags=%usercflags%%sep1%%1
set sep1= %nothing%
shift
goto again
rem ----------------------------------------------------------------------
:userldflags
shift
-set userldflags=%userldflags%%sep2%"%1"
+set userldflags=%userldflags%%sep2%%1
set sep2= %nothing%
shift
goto again
@@ -474,16 +475,20 @@ if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings
if (%noopt%) == (Y) echo NOOPT=1 >>config.settings
if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings
if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix%>>config.settings
-if not "(%usercflags%)" == "()" echo USER_CFLAGS=%usercflags%>>config.settings
-if not "(%userldflags%)" == "()" echo USER_LDFLAGS=%userldflags%>>config.settings
+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
+for %%v in (%userldflags%) do if not (%%v)==() set doldflags=Y
+if (%doldflags%)==(Y) echo USER_LDFLAGS=%userldflags%>>config.settings
echo # End of settings from configure.bat>>config.settings
echo. >>config.settings
copy config.nt config.tmp
echo. >>config.tmp
echo /* Start of settings from configure.bat. */ >>config.tmp
-if not "(%usercflags%)" == "()" echo #define USER_CFLAGS " %usercflags%">>config.tmp
-if not "(%userldflags%)" == "()" echo #define USER_LDFLAGS " %userldflags%">>config.tmp
+if (%docflags%) == (Y) echo #define USER_CFLAGS " %usercflags%">>config.tmp
+if (%doldflags%) == (Y) echo #define USER_LDFLAGS " %userldflags%">>config.tmp
if not "(%HAVE_PNG%)" == "()" echo #define HAVE_PNG 1 >>config.tmp
if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp
if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp
@@ -597,7 +602,9 @@ set nocygwin=
set COMPILER=
set MAKECMD=
set usercflags=
+set docflags=
set userldflags=
+set doldflags=
set mingwflag=
set mf=