diff options
author | Marcelo Fernandez <marcelofg55@gmail.com> | 2017-09-12 12:00:14 -0300 |
---|---|---|
committer | Marcelo Fernandez <marcelofg55@gmail.com> | 2017-09-12 12:00:14 -0300 |
commit | 8f133e2c4d27b877f83d5e14821220989c605750 (patch) | |
tree | 31521b9bcec6ddd99f99a1e8d02cabc17752c4b1 | |
parent | d1cb73b47a17de830d9474026ffa7b3587cfbc68 (diff) |
Added check_c_headers to SCons env to check for the existence of headers
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | SConstruct | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index 0cccfa97a7..315dc7950f 100644 --- a/.gitignore +++ b/.gitignore @@ -55,6 +55,7 @@ gmon.out .DS_Store # for projects that use SCons for building: http://http://www.scons.org/ +.sconf_temp .sconsign.dblite *.pyc diff --git a/SConstruct b/SConstruct index 9a3ee03ed5..60692474c7 100644 --- a/SConstruct +++ b/SConstruct @@ -289,7 +289,9 @@ if selected_platform in platform_list: if (env["warnings"] == 'yes'): print("WARNING: warnings=yes is deprecated; assuming warnings=all") + env.msvc = 0 if (os.name == "nt" and os.getenv("VCINSTALLDIR") and (platform_arg == "windows" or platform_arg == "uwp")): # MSVC, needs to stand out of course + env.msvc = 1 disable_nonessential_warnings = ['/wd4267', '/wd4244', '/wd4305', '/wd4800'] # Truncations, narrowing conversions... if (env["warnings"] == 'extra'): env.Append(CCFLAGS=['/Wall']) # Implies /W4 @@ -412,6 +414,16 @@ if selected_platform in platform_list: if (env['vsproj']) == "yes": methods.generate_vs_project(env, GetOption("num_jobs")) + # Check for the existence of headers + conf = Configure(env) + if ("check_c_headers" in env): + for header in env["check_c_headers"]: + if (conf.CheckCHeader(header[0])): + if (env.msvc): + env.Append(CCFLAGS=['/D' + header[1]]) + else: + env.Append(CCFLAGS=['-D' + header[1]]) + else: print("No valid target platform selected.") |