diff options
author | Kevin Smith <git@kismith.co.uk> | 2013-03-30 09:14:43 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2013-03-30 11:46:04 (GMT) |
commit | 2d7a63e9323f03edd72668f582e894ab64ab4023 (patch) | |
tree | 97a52c423ef831e560e55628a07d9db9c8935f49 /BuildTools/SCons/SConstruct | |
parent | 497b647fe034a3d2cdc6d75ce0ff70e3df3aaf04 (diff) | |
download | swift-2d7a63e9323f03edd72668f582e894ab64ab4023.zip swift-2d7a63e9323f03edd72668f582e894ab64ab4023.tar.bz2 |
Making stuff build against non-bundled libraries
Change-Id: I2c00de607e204f7d2c474aa9d4c18cde86d575ec
Diffstat (limited to 'BuildTools/SCons/SConstruct')
-rw-r--r-- | BuildTools/SCons/SConstruct | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct index 698217f..1de598f 100644 --- a/BuildTools/SCons/SConstruct +++ b/BuildTools/SCons/SConstruct @@ -335,25 +335,45 @@ if not env.get("HAVE_ICU", False) and not env.get("HAVE_LIBIDN", False) : # LibMiniUPnPc if env["experimental"] : - #libminiupnpc_conf_env = conf_env.Clone() - #conf = Configure(libminiupnpc_conf_env) - #if conf.CheckCHeader("miniupnpc.h") and conf.CheckLib(env["libminiupnpc_libname"]) : - # print "NOT IMPLEMENTED YET" - #else : - env["LIBMINIUPNPC_BUNDLED"] = 1 - #conf.Finish() + libminiupnpc_flags = {"CPPPATH": ["/usr/include/miniupnpc/"]} + libminiupnpc_conf_env = conf_env.Clone() + if env.get("libminiupnpc_libdir", None) : + libminiupnpc_flags["LIBPATH"] = [env["libminiupnpc_libdir"]] + if env.get("libminiupnpc_includedir", None) : + 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"]) and False : + # ^ False because APIs aren't stable + env["HAVE_LIBMINIUPNPC"] = 1 + env["LIBMINIUPNPC_FLAGS"] = { "LIBS": ["miniupnpc"] } + env["LIBMINIUPNPC_FLAGS"].update(libminiupnpc_flags) + else : + env["HAVE_LIBMINIUPNPC"] = 1 + env["LIBMINIUPNPC_BUNDLED"] = 1 + conf.Finish() else : env["LIBMINIUPNPC_FLAGS"] = {} # LibNATPMP if env["experimental"] : - #libnatpmp_conf_env = conf_env.Clone() - #conf = Configure(libnatpmp_conf_env) - #if conf.CheckCHeader("natpmp.h") and conf.CheckLib(env["libnatpmp_libname"]) : - # print "NOT IMPLEMENTED YET" - #else : - env["LIBNATPMP_BUNDLED"] = 1 - #conf.Finish() + libnatpmp_flags = {} + libnatpmp_conf_env = conf_env.Clone() + if env.get("libnatpmp_libdir", None) : + libnatpmp_flags["LIBPATH"] = [env["libnatpmp_libdir"]] + if env.get("libnatpmp_includedir", None) : + 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"]) and False: + # ^ False because APIs aren't stable + env["HAVE_LIBNATPMP"] = 1 + env["LIBNATPMP_FLAGS"] = { "LIBS": ["natpmp"] } + env["LIBNATPMP_FLAGS"].update(libnatpmp_flags) + else : + env["HAVE_LIBNATPMP"] = 1 + env["LIBNATPMP_BUNDLED"] = 1 + conf.Finish() else : env["LIBNATPMP_FLAGS"] = {} |