summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcelo Fernandez <marcelofg55@gmail.com>2017-09-12 12:00:14 -0300
committerMarcelo Fernandez <marcelofg55@gmail.com>2017-09-12 12:00:14 -0300
commit8f133e2c4d27b877f83d5e14821220989c605750 (patch)
tree31521b9bcec6ddd99f99a1e8d02cabc17752c4b1
parentd1cb73b47a17de830d9474026ffa7b3587cfbc68 (diff)
Added check_c_headers to SCons env to check for the existence of headers
-rw-r--r--.gitignore1
-rw-r--r--SConstruct12
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.")