diff --git a/SConstruct b/SConstruct index 9870f209c4af7cbfb98a64c662b6e4a67cc953af..8b1074eecc955a81e8fb0014171cd3ee4286b8d2 100644 --- a/SConstruct +++ b/SConstruct @@ -126,7 +126,7 @@ if not env.GetOption('clean') and not os.path.exists("local_config.hh"): # created later are correct if not env.GetOption('clean') and not os.path.exists(".prepare-stamp") \ - and not os.environ.get("SCONS"): + and not os.environ.get("SCONS") and COMMAND_LINE_TARGETS != [ 'prepare' ]: env.Execute([ "scons prepare" ]) env.Clean('all', '.prepare-stamp') diff --git a/senfscons/BoostUnitTests.py b/senfscons/BoostUnitTests.py index 09d340a82fa2fc6f421b0d435001b232d0af2e74..3733455dec7c6da25375c66ee11031c39ff56627 100644 --- a/senfscons/BoostUnitTests.py +++ b/senfscons/BoostUnitTests.py @@ -34,7 +34,7 @@ def BoostUnitTests(env, target, objects, test_sources=None, LIBS = [], OBJECTS = else: test_sources = [] testEnv = env.Copy(**kw) - testEnv.Prepend(LIBS = '$BOOSTTESTLIB') + testEnv.Prepend(_LIBFLAGS = ' -Wl,-Bstatic -l$BOOSTTESTLIB -Wl,-Bdynamic ') testEnv.Prepend(LIBS = LIBS) all_objects = [] if not objects: diff --git a/senfscons/InstallIncludes.py b/senfscons/InstallIncludes.py index d6fc72e6aea1351f2f93da13881fe62c077e9c6a..754dfccc843306ea635689873b368a686eaa77cf 100644 --- a/senfscons/InstallIncludes.py +++ b/senfscons/InstallIncludes.py @@ -7,6 +7,11 @@ # \ingroup builder import SCons.Builder, SCons.Action, SCons.Environment, SCons.Node.FS +try: + from SCons.Tool.install import installFunc, stringFunc +except: + installFunc = SCons.Environment.installFunc + stringFunc = SCons.Environment.installString def recursiveChildren(f): rv = {} @@ -45,11 +50,11 @@ class Installer: self.source = source def __call__(self, target, source, env): - SCons.Environment.installFunc([self.target], [self.source], env) + installFunc([self.target], [self.source], env) def generator(target, source, env, for_signature): return [ SCons.Action.Action( Installer(trg, src), - lambda a,b,c,s=SCons.Environment.installString([trg], [src], env):s ) + lambda a,b,c,s=stringFunc([trg], [src], env):s ) for trg, src in zip(target,source) ] InstallIncludes = SCons.Builder.Builder(emitter = emitter, diff --git a/senfscons/SENFSCons.py b/senfscons/SENFSCons.py index aa5efa2e93b36cebf592429b7047e3554db421ca..a93bab67df3084ea751f33e671cd39744d2ca0c5 100644 --- a/senfscons/SENFSCons.py +++ b/senfscons/SENFSCons.py @@ -148,9 +148,9 @@ def FinalizeBoost(env): if runtime: runtime = "-" + runtime env['BOOST_VARIANT'] = "-" + env['BOOST_TOOLSET'] + runtime - env['BOOSTTESTLIB'] = 'libboost_unit_test_framework' + env['BOOST_VARIANT'] - env['BOOSTREGEXLIB'] = 'libboost_regex' + env['BOOST_VARIANT'] - env['BOOSTFSLIB'] = 'libboost_filesystem' + env['BOOST_VARIANT'] + env['BOOSTTESTLIB'] = 'boost_unit_test_framework' + env['BOOST_VARIANT'] + env['BOOSTREGEXLIB'] = 'boost_regex' + env['BOOST_VARIANT'] + env['BOOSTFSLIB'] = 'boost_filesystem' + env['BOOST_VARIANT'] env.Append(LIBPATH = [ '$BOOST_LIBDIR' ], CPPPATH = [ '$BOOST_INCLUDES' ])