diff options
Diffstat (limited to '3rdParty/LibIDN/SConscript')
-rw-r--r-- | 3rdParty/LibIDN/SConscript | 108 |
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" + ]) |