X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=scons%2Fcrossmingw.py;h=1287e0ec8cc524607b8b964508968489fa3cc4fc;hb=33b90804eee3619c1174183be7a87e8c6e742076;hp=03bfbd7eb3c7af573e183e35ccc3718f47f2229f;hpb=6602889d82d1402338f5d23e37a9f46db99e86c6;p=android-x86%2Fexternal-mesa.git diff --git a/scons/crossmingw.py b/scons/crossmingw.py index 03bfbd7eb3c..1287e0ec8cc 100644 --- a/scons/crossmingw.py +++ b/scons/crossmingw.py @@ -42,7 +42,7 @@ import SCons.Tool import SCons.Util # This is what we search for to find mingw: -prefixes = SCons.Util.Split(""" +prefixes32 = SCons.Util.Split(""" mingw32- mingw32msvc- i386-mingw32- @@ -54,9 +54,20 @@ prefixes = SCons.Util.Split(""" i586-mingw32msvc- i686-mingw32msvc- i686-pc-mingw32- + i686-w64-mingw32- +""") +prefixes64 = SCons.Util.Split(""" + x86_64-w64-mingw32- + amd64-mingw32- + amd64-mingw32msvc- + amd64-pc-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'): @@ -117,6 +128,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) @@ -174,14 +187,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(CPPDEFINES = [('__MSVCRT_VERSION__', '0x0700')]) - #env.AppendUnique(LIBS = ['iberty']) - env.AppendUnique(SHLINKFLAGS = ['-Wl,--enable-stdcall-fixup']) - #env.AppendUnique(SHLINKFLAGS = ['-Wl,--kill-at']) - def exists(env): return find(env)