From d3f5a2e5ab413ec0dab1efa8135705e5312d361d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Tue, 1 Sep 2009 10:17:39 +0100 Subject: [PATCH] scons: Allow to use only the WINDDK headers. --- scons/winddk.py | 45 ++++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/scons/winddk.py b/scons/winddk.py index afcea99..4dac16e 100644 --- a/scons/winddk.py +++ b/scons/winddk.py @@ -85,8 +85,6 @@ def get_winddk_paths(env, version, root): else: # TODO: take in consideration the host cpu bin_dir = os.path.join(root, 'bin', 'win64', 'x86', cpu_bin(target_cpu)) - - env.PrependENVPath('PATH', [bin_dir]) crt_inc_dir = os.path.join(root, 'inc', 'crt') if version_major >= 6000: @@ -98,17 +96,33 @@ def get_winddk_paths(env, version, root): sdk_inc_dir = os.path.join(root, 'inc', target_os) wdm_inc_dir = os.path.join(root, 'inc', 'ddk', 'wdm', target_os) - env.PrependENVPath('INCLUDE', [ - wdm_inc_dir, - ddk_inc_dir, - crt_inc_dir, - sdk_inc_dir, - ]) + if env['toolchain'] == 'winddk': + env.PrependENVPath('PATH', [bin_dir]) + env.PrependENVPath('INCLUDE', [ + wdm_inc_dir, + ddk_inc_dir, + crt_inc_dir, + sdk_inc_dir, + ]) + env.PrependENVPath('LIB', [ + os.path.join(root, 'lib', 'crt', target_cpu), + os.path.join(root, 'lib', target_os, target_cpu), + ]) + elif env['toolchain'] == 'crossmingw': + env.Prepend(CPPFLAGS = [ + '-isystem', ddk_inc_dir, + '-isystem', sdk_inc_dir, + ]) + else: + env.Prepend(CPPPATH = [ + wdm_inc_dir, + ddk_inc_dir, + sdk_inc_dir, + ]) + env.Prepend(LIBPATH = [ + os.path.join(root, 'lib', target_os, target_cpu), + ]) - env.PrependENVPath('LIB', [ - os.path.join(root, 'lib', 'crt', target_cpu), - os.path.join(root, 'lib', target_os, target_cpu), - ]) def generate(env): if not env.has_key('ENV'): @@ -120,9 +134,10 @@ def generate(env): get_winddk_paths(env, version, root) break - msvc_sa.generate(env) - mslib_sa.generate(env) - mslink_sa.generate(env) + if env['toolchain'] == 'winddk': + msvc_sa.generate(env) + mslib_sa.generate(env) + mslink_sa.generate(env) def exists(env): for version in versions: -- 2.7.4