Dennis Schridde schreef: > Am Freitag, 16. Februar 2007 schrieb Giel van Schijndel: > >> Dennis Schridde schreef: >> >>> Author: devurandom >>> Date: Thu Feb 15 16:36:25 2007 >>> New Revision: 757 >>> >>> URL: http://svn.gna.org/viewcvs/warzone?rev=757&view=rev >>> Log: >>> Port of r756 (buildsystem/installation improvements) >>> >>> Modified: >>> trunk/Makefile.am >>> trunk/autopackage/default.apspec.in >>> trunk/configure.ac >>> trunk/data/Makefile.am >>> trunk/nsis/Makefile.am >>> trunk/nsis/Makefile.raw >>> trunk/win32/Makefile.am >>> >> The changes you've made here to trunk/nsis/Makefile.raw (changing the >> define params from "/Dvar=val" to -Dvar="val") invalidate the command >> line on windows. Simply reverting those changes make it work again. >> >> So, my question, are you sure these changes are necessary for something? >> > I wouldn't have done it if it wouldn't be necessary... > makensis wants -D on Linux and /D on Windows, apparently... > I have no idea why the NSIS team decided on that, it's very ugly IMHO... > I thought, if it would read -D on Linux, it might take the same on Windows. > > I filed a bug on NSIS: > http://sourceforge.net/tracker/index.php?func=detail&aid=1661503&group_id=22049&atid=373085 > > Till this is fixed, how do we want to solve it? Add a NSISCL=/ define for > Windows and NSISCL=- for Linux and write $(MAKENSIS) $(NSISCL)Dvar=val ? > Or would it be ok that one of us sets the Makefile to ignore and changes it > locally? > I think we shouldn't go cluthering the make variable space just for an inconsistency in a build tool that's only used once in the entire build progress. So instead I suggest we use a fix local to trunk/nsis/Makefile.raw(/am?). Something like making the build command itself depend on platform would probably do (accompanied by an explaining comment of course).
I was personally thinking of something like attached patch, if you agree with it (or don't object it) I'll apply commit this fix. -- Giel
Index: nsis/Makefile.raw =================================================================== --- nsis/Makefile.raw (revision 759) +++ nsis/Makefile.raw (working copy) @@ -10,8 +10,15 @@ endif endif +# This is necessary to make sure "/Dvar=val" is used on Windows systems and -Dvar="val" on GNU/Linux buildsystems. +# Which is a direct result from inconsistencies in commandline parsing between the Windows and GNU/Linux versions. +ifeq ($(strip $(PLATFORM)),windows) $(SETUPFILE): warzone2100.nsi ../src/warzone2100.exe ../data/warzone.wz ../data/mp.wz ../data/grim.wz + $(MAKENSIS) "/DVERSION=$(VERSION)" "/DVERSIONNUM=$(INSTALLER_VERSION)" "/DLIBDIR=$(DEVDIR)\lib" $< +else +$(SETUPFILE): warzone2100.nsi ../src/warzone2100.exe ../data/warzone.wz ../data/mp.wz ../data/grim.wz $(MAKENSIS) -DVERSION="$(VERSION)" -DVERSIONNUM="$(INSTALLER_VERSION)" -DLIBDIR="$(DEVDIR)\lib" $< +endif clean: $(RM) $(SETUPFILE)
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev