X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsenfconf.py;h=49169fe39bd1b015dc968eb9f04a06e07d2f7378;hb=84f14a42f9993e186c7897ce0db021300e0a2d48;hp=bf32926a90ef2b0bdd7c70e03533f76dbcd8e9d7;hpb=4123b4fe58a7fd4659fa01476581690b47c83600;p=senf.git diff --git a/site_scons/senfconf.py b/site_scons/senfconf.py index bf32926..49169fe 100644 --- a/site_scons/senfconf.py +++ b/site_scons/senfconf.py @@ -1,4 +1,4 @@ -from __future__ import with_statement +# from __future__ import with_statement _configTests = {} @@ -9,18 +9,19 @@ def Tests(): def Test(func): global _configTests _configTests[func.__name__] = func + return func -class TemporaryContext: - def __init__(self, context): - self._context = context - self._env = self._context.env.Clone() +# class TemporaryContext: +# def __init__(self, context): +# self._context = context +# self._env = self._context.env.Clone() - def __enter__(self): - return None +# def __enter__(self): +# return None - def __exit__(self,*args): - self._context.env.Replace(**self._env.Dictionary()) - return False +# def __exit__(self,*args): +# self._context.env.Replace(**self._env.Dictionary()) +# return False @Test def CheckBoostVersion(context): @@ -28,7 +29,7 @@ def CheckBoostVersion(context): ret = context.TryRun("#include \n" "#include \n" "int main(int, char **) { std::cout << BOOST_LIB_VERSION << std::endl; }", - ".cc")[1].strip() + ".cc")[-1].strip() if not ret: context.Result("no boost includes found") return None @@ -39,7 +40,9 @@ def CheckBoostVersion(context): @Test def CheckBoostVariants(context, *variants): useVariant = None - with TemporaryContext(context): +# with TemporaryContext(context): + try: + _env = context.env.Clone() for variant in variants: if variant : variantStr = "'%s'" % variant else : variantStr = "default" @@ -54,7 +57,10 @@ def CheckBoostVariants(context, *variants): context.Result( ret ) if ret and useVariant is None: useVariant = variant + finally: + context.env.Replace(**_env.Dictionary()) if useVariant is not None and not context.env.GetOption('no_progress'): print "Using %s boost variant." % ( useVariant and "'%s'" % useVariant or "default") + context.env.Replace( BOOST_VARIANT = useVariant ) return useVariant