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)

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev

Reply via email to