...
Type 4 Similar to 3, but involving a package other than enums. Any time package A needs access to a header in package B but does not need link-time access to a library in B, we need to explicitly add B's include folder to A's include path. For example, TkrUtil uses services from GlastSvc. It doesn't need to link to the GlastSvc library, but it does need IGlastDetSvc.h at compile time.
LdfEvent references a header file from Event and one from lsfData even though it doesn't link to the libraries from those packages (in fact it doesn't link to any other libraries). The Event header file in turn includes a header from enums. Here is the generate function from LdfEventLib.py:
No Format | ||
---|---|---|
| ||
def generate(env, **kw):
if not kw.get('depsOnly', 0):
env.Tool('addLibrary', library = ['LdfEvent'])
if env['PLATFORM']=='win32' and env.get('CONTAINERNAME','')=='GlastRelease':
env.Tool('findPkgPath', package = 'LdfEvent')
if env['PLATFORM']=='win32' and env.get('CONTAINERNAME','')=='GlastRelease':
env.Tool('findPkgPath', package = 'lsfData')
env.Tool('findPkgPath', package='enums')
env.Tool('findPkgPath', package='Event')
|
The work is summarized below. "Done" just means "edited", but entirely untested.
Package | Work | Status | ||||
---|---|---|---|---|---|---|
SConsFiles | Add tool findPkgPath; modify msvs.py, addLinkDeps.py, SConstruct | SConsFiles-00-28-01 Committed and tagged | ||||
SConsFiles | Mod to addLinkDeps to make type 2 updates neater | committed done; testing in progress | ||||
AcdRecon | type 1, type 4 done | AcdRecon-05-04-00 | ||||
AcdUtil | type 1, type 2, type 4 | AcdUtil-03-03-00 done | ||||
AdfEvent | type 2 | AdfEvent-00-06-00 | ||||
AnalysisNtuple | type 1, type 3, type 4 | AnalysisNtuple-02-64-00 done | ||||
AncillaryDataEvent | type 2 done | AncillaryDataEvent-01-05-00 | ||||
AncillaryDataUtil | type 2 done | AncillaryDataUtil-01-01-00 | ||||
astro | type 1 done, tested | astro-03-14-00 | ||||
CalDigi | type 4 | CalDigi-03-09-00 | ||||
CalibData | type 1 done | CalibData-00-28-00 | ||||
calibRootData | type 1 done | calibRootData-01-08-00 | ||||
CalibSvc | type 1, type 4 | done | CalibSvc-00-42-00 | |||
calibUtil calibTkrUtil | type 1 | done | calibUtil-01-14-00 | calibUtil | type 1 | done |
CalRecon | type 1 done | CalRecon-06-19-00 | ||||
CalUtil | type 1, type 4 done | CalUtil-03-15-00 | ||||
CalXtalResponse | type 1, type 4 done | CalXtalResponse-00-27-00 | ||||
celestialSources | type 2 done | celestialSources-01-06-00 | ||||
c/EarthPhenom | type 2 done | EarthPhenom-00-02-00 | ||||
c/eblAtten | type 2 done | eblAtten-00-09-00 | ||||
c/genericSources | type 2 done | genericSources-01-17-00 | ||||
c/GRB | type 2 done | GRB-04-05-00 | ||||
c/GRBobs | type 2 done | GRBobs-03-04-00 | ||||
c/GRBtemplate | type 2 done | GRBtemplate-01-04-00 | ||||
c/microQuasar | type 2 done | microQuasar-01-05-00 | ||||
c/Pulsar | type 2 done | Pulsar-03-02-00 | ||||
c/SpectObj | type 2 done | SpectObj-01-04-00 | ||||
CHS/eventFile | type 1 done, builds | eventFile-09-01-00 | ||||
classifier | type 2 done | classifier-01-07-00 | ||||
commonRootData | type 1 done | commonRootData-02-17-00 | ||||
configData | type 1, type 3 done | configData-01-12-00 | ||||
ConfigSvc | type 1, type 3 done | ConfigSvc-00-04-00 | ||||
CRflux | type 4 | CRflux-01-20-00 | ||||
detCheck | type 2 | detCheck-01-08-00 | ||||
DetDisplay | type 4 | DetDisplay-03-06-00 | ||||
detModel | type 2 | detModel-02-22-00 | ||||
digiRootData | type 1, type 3 | digiRootData-11-15-00 | ||||
EbfWriter | type 1 | EbfWriter-01-11-00 | ||||
embed_python | type 2 | embed_python-01-06-00 | ||||
Event | type 1, type 3 | Event-14-14-00 | ||||
evtUtils | type 1 | evtUtils-00-02-00 | ||||
facilities | type 1 | facilities-02-21-00 | ||||
fitsGen | type 2 | fitsGen-06-05-00 | ||||
flux | type 2 | flux-08-43-00 | ||||
FluxSvc | type 1 | FluxSvc-06-59-00 | ||||
G4Generator | type 1 | G4Generator-06-06-00 | ||||
GCRCalib | type 4 | GCRCalib-01-11-00 | ||||
gcrSelectRootData | type 1 | gcrSelectRootData-02-03-00 | ||||
geometry | type 2 | geometry-03-03-00 | ||||
geomrep | type 2 | geomrep-04-04-00 | ||||
GlastClassify | types 1, 2 | GlastClassify-07-10-00 | ||||
GlastSvc | type 1 | GlastSvc-11-01-00 | ||||
gui | type 2 | gui-03-08-00 | ||||
GuiSvc | type 1 | GuiSvc-03-11-00 | ||||
HepRepSvc | type 1, type 4 | HepRepSvc-00-42-00 | ||||
idents | type 2 | idents-02-21-00 | ||||
Interleave | type 4 | Interleave-01-08-00 | ||||
LdfConverter | type 4 | LdfConverter-04-07-00 | ||||
LdfEvent | type 1, type 3 | LdfEvent-04-13-00 | ||||
ldfReader | type 1, type 3 | ldfReader-07-05-00 | ||||
lsfData | type 1, type 3 | lsfData-04-04-00 | ||||
mcRootData | type 1 | mcRootData-02-23-00 | ||||
mootCore | type 1 | mootCore-01-25-00 | ||||
MootSvc | type 1 | MootSvc-01-03-00 | ||||
ntupleWriterSvc | type 1 | ntupleWriterSvc-06-02-00 | ||||
OnboardFilter | type 1, type 4 | OnboardFilter-04-17-00 | ||||
OnboardFilterTds | type 1, type 3 | OnboardFilterTds-00-12-00 | ||||
Overlay | type 1, type 3, type 4 | Overlay-02-03-00 done | ||||
OverlayEvent | type 1, type 3, type 4 | OverlayEvent-01-01-00 done | ||||
overlayRootData | type 1, type 3 done | overlayRootData-00-04-00 | ||||
rdbModel | type 1 done | rdbModel-02-15-00 | ||||
reconRootData | type 1, type 3 | reconRootData-09-30-00 | ||||
RootConvert | type 1 done | RootConvert-01-52-00 | ||||
RootDisplay | type 1, type 4 | RootDisplay-00-06-00 | ||||
RootIo | type 1 done | RootIo-25-05-00 | ||||
rootUtil | type 1 done | rootUtil-01-05-00 | ||||
tip | type 2 done, tested | tip-02-18-00 | ||||
TkrRecon | type 1, type 4 done | TkrRecon-10-34-00 | ||||
TkrUtil | type 1, type 4 done | TkrUtil-03-27-00 | ||||
Trigger | type 1, type 3 done | Trigger-07-05-00 | ||||
xmlBase | type 1 done, tested. | xmlBase-05-06-00 | ||||
xmlUtil | type 1 | xmlUtil-03-05-00 | ||||
SConsFiles | mod to registerTargets.py to not install headers; | done, tested. |