Obtaining a copy of the code from CVS
Checking out the current release of ST:
cvs co -r ScienceTools-09-10-00 -d ScienceTools-09-10-00 ScienceTools-scons
After the completion of this command you would enter the ScienceTools-09-10-00 directory that was created. In this directory there is the SConstruct file that is read by SCons.
To get a list of options added to SCons specifically for ScienceTools you can issue the command:
scons --help
These options have been programmed into the SConstruct and support files for ScienceTools. They are not written or supported by the SCons developers. To see the options that are written and supported by the SCons developers you need to issue the command
scons -H
Building only a specific package and its dependencies
To build only a single package simply specify the package name as the target. For example, to build facilities (and its dependencies) issue the following command along with any other options necessary
scons --with-GLAST-EXT=$GLAST_EXT facilities >& build-facilities.log &
Building All
In the top-level directory, where the SConstruct file is located, to build all and redirect output to a log file:
scons --with-GLAST-EXT=$GLAST_EXT all >& build-all.log &
Debug Build
Include the flag --compile-debug
Building Interactively
Running SCons can be a slow process, especially as it initialIy reads in all the files. Instead of invoking scons normally you invoke it with a --interactive option. This makes scons read all the files (the slow part) once and then you can issue build commands quickly. Here's the command line I used to test it:
/afs/slac/g/glast/applications/SCons/1.2.0/bin/scons --with-GLAST-EXT=/afs/slac/g/glast/ground/GLAST_EXT/tiger-i386-32bit --compile-debug --interactive
<...it goes through the regular checking external libraries here...>
after a while it'll give you an SCons prompt:
scons>>>
You can type in help to get a list of commands. It's fairly self explanatory.
Ignoring errors
By default SCons will stop compilation after the first error it encounters. Since the first error is most likely not in a package of interest, one can tell SCons to continue building after it encounters an error. To do this you append the -i option to the SCons command.
Specific Examples
Test Drive Building ScienceTools 09-10-00 with SCons
Test Drive Building GlastRelease 15-49-00 with SCons