Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.