# HG changeset patch # User Eli Zaretskii # Date 1192883303 0 # Node ID 8435ae48d8108d74029b7eb569d0e8deee949321 # Parent 7753e1a2732c3bed5d7ba725bb0d1a3c3ed2e787 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. diff -r 7753e1a2732c -r 8435ae48d810 nt/configure.bat --- a/nt/configure.bat Sat Oct 20 11:33:03 2007 +0000 +++ b/nt/configure.bat Sat Oct 20 12:28:23 2007 +0000 @@ -84,7 +84,9 @@ set nocygwin=N set COMPILER= set usercflags= +set docflags= set userldflags= +set doldflags= set sep1= set sep2= @@ -158,15 +160,14 @@ 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 (%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 COMPILER= set MAKECMD= set usercflags= +set docflags= set userldflags= +set doldflags= set mingwflag= set mf=