Added check_c_headers to SCons env to check for the existence of headers

This commit is contained in:
Marcelo Fernandez 2017-09-12 12:00:14 -03:00
parent d1cb73b47a
commit 8f133e2c4d
2 changed files with 13 additions and 0 deletions

1
.gitignore vendored
View file

@ -55,6 +55,7 @@ gmon.out
.DS_Store .DS_Store
# for projects that use SCons for building: http://http://www.scons.org/ # for projects that use SCons for building: http://http://www.scons.org/
.sconf_temp
.sconsign.dblite .sconsign.dblite
*.pyc *.pyc

View file

@ -289,7 +289,9 @@ if selected_platform in platform_list:
if (env["warnings"] == 'yes'): if (env["warnings"] == 'yes'):
print("WARNING: warnings=yes is deprecated; assuming warnings=all") 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 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... disable_nonessential_warnings = ['/wd4267', '/wd4244', '/wd4305', '/wd4800'] # Truncations, narrowing conversions...
if (env["warnings"] == 'extra'): if (env["warnings"] == 'extra'):
env.Append(CCFLAGS=['/Wall']) # Implies /W4 env.Append(CCFLAGS=['/Wall']) # Implies /W4
@ -412,6 +414,16 @@ if selected_platform in platform_list:
if (env['vsproj']) == "yes": if (env['vsproj']) == "yes":
methods.generate_vs_project(env, GetOption("num_jobs")) 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: else:
print("No valid target platform selected.") print("No valid target platform selected.")