Merge remote branch 'origin/nv50-compiler'
[mesa.git] / scons / crossmingw.py
index 9cb0b89e3c7849539e05f48f010d0ae797c6b36d..8adc8f5c970be3693f017ba501c6e370d46e69b2 100644 (file)
@@ -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-
@@ -53,9 +53,19 @@ prefixes = SCons.Util.Split("""
     i486-mingw32msvc-
     i586-mingw32msvc-
     i686-mingw32msvc-
+    i686-pc-mingw32-
+""")
+prefixes64 = SCons.Util.Split("""
+    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'):
@@ -175,8 +185,9 @@ def generate(env):
 
     # 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(CCFLAGS = ['-gstabs'])
 
+    env.AppendUnique(CPPDEFINES = [('__MSVCRT_VERSION__', '0x0700')])
     #env.AppendUnique(LIBS = ['iberty'])
     env.AppendUnique(SHLINKFLAGS = ['-Wl,--enable-stdcall-fixup'])
     #env.AppendUnique(SHLINKFLAGS = ['-Wl,--kill-at'])