X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=scons%2Fdxsdk.py;h=9657f58f4d24d0cb4a962eee982314c7378316fb;hb=83762afa664bd491aa7e3009a598ffa10e52b386;hp=de090e4f991aa5356980e88619d12b1d7d9f8d9a;hpb=2fe65e8f149e961afb8ccd9b1e57c5c7e96ecfd6;p=mesa.git diff --git a/scons/dxsdk.py b/scons/dxsdk.py index de090e4f991..9657f58f4d2 100644 --- a/scons/dxsdk.py +++ b/scons/dxsdk.py @@ -51,12 +51,21 @@ def generate(env): elif env['machine'] == 'x86_64': target_cpu = 'x64' else: - raise SCons.Errors.InternalError, "Unsupported target machine" - include_dir = 'Include' + raise SCons.Errors.InternalError("Unsupported target machine") + + 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