From 8a71b91be885652f37c5aab5e1ecf25af4599fbc Mon Sep 17 00:00:00 2001 From: Tobias Markmann Date: Mon, 7 Nov 2016 11:35:25 +0100 Subject: Add scons options forcing for bundled Boost, libminiupnpc, libnatpmp Test-Information: Build Swiften on Debian 8.6 with all installed dependencies with and without passing these new options to scons. Either case built fine. Change-Id: I4867c0479a0d44b15e12918c5075e9039945ed95 diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot index d6527f3..7efa8c9 100644 --- a/BuildTools/SCons/SConscript.boot +++ b/BuildTools/SCons/SConscript.boot @@ -52,6 +52,7 @@ vars.Add(BoolVariable("hunspell_enable", "Build with Hunspell support", True)) vars.Add(PathVariable("boost_includedir", "Boost headers location", None, PathVariable.PathAccept)) vars.Add(PathVariable("boost_libdir", "Boost library location", None, PathVariable.PathAccept)) vars.Add(BoolVariable("boost_bundled_enable", "Allow use of bundled Boost as last resort", "true")) +vars.Add(BoolVariable("boost_force_bundled", "Force use of bundled Boost.", False)) vars.Add(PathVariable("zlib_includedir", "Zlib headers location", None, PathVariable.PathAccept)) vars.Add(PathVariable("zlib_libdir", "Zlib library location", None, PathVariable.PathAccept)) vars.Add(PathVariable("zlib_libfile", "Zlib library file (full path to file)", None, PathVariable.PathAccept)) @@ -69,12 +70,17 @@ vars.Add(PathVariable("libidn_includedir", "LibIDN headers location", None, Path 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", os.name == "nt" and "libminiupnpc" or "miniupnpc") +vars.Add(BoolVariable("libminiupnpc_force_bundled", "Force use of bundled LibMiniUPNPC", False)) + vars.Add(PathVariable("libnatpmp_includedir", "LibNATPMP headers location", None, PathVariable.PathAccept)) vars.Add(PathVariable("libnatpmp_libdir", "LibNATPMP library location", None, PathVariable.PathAccept)) vars.Add("libnatpmp_libname", "LibNATPMP library name", os.name == "nt" and "libnatpmp" or "natpmp") +vars.Add(BoolVariable("libnatpmp_force_bundled", "Force use of bundled LibNATPMP", False)) + vars.Add(PathVariable("sqlite_includedir", "SQLite headers location", None, PathVariable.PathAccept)) vars.Add(PathVariable("sqlite_libdir", "SQLite library location", None, PathVariable.PathAccept)) vars.Add("sqlite_libname", "SQLite library name", os.name == "nt" and "libsqlite3" or "sqlite3") diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct index 2da3787..c084cff 100644 --- a/BuildTools/SCons/SConstruct +++ b/BuildTools/SCons/SConstruct @@ -230,7 +230,7 @@ for (lib, header) in boostLibs : allLibsPresent = False break libNames.append(libName) -if allLibsPresent : +if not env.get("boost_force_bundled") and allLibsPresent : env["BOOST_FLAGS"] = boost_flags if env["PLATFORM"] != "win32" : env["BOOST_FLAGS"].update({"LIBS": libNames}) @@ -437,7 +437,7 @@ if env["experimental_ft"] : libminiupnpc_flags["CPPPATH"] = [env["libminiupnpc_includedir"]] libminiupnpc_conf_env.MergeFlags(libminiupnpc_flags) conf = Configure(libminiupnpc_conf_env) - if conf.CheckCHeader("miniupnpc.h") and conf.CheckLib(env["libminiupnpc_libname"]) : + if not env.get("libminiupnpc_force_bundled") and conf.CheckCHeader("miniupnpc.h") and conf.CheckLib(env["libminiupnpc_libname"]) : env["HAVE_LIBMINIUPNPC"] = 1 env["LIBMINIUPNPC_FLAGS"] = { "LIBS": ["miniupnpc"] } env["LIBMINIUPNPC_FLAGS"].update(libminiupnpc_flags) @@ -457,7 +457,7 @@ if env["experimental_ft"] : libnatpmp_flags["CPPPATH"] = [env["libnatpmp_includedir"]] libnatpmp_conf_env.MergeFlags(libnatpmp_flags) conf = Configure(libnatpmp_conf_env) - if conf.CheckCHeader("natpmp.h") and conf.CheckLib(env["libnatpmp_libname"]) : + if not env.get("libnatpmp_force_bundled") and conf.CheckCHeader("natpmp.h") and conf.CheckLib(env["libnatpmp_libname"]) : env["HAVE_LIBNATPMP"] = 1 env["LIBNATPMP_FLAGS"] = { "LIBS": ["natpmp"] } env["LIBNATPMP_FLAGS"].update(libnatpmp_flags) -- cgit v0.10.2-6-g49f6