summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/LibIDN/SConscript')
-rw-r--r--3rdParty/LibIDN/SConscript108
1 files changed, 61 insertions, 47 deletions
diff --git a/3rdParty/LibIDN/SConscript b/3rdParty/LibIDN/SConscript
index 92d6836..c99aff8 100644
--- a/3rdParty/LibIDN/SConscript
+++ b/3rdParty/LibIDN/SConscript
@@ -1,60 +1,74 @@
Import(["env", "conf_env"])
+import os
+
if env.get("LIBIDN_BUNDLED", False) :
################################################################################
# Module flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["LIBIDN_FLAGS"] = {
- "CPPDEFINES": ["IDNA_STATIC"],
- "CPPPATH": [Dir("src")],
- }
- if env["PLATFORM"] == "win32" :
- env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
- if env["MSVC_VERSION"][:3] == "9.0" :
- env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
+ if env["SCONS_STAGE"] == "flags" :
+ env["LIBIDN_FLAGS"] = {
+ "CPPDEFINES": ["LIBIDN_STATIC"],
+ }
+ if os.path.basename(env["CC"]) in ("clang", "gcc") :
+ env["LIBIDN_FLAGS"].update({"CPPFLAGS": ["-isystem" "3rdParty/LibIDN/src"]})
+ else :
+ env["LIBIDN_FLAGS"].update({"CPPPATH": [Dir("src")]})
+
+ if env["PLATFORM"] == "win32" :
+ env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
+ if float(env["MSVC_VERSION"]) < 14:
+ env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/stdbool")]
+ if env["MSVC_VERSION"][:3] == "9.0" :
+ env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
-
- # Remove warn flags
- myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
-
- # Check for strcasecmp() or replacement
- conf = Configure(conf_env)
- if not conf.CheckFunc('strcasecmp') :
- if conf.CheckFunc("stricmp") :
- myenv.Append(CPPDEFINES = [("strcasecmp", "stricmp")])
- else :
- print "Error: Cannot find strcasecmp() or stricmp()"
- Exit(1)
- if not conf.CheckFunc('strncasecmp') :
- if conf.CheckFunc("strnicmp") :
- myenv.Append(CPPDEFINES = [("strncasecmp", "strnicmp")])
- else :
- print "Error: Cannot find strncasecmp() or strnicmp()"
- Exit(1)
- conf.Finish()
-
- myenv.Append(CPPDEFINES = "IDNA_STATIC")
- myenv.Append(CPPPATH = ["src", "stubs"])
- if myenv["PLATFORM"] == "win32" :
- myenv.Append(CPPPATH = "stubs/win32")
- if myenv["MSVC_VERSION"][:3] == "9.0" :
- myenv.Append(CPPPATH = "stubs/win32/VC2008")
-
- env["LIBIDN_OBJECTS"] = myenv.SwiftenObject([
- "src/stringprep.c",
- "src/profiles.c",
- "src/rfc3454.c",
- "src/punycode.c",
- "src/idna.c",
- "src/toutf8.c",
- "src/nfkc.c"
- ])
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+
+ # Remove warn flags
+ myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
+
+ # Check for strcasecmp() or replacement
+ conf = Configure(conf_env)
+ if not conf.CheckFunc('strcasecmp') :
+ if conf.CheckFunc("stricmp") :
+ myenv.Append(CPPDEFINES = [("strcasecmp", "stricmp")])
+ else :
+ print("Error: Cannot find strcasecmp() or stricmp()")
+ Exit(1)
+ if not conf.CheckFunc('strncasecmp') :
+ if conf.CheckFunc("strnicmp") :
+ myenv.Append(CPPDEFINES = [("strncasecmp", "strnicmp")])
+ else :
+ print("Error: Cannot find strncasecmp() or strnicmp()")
+ Exit(1)
+ conf.Finish()
+
+ myenv.Append(CPPDEFINES = ["LIBIDN_STATIC", "HAVE_CONFIG_H"])
+ myenv.Append(CPPPATH = ["src", "stubs", "src/gl"])
+ if myenv["PLATFORM"] == "win32" :
+ myenv.Append(CPPPATH = "stubs/win32")
+ if float(env["MSVC_VERSION"]) < 14:
+ myenv.Append(CPPPATH = "stubs/win32/stdbool")
+ if myenv["MSVC_VERSION"][:3] == "9.0" :
+ myenv.Append(CPPPATH = "stubs/win32/VC2008")
+
+ env["LIBIDN_OBJECTS"] = myenv.SwiftenObject([
+ "src/stringprep.c",
+ "src/profiles.c",
+ "src/rfc3454.c",
+ "src/punycode.c",
+ "src/idna.c",
+ "src/toutf8.c",
+ "src/nfkc.c",
+ "src/gl/c-ctype.c",
+ "src/gl/c-strcasecmp.c",
+ "src/gl/c-strncasecmp.c",
+ "src/gl/unistr/u8-check.c"
+ ])