Package a standalone scons-local package.
[scons.git] / src / script / scons.py
index 8e64d1db3b8f9722cf715ea89553aacd28eb7e5f..c66008f378e252f196cdba07e182f2e64ac31bb5 100644 (file)
 
 __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
 
+__version__ = "__VERSION__"
+
+__build__ = "__BUILD__"
+
+__buildsys__ = "__BUILDSYS__"
+
+__date__ = "__DATE__"
+
+__developer__ = "__DEVELOPER__"
+
 import sys
 import os.path
 import os
@@ -37,17 +47,23 @@ import os
 # followed by generic) so we pick up the right version of the build
 # engine modules if they're in either directory.
 
-selfdir = os.path.abspath(sys.argv[0])
-if selfdir in sys.path:
-    sys.path.remove(selfdir)
+script_dir = sys.path[0]
+
+if script_dir in sys.path:
+    sys.path.remove(script_dir)
 
 libs = []
 
 if os.environ.has_key("SCONS_LIB_DIR"):
     libs.append(os.environ["SCONS_LIB_DIR"])
 
+local = 'scons-local-' + __version__
+if script_dir:
+    local = os.path.join(script_dir, local)
+libs.append(local)
+
 if sys.platform == 'win32':
-    libs.extend([ os.path.join(sys.prefix, 'SCons-__VERSION__'),
+    libs.extend([ os.path.join(sys.prefix, 'SCons-%s' % __version__),
                   os.path.join(sys.prefix, 'SCons') ])
 else:
     prefs = []
@@ -56,8 +72,6 @@ else:
     _usr = os.path.join('', 'usr')
     _usr_local = os.path.join('', 'usr', 'local')
 
-    script_dir = sys.path[0]
-
     if script_dir == 'bin':
         prefs.append(os.getcwd())
     else:
@@ -76,10 +90,10 @@ else:
     else:
         prefs.append(sys.prefix)
 
-    libs.extend(map(lambda x: os.path.join(x, 'lib', 'scons-__VERSION__'), prefs))
+    libs.extend(map(lambda x: os.path.join(x, 'lib', 'scons-%s' % __version__), prefs))
     libs.extend(map(lambda x: os.path.join(x, 'lib', 'scons'), prefs))
 
-sys.path = libs + sys.path[1:]
+sys.path = libs + sys.path
 
 import SCons.Script
 SCons.Script.main()