From ca39e52da0bf9027ab660fd31d1285b1c1d55659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Wed, 2 Jun 2010 22:04:42 +0200 Subject: 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. 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 -- cgit v0.10.2-6-g49f6