Difference between revisions of "Build Scripts and Makefiles"
m (Example build script moved to Build script examples: make it plural) |
(first draft) |
||
Line 1: | Line 1: | ||
− | + | I've written a set of scripts that will retrieve and build various components of the Hall-D/GlueX software infrastructure. The scripts can serve as examples of the steps involved. | |
− | + | =Get the scripts= | |
− | + | ||
− | + | They are stored in the Hall D Subversion repository. To check them out: | |
− | + | ||
− | + | svn checkout https://halldsvn.jlab.org/repos/trunk/scripts/build_scripts | |
− | + | ||
− | + | This will create the directory build_scripts in your current working directory. Alternately to can get a tarball at: | |
− | + | ||
− | + | http://www.jlab.org/~marki/halld/build_scripts_2008-06-18.tar | |
− | + | ||
− | + | =Contents of the directory= | |
− | + | ||
− | + | * '''cernlib_build.sh''' Bourne shell script that builds CERNLIB from source. This may be necessary if a compatible binary version does not exist at CERN and/or if the RedHat rpm is missing certain key packages due to license issues. | |
− | + | * '''clhep_install.sh''' Bourne shell script to build the CLHEP package from source. CLHEP is used as a sort of C++ CERNLIB-replacement by GEANT4. | |
− | + | * '''geant4.8.1.p01.tcl''' Expect script used by '''geant4_install.sh'''. Expect is used to answer questions asked by the GEANT4 installation script. | |
− | + | * '''geant4_install.sh''' Bourne shell script to build GEANT4 from source. Uses '''geant4.8.1.p01.tcl''' to handle the interactive dialog in the installation script. | |
− | + | * '''gluex_env.csh''' Sets up the environment in the C shell for building JANA and Hall-D packages. | |
− | + | * '''halld_build.csh''' C shell script to build the Hall-D software packages. Relies on JANA having been built. | |
− | + | * '''hdds_install.sh''' Bourne shell script to install a stand-alone version of the HDDS package. Not necessary for Hall D users. | |
− | + | * '''jana_build.csh''' Bourne shell script for building the JANA package. | |
− | + | * '''Makefile_root''' GNU makefile for building ROOT from source. | |
− | + | * '''patches''' Directory containing various patches needed to build some of the packages. | |
− | + | * '''xerces-c_install.sh''' Bourne shell script build the XERCES-C++ package from Apache from source. | |
− | + | ||
− | + | Note: GEANT4 is not currently used by GlueX/Hall-D software. | |
− | + | ||
− | + | =Using the scripts= | |
− | + | ||
− | + | Generally one should follow the relevant instructions on the Hall D wiki pages. These scripts give concrete examples of how one might structure a build session. In most cases the retrieval of the source code from web or subversion servers is scripted. | |
− | + | ||
− | + | N. B. (June 2008): Until recently these were all private scripts that used on Linux boxes under my direct control. There are still a few "Mark's-isms" in the scripts. If there is demand, they can be polished for general use. In the mean time if you have questions or need interpretations, do not hesitate to contact [[User:Marki|me]]. | |
− | + | ||
− | + | --[[User:Marki|Marki]] 15:24, 18 June 2008 (EDT) | |
− | + |
Revision as of 15:24, 18 June 2008
I've written a set of scripts that will retrieve and build various components of the Hall-D/GlueX software infrastructure. The scripts can serve as examples of the steps involved.
Get the scripts
They are stored in the Hall D Subversion repository. To check them out:
svn checkout https://halldsvn.jlab.org/repos/trunk/scripts/build_scripts
This will create the directory build_scripts in your current working directory. Alternately to can get a tarball at:
http://www.jlab.org/~marki/halld/build_scripts_2008-06-18.tar
Contents of the directory
- cernlib_build.sh Bourne shell script that builds CERNLIB from source. This may be necessary if a compatible binary version does not exist at CERN and/or if the RedHat rpm is missing certain key packages due to license issues.
- clhep_install.sh Bourne shell script to build the CLHEP package from source. CLHEP is used as a sort of C++ CERNLIB-replacement by GEANT4.
- geant4.8.1.p01.tcl Expect script used by geant4_install.sh. Expect is used to answer questions asked by the GEANT4 installation script.
- geant4_install.sh Bourne shell script to build GEANT4 from source. Uses geant4.8.1.p01.tcl to handle the interactive dialog in the installation script.
- gluex_env.csh Sets up the environment in the C shell for building JANA and Hall-D packages.
- halld_build.csh C shell script to build the Hall-D software packages. Relies on JANA having been built.
- hdds_install.sh Bourne shell script to install a stand-alone version of the HDDS package. Not necessary for Hall D users.
- jana_build.csh Bourne shell script for building the JANA package.
- Makefile_root GNU makefile for building ROOT from source.
- patches Directory containing various patches needed to build some of the packages.
- xerces-c_install.sh Bourne shell script build the XERCES-C++ package from Apache from source.
Note: GEANT4 is not currently used by GlueX/Hall-D software.
Using the scripts
Generally one should follow the relevant instructions on the Hall D wiki pages. These scripts give concrete examples of how one might structure a build session. In most cases the retrieval of the source code from web or subversion servers is scripted.
N. B. (June 2008): Until recently these were all private scripts that used on Linux boxes under my direct control. There are still a few "Mark's-isms" in the scripts. If there is demand, they can be polished for general use. In the mean time if you have questions or need interpretations, do not hesitate to contact me.
--Marki 15:24, 18 June 2008 (EDT)