summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'BuildTools/SCons')
-rw-r--r--BuildTools/SCons/SConscript.boot4
-rw-r--r--BuildTools/SCons/SConstruct33
2 files changed, 22 insertions, 15 deletions
diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot
index 77b1cf1..366981c 100644
--- a/BuildTools/SCons/SConscript.boot
+++ b/BuildTools/SCons/SConscript.boot
@@ -46,18 +46,19 @@ vars.Add(PathVariable("sqlite_includedir", "SQLite headers location", None, Path
vars.Add(PathVariable("sqlite_libdir", "SQLite library location", None, PathVariable.PathAccept))
vars.Add("sqlite_libname", "SQLite library name", "libsqlite3" if os.name == "nt" else "sqlite3")
vars.Add(PathVariable("avahi_includedir", "Avahi headers location", None, PathVariable.PathAccept))
vars.Add(PathVariable("avahi_libdir", "Avahi library location", None, PathVariable.PathAccept))
vars.Add(PathVariable("qt", "Qt location", "", PathVariable.PathAccept))
vars.Add(PathVariable("docbook_xml", "DocBook XML", None, PathVariable.PathAccept))
vars.Add(PathVariable("docbook_xsl", "DocBook XSL", None, PathVariable.PathAccept))
vars.Add(BoolVariable("build_examples", "Build example programs", "yes"))
vars.Add(BoolVariable("enable_variants", "Build in a separate dir under build/, depending on compile flags", "no"))
+vars.Add(BoolVariable("experimental", "Build experimental features", "no"))
################################################################################
# Set up default build & configure environment
################################################################################
env = Environment(CPPPATH = ["#"], ENV = {
'PATH' : os.environ['PATH'],
'LD_LIBRARY_PATH' : os.environ.get("LD_LIBRARY_PATH", ""),
}, variables = vars)
@@ -156,18 +157,21 @@ if env.get("mac105", 0) :
env.Append(LINKFLAGS = [
"-mmacosx-version-min=10.5",
"-isysroot", "/Developer/SDKs/MacOSX10.5.sdk",
"-arch", "i386"])
env.Append(FRAMEWORKS = ["Security"])
if not env["assertions"] :
env.Append(CPPDEFINES = ["NDEBUG"])
+if env["experimental"] :
+ env.Append(CPPDEFINES = ["SWIFT_EXPERIMENTAL_FT"])
+
# If we build shared libs on AMD64, we need -fPIC.
# This should have no performance impact om AMD64
if env["PLATFORM"] == "posix" and platform.machine() == "x86_64" :
env.Append(CCFLAGS = ["-fPIC"])
# Warnings
if env["PLATFORM"] == "win32" :
# TODO: Find the ideal set of warnings
#env.Append(CCFLAGS = ["/Wall"])
diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct
index ba2f4b7..448bdbd 100644
--- a/BuildTools/SCons/SConstruct
+++ b/BuildTools/SCons/SConstruct
@@ -306,37 +306,40 @@ conf = Configure(libidn_conf_env)
if conf.CheckCHeader("idna.h") and conf.CheckLib(env["libidn_libname"]) :
env["HAVE_LIBIDN"] = 1
env["LIBIDN_FLAGS"] = { "LIBS": [env["libidn_libname"]] }
env["LIBIDN_FLAGS"].update(libidn_flags)
else :
env["LIBIDN_BUNDLED"] = 1
conf.Finish()
# LibMiniUPnPc
-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"
+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()
else :
- env["LIBMINIUPNPC_BUNDLED"] = 1
-conf.Finish()
+ env["LIBMINIUPNPC_FLAGS"] = {}
# LibNATPMP
-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"
+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()
else :
- env["LIBNATPMP_BUNDLED"] = 1
-conf.Finish()
-
+ env["LIBNATPMP_FLAGS"] = {}
# SQLite
#sqlite_conf_env = conf_env.Clone()
#sqlite_flags = {}
#if env.get("sqlite_libdir", None) :
# sqlite_flags["LIBPATH"] = [env["sqlite_libdir"]]
#if env.get("sqlite_includedir", None) :
# sqlite_flags["CPPPATH"] = [env["sqlite_includedir"]]
#sqlite_conf_env.MergeFlags(sqlite_flags)