diff options
-rw-r--r-- | 3rdParty/LibIDN/SConscript | 92 | ||||
-rw-r--r-- | BuildTools/SCons/SConstruct | 7 |
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 |