X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=scons%2Fcrossmingw.py;h=34129450a56cdf14d8da50242c9c5b7a40a37c5c;hb=0473577f91c1e7fd96c6229eae6132c6a46b1fa7;hp=9cb0b89e3c7849539e05f48f010d0ae797c6b36d;hpb=8fda97afb8b7a03415dbca6d83691d2d6461126c;p=mesa.git diff --git a/scons/crossmingw.py b/scons/crossmingw.py index 9cb0b89e3c7..34129450a56 100644 --- a/scons/crossmingw.py +++ b/scons/crossmingw.py @@ -41,21 +41,20 @@ import SCons.Builder import SCons.Tool import SCons.Util -# This is what we search for to find mingw: -prefixes = SCons.Util.Split(""" - mingw32- - mingw32msvc- - i386-mingw32- - i486-mingw32- - i586-mingw32- - i686-mingw32- - i386-mingw32msvc- - i486-mingw32msvc- - i586-mingw32msvc- - i686-mingw32msvc- +# These are the mingw toolchain prefixes we search for: +# (We only search for the mingw-w64 toolchain, and not the mingw.org one.) +prefixes32 = SCons.Util.Split(""" + i686-w64-mingw32- +""") +prefixes64 = SCons.Util.Split(""" + x86_64-w64-mingw32- """) def find(env): + if env['machine'] == 'x86_64': + prefixes = prefixes64 + else: + prefixes = prefixes32 for prefix in prefixes: # First search in the SCons path and then the OS path: if env.WhereIs(prefix + 'gcc') or SCons.Util.WhereIs(prefix + 'gcc'): @@ -116,6 +115,8 @@ res_builder = SCons.Builder.Builder(action=res_action, suffix='.o', source_scanner=SCons.Tool.SourceFileScanner) SCons.Tool.SourceFileScanner.add_scanner('.rc', SCons.Defaults.CScan) + + def generate(env): mingw_prefix = find(env) @@ -173,13 +174,5 @@ def generate(env): env['LIBPREFIXES'] = [ 'lib', '' ] env['LIBSUFFIXES'] = [ '.a', '.lib' ] - # MinGW port of gdb does not handle well dwarf debug info which is the - # default in recent gcc versions - env.AppendUnique(CFLAGS = ['-gstabs']) - - #env.AppendUnique(LIBS = ['iberty']) - env.AppendUnique(SHLINKFLAGS = ['-Wl,--enable-stdcall-fixup']) - #env.AppendUnique(SHLINKFLAGS = ['-Wl,--kill-at']) - def exists(env): return find(env)