diff options
-rw-r--r-- | BuildTools/SCons/SConstruct | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct index 85a8205..8690eca 100644 --- a/BuildTools/SCons/SConstruct +++ b/BuildTools/SCons/SConstruct @@ -34,6 +34,8 @@ if os.name == "nt" : if os.name == "nt" : vars.Add(PackageVariable("bonjour", "Bonjour SDK location", "yes")) vars.Add(PackageVariable("openssl", "OpenSSL location", "yes")) +vars.Add(PathVariable("boost_includedir", "Boost headers location", None, PathVariable.PathAccept)) +vars.Add(PathVariable("boost_libdir", "Boost library location", None, PathVariable.PathAccept)) vars.Add(PathVariable("expat_includedir", "Expat headers location", None, PathVariable.PathAccept)) vars.Add(PathVariable("expat_libdir", "Expat library location", None, PathVariable.PathAccept)) vars.Add("expat_libname", "Expat library name", "libexpat" if os.name == "nt" else "expat") @@ -316,7 +318,23 @@ if conf.CheckCHeader("idna.h") and conf.CheckLib("idn") : else : env["LIBIDN_BUNDLED"] = 1 +# Avahi +if env["PLATFORM"] != "darwin" : + if conf.CheckCHeader("avahi-client/client.h") and conf.CheckLib("avahi-client") and conf.CheckLib("avahi-common") : + env["HAVE_AVAHI"] = True + env["AVAHI_FLAGS"] = { "LIBS": ["avahi-client", "avahi-common"] } + +conf.Finish() + # Boost +boost_conf_env = conf_env.Clone() +boost_flags = {} +if env.get("boost_libdir", None) : + boost_flags["LIBPATH"] = [env["boost_libdir"]] +if env.get("boost_includedir", None) : + boost_flags["CPPPATH"] = [env["boost_includedir"]] +boost_conf_env.MergeFlags(boost_flags) +conf = Configure(boost_conf_env) boostLibs = [("signals", None), ("thread", None), ("regex", None), ("program_options", None), ("filesystem", None), ("system", "system/system_error.hpp"), ("date_time", "date_time/date.hpp")] allLibsPresent = True libNames = [] @@ -328,29 +346,26 @@ for (lib, header) in boostLibs : if not conf.CheckCXXHeader(header) : allLibsPresent = False break - libName = "boost_" + lib - if not conf.CheckLib(libName) : - libName += "-mt" + if env["PLATFORM"] != "win32" : + libName = "boost_" + lib if not conf.CheckLib(libName) : - allLibsPresent = False - break - libNames.append(libName) + libName += "-mt" + if not conf.CheckLib(libName) : + allLibsPresent = False + break + libNames.append(libName) if allLibsPresent : - env["BOOST_FLAGS"] = { "LIBS": libNames } + env["BOOST_FLAGS"] = boost_flags + if env["PLATFORM"] != "win32" : + env["BOOST_FLAGS"].update({"LIBS": libNames}) if not conf.CheckCXXHeader("boost/uuid/uuid.hpp") : # FIXME: Remove this workaround when UUID is available in most distros env["BOOST_BUNDLED_UUID_ONLY"] = True else : env["BOOST_BUNDLED"] = True - -# Avahi -if env["PLATFORM"] != "darwin" : - if conf.CheckCHeader("avahi-client/client.h") and conf.CheckLib("avahi-client") and conf.CheckLib("avahi-common") : - env["HAVE_AVAHI"] = True - env["AVAHI_FLAGS"] = { "LIBS": ["avahi-client", "avahi-common"] } - conf.Finish() + # Xss env["HAVE_XSS"] = 0 if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" : |