summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2018-01-05 14:57:54 (GMT)
committerTobias Markmann <tm@ayena.de>2018-01-29 14:15:19 (GMT)
commit1f70a58280db165c0df80c81b41986f1d67c0a95 (patch)
tree821e5b6d5e95ac0708d2dc78cc3c96824e875ec5
parentc5ff3704a693292c578a5b07d1604e522d70c6a7 (diff)
downloadswift-1f70a58280db165c0df80c81b41986f1d67c0a95.zip
swift-1f70a58280db165c0df80c81b41986f1d67c0a95.tar.bz2
Mark OpenSSL headers as system includes
This avoids warnings in code out of our control. Test-Information: Less warnings are emitted on macOS 10.13.2 with clang trunk. Change-Id: Ie5f28743000e5a7865fea9677e4429ab0543e378
-rw-r--r--3rdParty/OpenSSL/SConscript7
1 files changed, 6 insertions, 1 deletions
diff --git a/3rdParty/OpenSSL/SConscript b/3rdParty/OpenSSL/SConscript
index c95ea05..6e114e4 100644
--- a/3rdParty/OpenSSL/SConscript
+++ b/3rdParty/OpenSSL/SConscript
@@ -1,38 +1,43 @@
Import("env", "conf_env")
openssl_bundle_dir = "openssl"
+if env["PLATFORM"] == "win32" :
+ systemIncludeFlag = "/I"
+else:
+ systemIncludeFlag = "-isystem"
+
if env.get("OPENSSL_BUNDLED", False) :
if env["SCONS_STAGE"] == "flags" :
env["OPENSSL_FLAGS"] = {
- "CPPPATH": [Dir(openssl_bundle_dir + "/include")],
+ "CCFLAGS": [systemIncludeFlag + Dir(openssl_bundle_dir + "/include").abspath],
"LIBPATH": [Dir(".")],
"LIBS": ["ssl", "crypto"]
}
if env["SCONS_STAGE"] == "build" :
openssl_env = env.Clone()
openssl_env["OPENSSL_BUNDLE_DIR"] = openssl_bundle_dir
openssl_env.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
openssl_env.Append(CPPPATH = [
"$OPENSSL_BUNDLE_DIR",
"$OPENSSL_BUNDLE_DIR/crypto",
"$OPENSSL_BUNDLE_DIR/crypto/asn1",
"$OPENSSL_BUNDLE_DIR/crypto/evp",
"$OPENSSL_BUNDLE_DIR/crypto/modes",
"$OPENSSL_BUNDLE_DIR/include"
])
if env["PLATFORM"] == "win32" :
openssl_env.Append(CPPDEFINES = ["OPENSSL_THREADS", "_REENTRANT", "L_ENDIAN", "OPENSSL_SYSNAME_WIN32", "WIN32_LEAN_AND_MEAN"])
else :
openssl_env.Append(CPPDEFINES = ["OPENSSL_THREADS", "_REENTRANT", "DSO_DLFCN", "HAVE_DLFCN_H", "L_ENDIAN"])
# Detect 32/64 bit
conf = Configure(conf_env)
if conf.CheckDeclaration("__LP64__") :
openssl_env.Append(CPPDEFINES = [("DES_LONG", "unsigned int"), ("MD32_REG_T", "int")])
else :
openssl_env.Append(CPPDEFINES = [("DES_LONG", "unsigned long")])
conf.Finish()
# case-sensitive sorted list of OpenSSL objects for openssl-1.0.1j