summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'BuildTools/SCons/SConscript.boot')
-rw-r--r--BuildTools/SCons/SConscript.boot7
1 files changed, 7 insertions, 0 deletions
diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot
index 7efa8c9..031c556 100644
--- a/BuildTools/SCons/SConscript.boot
+++ b/BuildTools/SCons/SConscript.boot
@@ -176,60 +176,67 @@ if env["max_jobs"] :
pass
except ImportError :
pass
# Set speed options
env.Decider("MD5-timestamp")
env.SetOption("max_drift", 1)
env.SetOption("implicit_cache", True)
# Set the default compiler to CLang on OS X, and set the necessary flags
if env["PLATFORM"] == "darwin" and env["target"] == "native" :
if "cc" not in env :
env["CC"] = "clang"
if platform.machine() == "x86_64" :
env["CCFLAGS"] = ["-arch", "x86_64"]
if "cxx" not in env :
env["CXX"] = "clang++"
if "link" not in env :
# Use clang++ instead of clang, otherwise XCode's clang will cause linking errors due to missing C++ standard lib.
env["LINK"] = "clang++"
if platform.machine() == "x86_64" :
env.Append(LINKFLAGS = ["-arch", "x86_64"])
# Set QT_SELECT variable to enable building on systems that have Qt4 and Qt5 installed and use qtselect
if env["PLATFORM"] != "darwin" and env["PLATFORM"] != "win32" :
if env["qt5"] :
env["ENV"]["QT_SELECT"] = "qt5"
else:
env["ENV"]["QT_SELECT"] = "qt4"
+# Set QT_SELECT variable to enable building on systems that have Qt4 and Qt5 installed and use qtselect
+if env["PLATFORM"] != "darwin" and env["PLATFORM"] != "win32" :
+ if env["qt5"] :
+ env["ENV"]["QT_SELECT"] = "qt5"
+ else:
+ env["ENV"]["QT_SELECT"] = "qt4"
+
# Check whether we are running inside scan-build, and override compiler if so
if "CCC_ANALYZER_HTML" in os.environ :
for key, value in os.environ.items() :
if key.startswith("CCC_") or key.startswith("CLANG") :
env["ENV"][key] = value
env["CC"] = os.environ["CC"]
env["CXX"] = os.environ["CXX"]
# Override the compiler with custom variables set at config time
if "cc" in env :
env["CC"] = env["cc"]
if "cxx" in env :
env["CXX"] = env["cxx"]
if "ar" in env :
env["AR"] = env["ar"]
if "link" in env :
env["SHLINK"] = env["link"]
env["LINK"] = env["link"]
# Process user-defined external flags
for flags_type in ["ccflags", "cxxflags", "linkflags"] :
if flags_type in env :
if isinstance(env[flags_type], str) :
# FIXME: Make the splitting more robust
env[flags_type.upper()] = env[flags_type].split(" ")
else :
env[flags_type.upper()] = env[flags_type]
# This isn't a real flag (yet) AFAIK. Be sure to append it to the CXXFLAGS
# where you need it