diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-06-02 20:04:42 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-06-02 20:06:29 (GMT) |
commit | ca39e52da0bf9027ab660fd31d1285b1c1d55659 (patch) | |
tree | ebbcf7dc2a2c063b9070a779f629ddefd21043bc | |
parent | 60a1dfe187dbe11e61e7f867e4c04454a9d3a5e6 (diff) | |
download | swift-ca39e52da0bf9027ab660fd31d1285b1c1d55659.zip swift-ca39e52da0bf9027ab660fd31d1285b1c1d55659.tar.bz2 |
Add workaround for distros that don't have boost UUID.
Cherry pick UUID out of 3rdParty, and use this as an include path.
Since UUID is a header-only lib, this shouldn't pose problems.
-rw-r--r-- | 3rdParty/Boost/.gitignore | 1 | ||||
-rw-r--r-- | 3rdParty/Boost/SConscript | 11 | ||||
-rw-r--r-- | BuildTools/SCons/SConstruct | 3 |
3 files changed, 14 insertions, 1 deletions
diff --git a/3rdParty/Boost/.gitignore b/3rdParty/Boost/.gitignore index faa799d..f86949c 100644 --- a/3rdParty/Boost/.gitignore +++ b/3rdParty/Boost/.gitignore @@ -7,3 +7,4 @@ *.ilk *.manifest /bcp +uuid diff --git a/3rdParty/Boost/SConscript b/3rdParty/Boost/SConscript index a7019e1..49e66e5 100644 --- a/3rdParty/Boost/SConscript +++ b/3rdParty/Boost/SConscript @@ -1,6 +1,15 @@ Import("env") -if env.get("BOOST_BUNDLED", False) : +# FIXME: Remove this when Boost UUID is present on most distros +if env.get("BOOST_BUNDLED_UUID_ONLY", False) : + # Cherry pick UUID out of the 3rdParty dir, install it in a separate + # dir, and use this as an include path. + if env["SCONS_STAGE"] == "flags" : + env["BOOST_FLAGS"]["CPPFLAGS"] = env["BOOST_FLAGS"].get("CPPFLAGS", []) + ["-I" + env.Dir("uuid").abspath] + elif env["SCONS_STAGE"] == "build" : + env.Install("uuid/boost", "src/boost/uuid") + +elif env.get("BOOST_BUNDLED", False) : ################################################################################ # Common diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct index 9e79c4c..67d60de 100644 --- a/BuildTools/SCons/SConstruct +++ b/BuildTools/SCons/SConstruct @@ -281,6 +281,9 @@ for (lib, header) in boostLibs : break if allLibsPresent : env["BOOST_FLAGS"] = { "LIBS": ["boost_" + lib for lib, header in boostLibs] } + 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 |