As of 2.51, I can no longer build NSIS on Mac OS X, whereas 3.0rc1 build fine (as did the predecessors 2.50 and 3.0beta3).
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/release/makensis/build.o -c -Wno-non-virtual-dtor -Wall -O2 -DNSISCALL=__attribute__((__stdcall__)) -D__BIG_ENDIAN__ -D_WIN32_IE=0x0500 -Ibuild/release/config Source/build.cpp
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `g++ -o "build/release/makensis/build.o" -c -Wno-non-virtual-dtor -Wall -O2 -DNSISCALL=__attribute__((__stdcall__)) -D__BIG_ENDIAN__ -D_WIN32_IE=0x0500 -Ibuild/release/config "Source/build.cpp"'
scons: *** [build/release/makensis/build.o] Error 2
scons: building terminated because of errors.
Looks like it's something with the quotes
The same error occurs on Debian, still suspecting the quotes (note the opening ` and the closing ')
Last edit: idleberg 2016-04-03
This seems to have happened because of a change that removed some gcc 4.5.2 warnings. The specific change was the removal of the space at the beginning of defenv['STDCALL']. SCons no longer quotes it because there is no space.
Turns out we probably already broke and fixed this in trunk. Hopefully this trick works in all GCC versions for both MinGW and POSIX.