| Packages using EXTLIB | GLAST_EXT references | EXTLIB requirements | Proposals |
| Name of using package | Package type | Symbols used | Why |
|---|---|---|---|
| AIDA | Interface package | EXT_DIR | Get to root directory of external package |
| CLHEP | Interface package | LHCXX_DIR | Get to root directory of external package |
| HTL | Interface package | LHCXX_DIR | Get to root directory of external package |
| MYSQLEXT | Interface package | EXT_DIR | Get to root directory of external package |
| XMLEXT | Interface package | EXT_DIR | Get to root directory of external package |
| GaudiSvc | Gaudi package | LHCBDBASE | Default path to particle.cdf file, used by ParticlePropertySvc. If LHCBDBASE isn't defined it looks in current directory. |
| GaudiSys | Checkokut package | None directly | Uses external library interface packages which themselves use EXTLIB. Probably mentioned explicitly to specify precise version. |
| Gleam | Checkout package | None directly | Uses external library interface packages which themselves use EXTLIB. Probably mentioned explicitly to specify precise version. |
| G4Generator | G4 client | None directly | Ostensibly to get to Geant4 library path, but ought to be unnecessary because of useof Geant4 package |
| Geant4Runtime | Interface package | none | No good reason if using symbol GLAST_EXT |
Two of our interface packages already just use GLAST_EXT directly: ROOT and Geant4Runtime. All of the other interface packages could be handled similarly.
For convenience, the most recent version of EXTLIB requirements is reproduced here. Primary functions appear to be
# this package sets links to outside packages.
package EXTLIB
setup_script check_env_var
ignore_pattern package_stamps
include_path none
#=================================================================
set EXT_DIR "${GLAST_EXT}"
#=================================================================
# LHCXX_DIR defines where to find HTL and CLHEP
set LHCXX_DIR "${EXT_DIR}"
#=================================================================
# ROOT_DIR defines where to find ROOT
set ROOT_DIR "${EXT_DIR}/ROOT"
#=================================================================
# GEANT4_DIR defines where to find Geant4.
# This is the default, but it expected that people may want to change this
set GEANT4_DIR "${EXT_DIR}/geant4"
#=================================================================
# Added, so that ParticlePropertiesSvc can find particle.cdf
set LHCBDBASE "${EXTLIBROOT}"
We could either get rid of EXTLIB entirely or we could whittle it down to just the check for GLAST_EXT and the definition of EXT_DIR. I lean slightly towards the latter. The check for GLAST_EXT isn't a bad idea, though it probably could be done elsewhere. The definition of EXT_DIR gives us another level of indirection in case we want to change the way the external libraries are laid out. It could well be that we'll never need to do this. In this case EXTLIB is only a very small extra bit of baggage.
Whether or not we keep any EXTLIB package we should get rid of ParticlePropertyService's dependence on the variable LHCBDBASE and get rid of references to LHCXX_DIR in the CLHEP and HTL interface packages.
| Packages using EXTLIB | GLAST_EXT references | EXTLIB requirements | Proposals |
Last modified: