...
Type 3 Anything needing access to headers from the enums package (and not dependent on something else needing access to enums). enums doesn't have a library. When headers are installed, there is no need for explicit action to get access to enums' headers. If they're not, packages needing those headers must add an entry to their include path. If a package X references something from enums in a public header, the inclusion of the enums include path entry has to propagate to packages which might reference X's headers. This will happen naturally in nearly all cases if the new code goes in Xlib.py.
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.
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 | Committed and tagged |
SConsFiles | Mod to addLinkDeps to make type 2 updates neater | done; testing in progress |
AcdRecon | type 1, type 4 | done |
AcdUtil | type 1, type 2, type 4 | done |
AdfEvent | type 2 | done |
AnalysisNtuple | type 1, type 3, type 4 | done |
AncillaryDataEvent | type 2 | done |
AncillaryDataUtil | type 2 | done |
astro | type 1 | done, tested |
CalDigi | type 4 | done |
CalibData | type 1 | done |
calibRootData | type 1 | done |
CalibSvc | type 1, type 4 | done |
calibTkrUtil | type 1 | done |
calibUtil | type 1 | done |
CalRecon | type 1 | done |
CalUtil | type 1, type 4 | done |
CalXtalResponse | type 1, type 4 | done |
celestialSources | type 2 | done |
c/EarthPhenom | type 2 | done |
c/eblAtten | type 2 | done |
c/genericSources | type 2 | done |
c/GRB | type 2 | done |
c/GRBobs | type 2 | done |
c/GRBtemplate | type 2 | done |
c/microQuasar | type 2 | done |
c/Pulsar | type 2 | done |
c/SpectObj | type 2 | done |
CHS/eventFile | type 1 | done, builds |
classifier | type 2 | done |
commonRootData | type 1 | done |
configData | type 1, type 3 | done |
ConfigSvc | type 1, type 3 | done |
CRflux | type 4 | done |
detCheck | type 2 | done |
DetDisplay | type 4 |
|
detModel | type 2 | done |
digiRootData | type 1, type 3 | done |
EbfWriter | type 1 | done |
embed_python | type 2 | done |
Event | type 1, type 3 | done |
evtUtils | type 1 | done |
facilities | type 1 | done, tested |
fitsGen | type 2 | done |
flux | type 2 | done |
FluxSvc | type 1 | done |
G4Generator | type 1 | done |
GCRCalib | type 4 |
|
gcrSelectRootData | type 1 | done |
geometry | type 2 | done |
geomrep | type 2 | done |
GlastClassify | types 1, 2 | done |
GlastSvc | type 1 | done |
gui | type 2 | done |
GuiSvc | type 1 | done |
HepRepSvc | type 1, type 4 | done |
idents | type 2 | done, tested. |
LdfConverter | type 4 | done |
LdfEvent | type 1,3 | done, builds |
ldfReader | type 1, type 3 | done |
lsfData | type 1, type 3 | done |
mcRootData | type 1 | done |
mootCore | type 1 | done |
MootSvc | type 1 | done |
ntupleWriterSvc | type 1 | done |
OnboardFilter | type 1, type 4 | done |
OnboardFilterTds | type 1, type 3 | done |
Overlay | type 1, type 3, type 4 | done |
OverlayEvent | type 1, type 3, type 4 | done |
overlayRootData | type 1, type 3 | done |
rdbModel | type 1 | done |
reconRootData | type 1, type 3 | done |
RootConvert | type 1 | done |
RootDisplay | type 1, type 4 | done |
RootIo | type 1 | done |
rootUtil | type 1 | done |
tip | type 2 | done, tested |
TkrRecon | type 1, type 4 | done |
TkrUtil | type 1, type 4 | done |
Trigger | type 1, type 3 | done |
xmlBase | type 1 | done, tested. |
xmlUtil | type 1 | done, tested. |
SConsFiles | mod to registerTargets to not install headers | done, tested. |