diff options
Diffstat (limited to 'BuildTools/SCons')
-rw-r--r-- | BuildTools/SCons/SConscript.boot | 1 | ||||
-rw-r--r-- | BuildTools/SCons/SConstruct | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot index 51be9ab..0a4eb33 100644 --- a/BuildTools/SCons/SConscript.boot +++ b/BuildTools/SCons/SConscript.boot @@ -66,6 +66,7 @@ vars.Add(BoolVariable("try_libidn", "Try configuring for LibIDN?", "true")) vars.Add(PathVariable("libidn_includedir", "LibIDN headers location", None, PathVariable.PathAccept)) vars.Add(PathVariable("libidn_libdir", "LibIDN library location", None, PathVariable.PathAccept)) vars.Add("libidn_libname", "LibIDN library name", os.name == "nt" and "libidn" or "idn") +vars.Add(BoolVariable("need_idn", "Whether an IDN library is required. Without this, most internal binaries will fail", "true")) vars.Add(PathVariable("libminiupnpc_includedir", "LibMiniUPNPC headers location", None, PathVariable.PathAccept)) vars.Add(PathVariable("libminiupnpc_libdir", "LibMiniUPNPC library location", None, PathVariable.PathAccept)) vars.Add("libminiupnpc_libname", "LibMiniUPNPC library name", "libminiupnpc" if os.name == "nt" else "miniupnpc") diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct index 7bda9c1..5db30f8 100644 --- a/BuildTools/SCons/SConstruct +++ b/BuildTools/SCons/SConstruct @@ -328,6 +328,8 @@ if not env.get("HAVE_EXPAT", 0) and not env.get("HAVE_LIBXML", 0) : # IDN library ################################################################################ +env["NEED_IDN"] = env.get("need_idn", True) + # ICU icu_env = conf_env.Clone() use_icu = bool(env["icu"]) @@ -367,9 +369,11 @@ if not env.get("HAVE_ICU", False) and not env.get("HAVE_LIBIDN", False) : if env.get("libidn_bundled_enable", True) : env["HAVE_LIBIDN"] = 1 env["LIBIDN_BUNDLED"] = 1 - else : + elif env.get("need_idn", True): print "Error: ICU and LIBIDN not found, and libidn_bundled_enable is false" Exit(1) + else: + print "Proceeding without an IDN library because need_idn was false. This will break all internal binaries" # Unbound if env["unbound"] : |