Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • CLHEP - clhepLibs
  • FFTW - fftwLibs
  • FITS - cfitsioLibs
  • PIL - pilLibs
  • ROOT - rootLibs and, additionally, rootGuiLibs if needed.
  • SWIG - There are currently no libraries used as part of SWIG so none are defined.
  • XERCES - xercesLibs
  • CPPUnit - cppunitLibs
  • Python - pythonLibs

Running SCons

SCons is installed at slac in /afs/slac/g/glast/applications/SCons/0.97.0d20070809/bin/scons. You have to be in the directory that contains the SConsctruct file when you run SCons. For example to check out ScienceTools version LATEST1.2220 you'd issue the cvs command:

No Format

cvs co -r ScienceTools-LATEST-1-2220 ScienceTools-scons

After the completion of this command you would enter the ScienceTools-scon 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:

No Format

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:

No Format

scons -H

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.

Parallel builds

Since SCons reads every file it will build, it has very detailed knowledge of the build structure. As a result, SCons can safely perform parallel builds and not violate any dependency issues. If you wish to tell SCons to do parallel builds you need to specify the -j option. The -j option is followed by a number to specify how many concurrent builds should be done. For example, -j 2 would tell SCons to perform execute 2 g++ commands at the same time.