OSDN Git Service

i965: Delete some dead state atom prototypes.
[android-x86/external-mesa.git] / scons / crossmingw.py
index cf4887b..1287e0e 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,21 @@ prefixes = SCons.Util.Split("""
     i486-mingw32msvc-
     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'):
@@ -108,7 +120,7 @@ def shlib_emitter(target, source, env):
     return (target, source)
                          
 
-shlib_action = SCons.Action.Action(shlib_generator, generator=1)
+shlib_action = SCons.Action.Action(shlib_generator, '$SHLINKCOMSTR', generator=1)
 
 res_action = SCons.Action.Action('$RCCOM', '$RCCOMSTR')
 
@@ -116,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)
 
@@ -162,21 +176,16 @@ def generate(env):
     # Some setting from the platform also have to be overridden:
     env['OBJPREFIX']      = ''
     env['OBJSUFFIX']      = '.o'
-    env['LIBPREFIX']      = 'lib'
-    env['LIBSUFFIX']      = '.a'
     env['SHOBJPREFIX']    = '$OBJPREFIX'
     env['SHOBJSUFFIX']    = '$OBJSUFFIX'
     env['PROGPREFIX']     = ''
     env['PROGSUFFIX']     = '.exe'
-    env['LIBPREFIX']      = ''
-    env['LIBSUFFIX']      = '.lib'
+    env['LIBPREFIX']      = 'lib'
+    env['LIBSUFFIX']      = '.a'
     env['SHLIBPREFIX']    = ''
     env['SHLIBSUFFIX']    = '.dll'
-    env['LIBPREFIXES']    = [ '$LIBPREFIX' ]
-    env['LIBSUFFIXES']    = [ '$LIBSUFFIX' ]
-
-    env.AppendUnique(LIBS = ['iberty'])
-    env.AppendUnique(LINKFLAGS = ['-Wl,--enable-stdcall-fixup'])
+    env['LIBPREFIXES']    = [ 'lib', '' ]
+    env['LIBSUFFIXES']    = [ '.a', '.lib' ]
 
 def exists(env):
     return find(env)