EXTLIB Survey

Packages using EXTLIB GLAST_EXT references EXTLIB requirements Proposals
Name of using package Package type Symbols usedWhy
AIDAInterface packageEXT_DIRGet to root directory of external package
CLHEPInterface packageLHCXX_DIRGet to root directory of external package
HTLInterface packageLHCXX_DIRGet to root directory of external package
MYSQLEXTInterface packageEXT_DIRGet to root directory of external package
XMLEXTInterface packageEXT_DIRGet to root directory of external package
GaudiSvcGaudi packageLHCBDBASE Default path to particle.cdf file, used by ParticlePropertySvc. If LHCBDBASE isn't defined it looks in current directory.
GaudiSysCheckokut packageNone directly Uses external library interface packages which themselves use EXTLIB. Probably mentioned explicitly to specify precise version.
GleamCheckout package None directly Uses external library interface packages which themselves use EXTLIB. Probably mentioned explicitly to specify precise version.
G4GeneratorG4 clientNone directly Ostensibly to get to Geant4 library path, but ought to be unnecessary because of useof Geant4 package
Geant4RuntimeInterface packagenone No good reason if using symbol GLAST_EXT

GLAST_EXT references

Two of our interface packages already just use GLAST_EXT directly: ROOT and Geant4Runtime. All of the other interface packages could be handled similarly.

EXTLIB requirements

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}"

Proposals

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

J. Bogart

Last modified: