import os.path, SCons
+import inspect
+import sys
# SCons is at #/tools/scons-<v>/engine/SCons/__init__.py
# site_init is at #/site_scons/site_init.py
-sconsbase = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),"tools")
+sconsbase = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(
+ inspect.currentframe().f_code.co_filename))),"tools")
sconsbase = os.path.join(
sconsbase,sorted((f for f in os.listdir(sconsbase) if f.startswith("scons-")))[-1])
sconsengine = os.path.join(sconsbase, 'engine')
cdir = os.path.normpath(cdir)
if cdir.startswith('../'):
SCons.Util.display("scons: WARNING: failed to undo -C option")
- elif cdir != '.':
+ elif cdir != '.' and not cdir.startswith('/'):
os.chdir('/'.join(('..' for _ in cdir.split('/'))))
os.environ['SCONS_LIB_DIR'] = sconsengine
- os.execv(sconsscript, sys.argv)
+ os.execv(sys.executable, [sconsscript] + sys.argv)
+