egl: drop unused _EGLDriver from WaitClient()
[mesa.git] / scons / crossmingw.py
index 9cb0b89e3c7849539e05f48f010d0ae797c6b36d..b2efccea7e81e8a28722eea94c4e76844c406aa2 100644 (file)
@@ -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'):
@@ -84,7 +83,7 @@ def shlib_emitter(target, source, env):
     no_import_lib = env.get('no_import_lib', 0)
 
     if not dll:
-        raise SCons.Errors.UserError, "A shared library should have exactly one target with the suffix: %s" % env.subst("$SHLIBSUFFIX")
+        raise SCons.Errors.UserError("A shared library should have exactly one target with the suffix: %s" % env.subst("$SHLIBSUFFIX"))
     
     if not no_import_lib and \
        not env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX'):
@@ -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)
 
@@ -127,9 +128,9 @@ def generate(env):
         if not path: 
             path = []
         if SCons.Util.is_String(path):
-            path = string.split(path, os.pathsep)
+            path = str.split(path, os.pathsep)
 
-        env['ENV']['PATH'] = string.join([dir] + path, os.pathsep)
+        env['ENV']['PATH'] = str.join(os.pathsep, [dir] + path)
 
     # Most of mingw is the same as gcc and friends...
     gnu_tools = ['gcc', 'g++', 'gnulink', 'ar', 'gas']
@@ -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)