...
The script offlineObf.py copies specified includes and libraries to an installation which may be used by SCons. It handles only Linux for now, but it shouldn't be too difficult to add Windows as long as the original build organization there is similar to that of flight builds on Linux. Here is the help output:
Usage: offlineObf.py \ [options\] fsw_version
Wiki Markup
Options:
\
-h, \--help show this help message and exit
\-p PKGLIST, \--help show this help message and exit
-p PKGLIST, --package_list=PKGLIST
file containing list of fsw packages (<mjr> <mnr>) and
what to do with them. Default:
file containing list of fsw packages (<mjr> <mnr>) and
what to do with them. Default:
<fsw_version>_package_list.txt
\
--input_binary=INPUTBINARY
input binary tag \[default: linux-gcc\]
\-c COMPILER, \--compiler=COMPILER
compiler \[default: substring of output binary tag
following final hyphen\]
\--output_binary=OUTPUTBINARY
output binary tag \[default:
input binary tag [default: linux-gcc]
-c COMPILER, --compiler=COMPILER
compiler [default: substring of output binary tag
following final hyphen]
--output_binary=OUTPUTBINARY
output binary tag [default: redhat4-i686-32bit-gcc34\]
\]
--input_root=INPUTROOT
Input fsw build root \[default:
Input fsw build root [default: /afs/slac.stanford.edu/
g/glast/flight/ltx_root_<fsw_version>\]
\]
--output_parent=OUTPUT
Output root parent \[default:
Output root parent [default: $GLAST_EXT/obf\]
\]
--overwrite=OVERWRITE
Overwrite existing installation if any \[default:
False\
Overwrite existing installation if any [default:
False]
The package list file used for B1-1-3 starts out like this:
\# Input package list for offlineObf.py
\ Wiki Markup
# Format:
\# MAJ MIN VER \[inc\] \[src\] \[lib \| Format:
# MAJ MIN VER [inc] [src] [lib | (lib=LIBNAME)*\]
\# \[ \] signifies optional; \| is ]
# [ ] signifies optional; | is "or";
\
# ( ) are just for grouping in the template and do not actually appear
\#
\# inc recursively copy include directory to
#
# inc recursively copy include directory to new-include-root/MIN
\# lib copy all libraries to
# lib copy all libraries to new-lib-root
\#
# lib=LIBNAME LIBNAME copy specific library LIBNAME to specific library LIBNAME to new-lib-root
\# src copy everything matching
# src copy everything matching ..source/MIN/src/*.h to new-include-root/src
PHY EFC
PHY EFC V4-3-0 inc src lib=efc
PHY XFC V0-1-2 inc
PHY EDS V2-9-1 inc 0 inc src lib=efc
PHY XFC V0-1-2 inc
PHY EDS V2-9-1 inc lib
The package list file has to be hand-generated for each new Flight Software build.
...