diff options
Diffstat (limited to '3rdParty/LibIDN/SConscript')
-rw-r--r-- | 3rdParty/LibIDN/SConscript | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/3rdParty/LibIDN/SConscript b/3rdParty/LibIDN/SConscript new file mode 100644 index 0000000..fad1eba --- /dev/null +++ b/3rdParty/LibIDN/SConscript @@ -0,0 +1,55 @@ +Import(["env", "conf_env"]) + +################################################################################ +# Module flags +################################################################################ + +if env["SCONS_STAGE"] == "flags" : + env["LIBIDN_FLAGS"] = { + "CPPDEFINES": ["IDNA_STATIC"], + "CPPPATH": [Dir("src")], + "LIBPATH": [Dir(".")], + "LIBS": ["IDN"], + } + +################################################################################ +# 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") + env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("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" + ]) |