From 3a1ebd63a60c3d694cce9528a50d9bf8be5c124d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 20 Oct 2007 12:28:52 +0000 Subject: [PATCH] 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. --- nt/ChangeLog | 4 +++- nt/configure.bat | 21 ++++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/nt/ChangeLog b/nt/ChangeLog index e36d2fa863d..5ee99f3825d 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,6 +1,8 @@ 2007-10-20 Eli Zaretskii - * 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 diff --git a/nt/configure.bat b/nt/configure.bat index 3782f1f749f..ef0a746949b 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= -- 2.39.2