summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README129
1 files changed, 66 insertions, 63 deletions
diff --git a/README b/README
index 699d1b5..6eecb8c 100644
--- a/README
+++ b/README
@@ -10,12 +10,12 @@ If all you want to do is install and run SCons, it will be easier for you
to download and install the scons-{version}.tar.gz or scons-{version}.zip
package rather than to work with the packaging logic in this tree.
-To the extent that this tree is about building SCons packages, the
-*full* development cycle (enforced by Aegis) is not to test the code
-directly, but to package SCons, unpack the package, "install" SCons in
-a test subdirectory, and then to run the tests against the unpacked and
-installed software. This helps eliminate problems caused by, for example,
-failure to update the list of files to be packaged.
+To the extent that this tree is about building SCons packages, the *full*
+development cycle is not just to test the code directly, but to package
+SCons, unpack the package, "install" SCons in a test subdirectory,
+and then to run the tests against the unpacked and installed software.
+This helps eliminate problems caused by, for example, failure to update
+the list of files to be packaged.
For just working on making an individual change to the SCons source,
however, you don't actually need to build or install SCons; you
@@ -83,11 +83,11 @@ In this case, your options are:
-- (Optional.) Install from a pre-packaged SCons package that
does not require distutils:
- Red Hat Linux scons-0.96.96.noarch.rpm
+ Red Hat Linux scons-0.97.noarch.rpm
Debian GNU/Linux use apt-get to get the official package
- Windows scons-0.96.96.win32.exe
+ Windows scons-0.97.win32.exe
-- (Recommended.) Download the latest distutils package from the
following URL:
@@ -132,7 +132,7 @@ bootstrap/ subdirectory and executing it from there.
You can also execute the local SCons directly from the src/ subdirectory
by first setting the SCONS_LIB_DIR environment variable to the local
-src/engine subdirectory, and then execute the local src/script/scons.py
+src/engine subdirectory, and then executing the local src/script/scons.py
script to populate the build/scons/ subdirectory. You would do this as
follows on a Linux or UNIX system (using sh or a derivative like bash
or ksh):
@@ -159,7 +159,7 @@ And on Windows:
By default, the above commands will do the following:
- -- Install the version-numbered "scons-0.96.96" and "sconsign-0.96.96"
+ -- Install the version-numbered "scons-0.97" and "sconsign-0.97"
scripts in the default system script directory (/usr/bin or
C:\Python*\Scripts, for example). This can be disabled by
specifying the "--no-version-script" option on the command
@@ -170,25 +170,27 @@ By default, the above commands will do the following:
for example). This can be disabled by specifying the
"--no-scons-script" option on the command line, which is useful
if you want to install and experiment with a new version before
- making it the default on your system. On UNIX or Linux systems,
- you can have the "scons" and "sconsign" scripts be hard links or
- symbolic links to the "scons-0.96.96" and "sconsign-0.96.96" scripts
- by specifying the "--hardlink-scons" or "--symlink-scons"
- options on the command line.
+ making it the default on your system.
- -- Install "scons-0.96.96.bat" and "scons.bat" wrapper scripts in the
+ On UNIX or Linux systems, you can have the "scons" and "sconsign"
+ scripts be hard links or symbolic links to the "scons-0.97" and
+ "sconsign-0.97" scripts by specifying the "--hardlink-scons" or
+ "--symlink-scons" options on the command line.
+
+ -- Install "scons-0.97.bat" and "scons.bat" wrapper scripts in the
Python prefix directory on Windows (C:\Python*, for example).
This can be disabled by specifying the "--no-install-bat" option
- on the command line. On UNIX or Linux systems, the
- "--install-bat" option may be specified to have "scons-0.96.96.bat"
- and "scons.bat" files installed in the default system script
- directory, which is useful if you want to install SCons in a
- shared file system directory that can be used to execute SCons
- from both UNIX/Linux and Windows systems.
+ on the command line.
+
+ On UNIX or Linux systems, the "--install-bat" option may be
+ specified to have "scons-0.97.bat" and "scons.bat" files installed
+ in the default system script directory, which is useful if you
+ want to install SCons in a shared file system directory that can
+ be used to execute SCons from both UNIX/Linux and Windows systems.
-- Install the SCons build engine (a Python module) in an
appropriate version-numbered SCons library directory
- (/usr/lib/scons-0.96.96 or C:\Python*\scons-0.96.96, for example).
+ (/usr/lib/scons-0.97 or C:\Python*\scons-0.97, for example).
See below for more options related to installing the build
engine library.
@@ -244,9 +246,9 @@ the src/engine/SCons subdirectory hierarchy that contains all of the
modules that make up SCons. The src/script/scons.py wrapper script exists
mainly to find the appropriate build engine library and then execute it.
-In order to make your own change locally and test them by hand, simply
-edit modules in the local src/engine/SCons subdirectory tree and
-either use the local bootstrap.py script:
+In order to make your own changes locally and test them by hand, simply
+edit modules in the local src/engine/SCons subdirectory tree and either
+use the local bootstrap.py script:
$ python bootstrap.py [arguments]
@@ -255,13 +257,13 @@ then execute the src/script/scons.py script. Here is one way you can
set up environment variables to do this on a UNIX or Linux system:
$ setenv MYSCONS=`pwd`/src
- $ setenv SCONS_LIB_DIR=$MYSCONS
+ $ setenv SCONS_LIB_DIR=$MYSCONS/engine
$ python $MYSCONS/script/scons.py [arguments]
Or on Windows:
C:\scons>set MYSCONS=%cd%\src
- C:\scons>set SCONS_LIB_DIR=%MYSCONS%
+ C:\scons>set SCONS_LIB_DIR=%MYSCONS%\engine
C:\scons>python %MYSCONS%\script\scons.py [arguments]
You can use the -C option to have SCons change directory to another
@@ -329,7 +331,7 @@ will print messages to your console screen ("/dev/tty" on UNIX or Linux,
"con" on Windows). By adding Trace() calls to the SCons source code:
def sample_method(self, value):
- fromn SCons.Debug import Trace
+ from SCons.Debug import Trace
Trace('called sample_method(%s, %s)\n' % (self, value))
You can then run automated tests that print any arbitrary information
@@ -340,7 +342,7 @@ The Trace() function can also redirect its output to a file, rather than
the screen:
def sample_method(self, value):
- fromn SCons.Debug import Trace
+ from SCons.Debug import Trace
Trace('called sample_method(%s, %s)\n' % (self, value),
file='trace.out')
@@ -461,7 +463,7 @@ development platform, Windows users can translate as appropriate)):
^D
$
- -- Now debug the test failures and fix them, either by changing
+ -- Now debug the test failures and fix them, either by changing
SCons, or by making necessary changes to the tests (if, for
example, you have a strong reason to change functionality, or
if you find that the bug really is in the test script itself).
@@ -475,10 +477,10 @@ development platform, Windows users can translate as appropriate)):
Repeat this until all of the tests that originally failed
now pass.
- -- Now you need to go back and validate that any changes you
- made while getting the tests to pass didn't break the fix you
- originally put in, or introduce any *additional* unintended side
- effects that broke other tests:
+ -- Now you need to go back and validate that any changes you
+ made while getting the tests to pass didn't break the fix
+ you originally put in, and didn't introduce any *additional*
+ unintended side effects that broke other tests:
$ python script/scons.py -C /home/me/broken_project .
$ python runtest.py -a
@@ -486,8 +488,8 @@ development platform, Windows users can translate as appropriate)):
If you find any newly-broken tests, add them to your "failed.txt"
file and go back to the previous step.
-Of course, the above is only one suggested workflow. In practice, there's
-a lot of room for judgment and experience to make things go quicker.
+Of course, the above is only one suggested workflow. In practice, there
+is a lot of room for judgment and experience to make things go quicker.
For example, if you're making a change to just the Java support, you
might start looking for regressions by just running the test/Java/*.py
tests instead of running all of "runtest.py -a".
@@ -525,18 +527,18 @@ On Windows:
Depending on the utilities installed on your system, any or all of the
following packages will be built:
- build/dist/scons-0.96.96-1.noarch.rpm
- build/dist/scons-0.96.96-1.src.rpm
- build/dist/scons-0.96.96.linux-i686.tar.gz
- build/dist/scons-0.96.96.tar.gz
- build/dist/scons-0.96.96.win32.exe
- build/dist/scons-0.96.96.zip
- build/dist/scons-doc-0.96.96.tar.gz
- build/dist/scons-local-0.96.96.tar.gz
- build/dist/scons-local-0.96.96.zip
- build/dist/scons-src-0.96.96.tar.gz
- build/dist/scons-src-0.96.96.zip
- build/dist/scons_0.96.96-1_all.deb
+ build/dist/scons-0.97-1.noarch.rpm
+ build/dist/scons-0.97-1.src.rpm
+ build/dist/scons-0.97.linux-i686.tar.gz
+ build/dist/scons-0.97.tar.gz
+ build/dist/scons-0.97.win32.exe
+ build/dist/scons-0.97.zip
+ build/dist/scons-doc-0.97.tar.gz
+ build/dist/scons-local-0.97.tar.gz
+ build/dist/scons-local-0.97.zip
+ build/dist/scons-src-0.97.tar.gz
+ build/dist/scons-src-0.97.zip
+ build/dist/scons_0.97-1_all.deb
The SConstruct file is supposed to be smart enough to avoid trying to
build packages for which you don't have the proper utilities installed.
@@ -609,6 +611,9 @@ bin/
SCons itself
-- a copy of xml_export, which can retrieve project data
from SourceForge
+ -- scripts and a Python module for translating the SCons
+ home-brew XML documentation tags into DocBook and
+ man page format
bootstrap.py
A build script for use with Aegis. This collects a current copy
@@ -636,12 +641,6 @@ doc/
SCons documentation. A variety of things here, in various
stages of (in)completeness.
-etc/
- A subdirectory for miscellaneous things that we need. Right
- now, it has copies of Python modules that we use for testing,
- and which we don't want to force people to have to install on
- their own just to help out with SCons development.
-
gentoo/
Stuff to generate files for Gentoo Linux.
@@ -661,6 +660,10 @@ LICENSE-local
the licensing terms are for SCons itself, not any other
package that includes SCons.
+QMTest/
+ The Python modules we use for testing, some generic modules
+ originating elsewhere and some specific to SCons.
+
README
What you're looking at right now.
@@ -738,18 +741,18 @@ available at:
REPORTING BUGS
==============
-Please report bugs by following the "Tracker - Bugs" link on the SCons
-project page and filling out the form:
+Please report bugs by following the detailed instructions on our Bug
+Submission page:
- http://sourceforge.net/projects/scons/
+ http://scons.tigris.org/bug-submission.html
-You can also send mail to the SCons developers mailing list:
+You can also send mail to the SCons developers' mailing list:
- scons-devel@lists.sourceforge.net
+ dev@scons.tigris.org
-But please make sure that you also submit a bug report to the project
-page bug tracker, because bug reports in email can sometimes get lost
-in the general flood of messages.
+But even if you send email to the mailing list please make sure that you
+ALSO submit a bug report to the project page bug tracker, because bug
+reports in email often get overlooked in the general flood of messages.
MAILING LISTS