X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsite_tools%2FBoost.py;h=202ed96dbb996a59a8f8735be3ccbc8ac3c303a6;hb=d5b4cca5714c2b44bbc476636a0774b4fcbd9151;hp=629dd3e0afb2f370b9e38d3bb111daffd1ca149f;hpb=c1704e837e8bcf6b50da633326213f65cd5a8c46;p=senf.git diff --git a/site_scons/site_tools/Boost.py b/site_scons/site_tools/Boost.py index 629dd3e..202ed96 100644 --- a/site_scons/site_tools/Boost.py +++ b/site_scons/site_tools/Boost.py @@ -88,7 +88,7 @@ def BoostUnitTest(env, target=None, source=None, **kw): stampnode = target.dir.File('.' + target.name + '.stamp') bin = env.Program(binnode, source, - LIBS = env['LIBS'] + [ '$TEST_EXTRA_LIBS' ], + LIBS = env['LIBS'] + kw.pop('TEST_EXTRA_LIBS', ['$TEST_EXTRA_LIBS']), _LIBFLAGS = ' -Wl,-Bstatic -l$BOOSTTESTLIB -Wl,-Bdynamic ' + env['_LIBFLAGS'], **kw) @@ -142,10 +142,14 @@ Options: else: msg = '' context.Message( "Checking boost version%s... " % msg ) - ret = context.TryRun("#include \n" - "#include \n" - "int main(int, char **) { std::cout << BOOST_LIB_VERSION << std::endl; }", - ".cc")[-1].strip() + if context.env.has_key('BOOST_VERSION'): + ret = context.env['BOOST_VERSION'] + else: + ret = context.TryRun("#include \n" + "#include \n" + "int main(int, char **)\n" + "{ std::cout << BOOST_LIB_VERSION << std::endl; }", + ".cc")[-1].strip() if not ret: msg = "no boost includes found" @@ -194,8 +198,10 @@ def CheckBoostVariants(context, *variants): print "Using %s boost variant." % ( useVariant and "'%s'" % useVariant or "default") context.env.Replace( BOOST_VARIANT = useVariant ) + context.env.Append( HAS_BOOST_SYSTEM = context.sconf.CheckLib('boost_system', language='c++', autoadd=False)) return useVariant + def generate(env): env.SetDefault( BOOST_VARIANT = None, @@ -206,6 +212,9 @@ def generate(env): BOOSTFSLIB = 'boost_filesystem$_BOOST_VARIANT', BOOSTIOSTREAMSLIB = 'boost_iostreams$_BOOST_VARIANT', BOOSTSIGNALSLIB = 'boost_signals$_BOOST_VARIANT', + + _BOOSTSYSTEMLIB = '${HAS_BOOST_SYSTEM and "boost_system" or ""}', + BOOSTSYSTEMLIB = '$_BOOSTSYSTEMLIB', BOOSTTESTARGS = [ '--build_info=yes', '--log_level=test_suite' ], )