X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=site_scons%2Fsite_init.py;h=a8d5c42454bc93c2ece5a0100bd512a9bf2346c0;hb=10858293dfae5b97842f48022f0d34e9e53a18fc;hp=748d87117ee098ca7311c160d20c125d8f5750d5;hpb=1349eaa9b5e80f132199f9fe756f7d6dfbc26998;p=senf.git diff --git a/site_scons/site_init.py b/site_scons/site_init.py index 748d871..a8d5c42 100644 --- a/site_scons/site_init.py +++ b/site_scons/site_init.py @@ -11,6 +11,15 @@ sconsscript = os.path.join(os.path.join(sconsbase, 'script'),'scons') if os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(SCons.__file__)))) != sconsbase: import os, sys, SCons.Util SCons.Util.display("scons: Switching version") - os.chdir(sys._getframe(2).f_locals['target_top'] or '.') + frame = sys._getframe() + marker = [] + target_top = marker + while frame and target_top is marker: + target_top = frame.f_locals.get('target_top',marker) + frame = frame.f_back + if target_top is marker: + SCons.Util.display("scons: WARNING: scons -u will fail") + elif target_top is not None: + os.chdir(target_top) os.environ['SCONS_LIB_DIR'] = sconsengine os.execv(sconsscript, sys.argv)