Create the Script directory
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 21 Dec 2001 18:05:38 +0000 (18:05 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 21 Dec 2001 18:05:38 +0000 (18:05 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@170 fdb21ef1-2011-0410-befe-b5e4ea1792b1

doc/man/scons.1
rpm/scons.spec
src/engine/MANIFEST.in
src/engine/SCons/Script/SConscript.py [moved from src/engine/SCons/SConscript.py with 98% similarity]
src/engine/SCons/Script/SConscriptTests.py [moved from src/engine/SCons/SConscriptTests.py with 97% similarity]
src/engine/SCons/Script/__init__.py [moved from src/engine/SCons/Script.py with 98% similarity]
src/engine/setup.py
src/setup.py
test/SConstruct.py
test/errors.py

index 5b7b985efb11185b2c13575862d97c225bd968a2..b93ccc4724190a2a444d4887ef106c4f5a96be96 100644 (file)
@@ -780,7 +780,8 @@ This specifies help text to be printed if the
 .B -h 
 argument is given to
 .BR scons .
-This function can be called multiple times to print multiple help messages.
+.B scons
+will exit after printing out the help text.
 
 .TP
 .RI BuildDir( build_dir ", " src_dir )
index c8feb9c7f8eb2a62205b5324e0546e8a2b248b39..74206f3e294e4c62b93f1238222a975dd3a5f897 100644 (file)
@@ -70,8 +70,10 @@ rm -rf $RPM_BUILD_ROOT
 /usr/lib/scons/SCons/Scanner/Prog.pyc
 /usr/lib/scons/SCons/Scanner/__init__.py
 /usr/lib/scons/SCons/Scanner/__init__.pyc
-/usr/lib/scons/SCons/Script.py
-/usr/lib/scons/SCons/Script.pyc
+/usr/lib/scons/SCons/Script/__init__.py
+/usr/lib/scons/SCons/Script/__init__.pyc
+/usr/lib/scons/SCons/Script/SConscript.py
+/usr/lib/scons/SCons/Script/SConscript.pyc
 /usr/lib/scons/SCons/Sig/MD5.py
 /usr/lib/scons/SCons/Sig/MD5.pyc
 /usr/lib/scons/SCons/Sig/TimeStamp.py
index ad38b185cf8d3735488212497fd7a4e4b1fd9f28..5c6c0b0eeed73ae65ce178e30e4d88425ffe0ac5 100644 (file)
@@ -10,8 +10,8 @@ SCons/Node/FS.py
 SCons/Scanner/__init__.py
 SCons/Scanner/C.py
 SCons/Scanner/Prog.py
-SCons/SConscript.py
-SCons/Script.py
+SCons/Script/SConscript.py
+SCons/Script/__init__.py
 SCons/Sig/__init__.py
 SCons/Sig/MD5.py
 SCons/Sig/TimeStamp.py
similarity index 98%
rename from src/engine/SCons/SConscript.py
rename to src/engine/SCons/Script/SConscript.py
index 1479c7ac2a31fb0458b46735b06618c0634bfa60..5fc5487fc60652dc210df3136d847feea9b4f25f 100644 (file)
@@ -40,7 +40,7 @@ import string
 import sys
 
 default_targets = []
-help_option = None
+print_help = 0
 
 # global exports set by Export():
 global_exports = {}
@@ -117,8 +117,7 @@ def Default(*targets):
                 default_targets.append(s)
 
 def Help(text):
-    global help_option
-    if help_option == 'h':
+    if print_help:
         print text
         print "Use scons -H for help about command-line options."
         sys.exit(0)
similarity index 97%
rename from src/engine/SCons/SConscriptTests.py
rename to src/engine/SCons/Script/SConscriptTests.py
index d44af5c6513c76913430b6f91dbcb95bad78bcd0..f17c026ddc49b772e08c9fe03f73d9f5eaf6ec3f 100644 (file)
@@ -23,6 +23,6 @@
 
 __revision__ = "src/engine/SCons/SConscriptTests.py __REVISION__ __DATE__ __DEVELOPER__"
 
-import SCons.SConscript
+import SCons.Script.SConscript
 
 # all of the SConscript.py tests are in test/SConscript.py 
similarity index 98%
rename from src/engine/SCons/Script.py
rename to src/engine/SCons/Script/__init__.py
index e35e03d6eb6a21550fa8dd9890fb88b8612cd65e..bb6799189364633e826558a28c615b44738a2c1f 100644 (file)
@@ -59,7 +59,7 @@ import SCons.Sig
 import SCons.Sig.MD5
 from SCons.Taskmaster import Taskmaster
 import SCons.Builder
-import SCons.SConscript
+import SCons.Script.SConscript
 
 
 #
@@ -105,7 +105,7 @@ current_func = None
 calc = None
 ignore_errors = 0
 keep_going_on_error = 0
-
+help_option = None
 
 # utility functions
 
@@ -357,14 +357,17 @@ def options_init():
        help = "Read FILE as the top-level SConstruct file.")
 
     def opt_help(opt, arg):
-        SCons.SConscript.help_option = 'h'
+       global help_option
+        help_option = 'h'
+       SCons.Script.SConscript.print_help = 1
 
     Option(func = opt_help,
        short = 'h', long = ['help'],
        help = "Print defined help message, or this one.")
 
     def opt_help_options(opt, arg):
-        SCons.SConscript.help_option = 'H'
+       global help_option
+        help_option = 'H'
 
     Option(func = opt_help_options,
        short = 'H', long = ['help-options'],
@@ -574,12 +577,12 @@ def _main():
                 scripts.append(file)
                 break
 
-    if SCons.SConscript.help_option == 'H':
+    if help_option == 'H':
        print UsageString()
        sys.exit(0)
 
     if not scripts:
-        if SCons.SConscript.help_option == 'h':
+        if help_option == 'h':
             # There's no SConstruct, but they specified -h.
             # Give them the options usage now, before we fail
             # trying to read a non-existent SConstruct file.
@@ -591,18 +594,18 @@ def _main():
     sys.path = include_dirs + sys.path
 
     for script in scripts:
-        SCons.SConscript.SConscript(script)
+        SCons.Script.SConscript.SConscript(script)
 
     SCons.Node.FS.default_fs.chdir(SCons.Node.FS.default_fs.Top)
 
-    if SCons.SConscript.help_option == 'h':
+    if help_option == 'h':
        # They specified -h, but there was no Help() inside the
        # SConscript files.  Give them the options usage.
        print UsageString()
        sys.exit(0)
 
     if not targets:
-        targets = SCons.SConscript.default_targets
+        targets = SCons.Script.SConscript.default_targets
        
     def Entry(x):
        if isinstance(x, SCons.Node.Node):
index 3d51b0eca072180a1434974ac916fced33b9fcc6..8039b694ce19e9b919ca612115067cee4c804613 100644 (file)
@@ -64,4 +64,5 @@ software.""",
       packages = ["SCons",
                  "SCons.Node",
                  "SCons.Scanner",
-                 "SCons.Sig"])
+                 "SCons.Sig",
+                 "SCons.Script"])
index fb904678189fc42830bab63ff8b2d23e40c1514b..c0d151003a65fab40d88c98f1b4e9fbfa11fa8d7 100644 (file)
@@ -69,7 +69,8 @@ arguments = {
     'packages'         : ["SCons",
                           "SCons.Node",
                           "SCons.Scanner",
-                          "SCons.Sig"],
+                          "SCons.Sig",
+                          "SCons.Script"],
     'package_dir'      : {'' : 'engine'},
     'scripts'          : ["script/scons"],
     'cmdclass'         : {'install_lib' : my_install_lib}
index 33a20ceb84bbe09ece6b15f5d3583b7e1f3bfc37..1c830d7ff840c1d979f8f7016b715033fccf3659 100644 (file)
@@ -30,9 +30,9 @@ import TestSCons
 test = TestSCons.TestSCons(match = TestCmd.match_re)
 
 test.run(stdout = "",
-       stderr = """
+       stderr = r"""
 SCons error: No SConstruct file found.
-File "\S+Script.py", line \d+, in _main
+File "\S+", line \d+, in \S+
 """)
 
 test.match_func = TestCmd.match_exact
index cb2248da9b12fb48c427f1b94b26fe5ff72ff27b..526ffaab922415f0499c8de77059910de890cad0 100644 (file)
@@ -68,12 +68,12 @@ raise InternalError, 'error inside'
 test.run(arguments='-f SConstruct3',
         stdout = "other errors\n",
         stderr = r"""Traceback \((most recent call|innermost) last\):
-  File ".*Script.py", line \d+, in main
-    _main\(\)
-  File ".*Script.py", line \d+, in _main
-    SCons.SConscript.SConscript\(script\)
-  File ".*SConscript.py", line \d+, in SConscript
-    exec file in stack\[-1\].globals
+  File ".+", line \d+, in .+
+    .+
+  File ".+", line \d+, in .+
+    .+
+  File ".+", line \d+, in .+
+    .+
   File "SConstruct3", line \d+, in \?
     raise InternalError, 'error inside'
 InternalError: error inside