Mesa (gallium-0.1): scons: Allow to use MS's DXSDK headers with MinGW.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Tue Sep 1 09:57:11 UTC 2009


Module: Mesa
Branch: gallium-0.1
Commit: 9a418e090a3da1d8ced7652adb8158ac97b399bb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a418e090a3da1d8ced7652adb8158ac97b399bb

Author: José Fonseca <jfonseca at vmware.com>
Date:   Tue Sep  1 10:11:08 2009 +0100

scons: Allow to use MS's DXSDK headers with MinGW.

---

 scons/dxsdk.py |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/scons/dxsdk.py b/scons/dxsdk.py
index de090e4..920cc2f 100644
--- a/scons/dxsdk.py
+++ b/scons/dxsdk.py
@@ -52,11 +52,20 @@ def generate(env):
         target_cpu = 'x64'
     else:
         raise SCons.Errors.InternalError, "Unsupported target machine"
-    include_dir = 'Include'
+
+    include_dir = os.path.join(dxsdk_root, 'Include')
+    lib_dir = os.path.join(dxsdk_root, 'Lib', target_cpu)
 
     env.Append(CPPDEFINES = [('HAVE_DXSDK', '1')])
-    env.Prepend(CPPPATH = [os.path.join(dxsdk_root, 'Include')])
-    env.Prepend(LIBPATH = [os.path.join(dxsdk_root, 'Lib', target_cpu)])
+
+    gcc = 'gcc' in os.path.basename(env['CC']).split('-')
+    if gcc:
+        # Make GCC more forgiving towards Microsoft's headers
+        env.Prepend(CPPFLAGS = ['-isystem', include_dir])
+    else:
+        env.Prepend(CPPPATH = [include_dir])
+
+    env.Prepend(LIBPATH = [lib_dir])
 
 def exists(env):
     return get_dxsdk_root(env) is not None




More information about the mesa-commit mailing list