summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--3rdParty/LibIDN/SConscript92
-rw-r--r--BuildTools/SCons/SConstruct7
2 files changed, 54 insertions, 45 deletions
diff --git a/3rdParty/LibIDN/SConscript b/3rdParty/LibIDN/SConscript
index 138db74..eafb2b1 100644
--- a/3rdParty/LibIDN/SConscript
+++ b/3rdParty/LibIDN/SConscript
@@ -1,56 +1,58 @@
Import(["env", "conf_env"])
+if env.get("LIBIDN_BUNDLED", False) :
+
################################################################################
# Module flags
################################################################################
-if env["SCONS_STAGE"] == "flags" :
- env["LIBIDN_FLAGS"] = {
- "CPPDEFINES": ["IDNA_STATIC"],
- "CPPPATH": [Dir("src")],
- "LIBPATH": [Dir(".")],
- "LIBS": ["IDN"],
- }
- if env["PLATFORM"] == "win32" :
- env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
+ if env["SCONS_STAGE"] == "flags" :
+ env["LIBIDN_FLAGS"] = {
+ "CPPDEFINES": ["IDNA_STATIC"],
+ "CPPPATH": [Dir("src")],
+ "LIBPATH": [Dir(".")],
+ "LIBS": ["IDN"],
+ }
+ if env["PLATFORM"] == "win32" :
+ env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
################################################################################
# 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")
-
- myenv.StaticLibrary("IDN", [
- "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 = "IDNA_STATIC")
+ myenv.Append(CPPPATH = ["src", "stubs"])
+ if myenv["PLATFORM"] == "win32" :
+ myenv.Append(CPPPATH = "stubs/win32")
+
+ myenv.StaticLibrary("IDN", [
+ "src/stringprep.c",
+ "src/profiles.c",
+ "src/rfc3454.c",
+ "src/punycode.c",
+ "src/idna.c",
+ "src/toutf8.c",
+ "src/nfkc.c"
+ ])
diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct
index ee42e57..0cfa211 100644
--- a/BuildTools/SCons/SConstruct
+++ b/BuildTools/SCons/SConstruct
@@ -250,6 +250,13 @@ if conf.CheckCHeader("expat.h") and conf.CheckLib("expat") :
env["HAVE_EXPAT"] = 1
env["EXPAT_FLAGS"] = { "LIBS": ["expat"] }
+# LibIDN
+if conf.CheckCHeader("idna.h") and conf.CheckLib("idn") :
+ env["LIBIDN_FLAGS"] = { "LIBS": ["idn"] }
+else :
+ env["LIBIDN_BUNDLED"] = 1
+
+
conf.Finish()
# Xss