changeset 6279:8d8b634b4839

Fix tools::nsis crossmingw
author Masamichi Hosoda <trueroad@users.noreply.github.com>
date Sun, 16 Nov 2014 00:59:48 +0900
parents 7d36942c8c77
children 9518035a47e9
files gub/specs/nsis.py patches/nsis-2.46-crossmingw.patch
diffstat 2 files changed, 24 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/gub/specs/nsis.py	Sat Nov 15 19:06:57 2014 +0900
+++ b/gub/specs/nsis.py	Sun Nov 16 00:59:48 2014 +0900
@@ -8,6 +8,7 @@
     source = 'http://surfnet.dl.sourceforge.net/sourceforge/nsis/nsis-2.46-src.tar.bz2'
     #source = ':pserver:anonymous@nsis.cvs.sourceforge.net:/cvsroot/nsis&module=NSIS&tag=HEAD'
     dependencies = ['mingw::cross/gcc']
+    patches = ['nsis-2.46-crossmingw.patch']
     scons_flags = misc.join_lines ('''
 DEBUG=yes
 NSIS_CONFIG_LOG=yes
@@ -37,6 +38,7 @@
                      + '/bin')
         return {'PATH': mingw_bin + ':' + tools_bin + ':' + os.environ['PATH'] }
     def patch (self):
+        tools.SConsBuild.patch (self)
         self.system ('mkdir -p %(allbuilddir)s', ignore_errors=True)
         self.system ('ln -s %(srcdir)s %(builddir)s')
         if 'x86_64-linux' in self.settings.build_architecture:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/nsis-2.46-crossmingw.patch	Sun Nov 16 00:59:48 2014 +0900
@@ -0,0 +1,22 @@
+--- a/SCons/Tools/crossmingw.py	2009-01-11 18:48:07.000000000 +0900
++++ b/SCons/Tools/crossmingw.py	2014-11-15 23:54:57.176018300 +0900
+@@ -149,7 +149,7 @@
+     env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared')
+     env['SHLINKCOM']   = shlib_action
+     env.Append(SHLIBEMITTER = [shlib_emitter])
+-    env['LINK'] = mingw_prefix + 'g++'
++    env['LINK'] = mingw_prefix + 'g++ -static-libgcc -static-libstdc++'
+     env['AS'] = mingw_prefix + 'as'
+     env['AR'] = mingw_prefix + 'ar'
+     env['RANLIB'] = mingw_prefix + 'ranlib'
+--- a/SCons/Config/gnu	2009-02-05 09:52:28.000000000 +0900
++++ b/SCons/Config/gnu	2014-11-16 00:18:14.838514000 +0900
+@@ -24,7 +24,7 @@
+ defenv['ENTRY_FLAG'] = entry
+ defenv['MAP_FLAG'] = '-Wl,-Map,${TARGET.base}.map'
+ defenv['EXCEPTION_FLAG'] = ''
+-defenv['NODEFLIBS_FLAG'] = '-nostdlib -Wl,--exclude-libs,msvcrt.a'
++defenv['NODEFLIBS_FLAG'] = '-Wl,--exclude-libs,msvcrt.a'
+ defenv['C_FLAG'] = '-xc'
+ defenv['CPP_FLAG'] = '-xc++'
+ defenv['ALIGN_FLAG'] = '-Wl,--file-alignment,512'