Difference between revisions of "Build Scripts and Makefiles"

From GlueXWiki
Jump to: navigation, search
(first draft)
m
Line 18: Line 18:
 
* '''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.
 
* '''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.
 
* '''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.
+
* '''halld_build.csh''' C shell script to build the Hall-D/GlueX 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.
 
* '''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.
 
* '''jana_build.csh''' Bourne shell script for building the JANA package.

Revision as of 16:22, 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/GlueX 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)