You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Installed headers are a mixed blessing on Linux (developers have to keep track of which copy to modify) but overall probably a benefit.  On Windows it seems the balance tips the other way; hence this project.  End result will be to not install headers on Windows in the context of GlastRelease. 

What needs to be done

Several files in the SConsFiles package need relatively small changes.  Most are backwards-compatible and can be tagged early on.  The final one, disabling the install of headers, should be in a new tag, made at the end of all other changes.  Most other packages will also need changes to insure that, in all cases, headers belonging to one package will be accessible to other packages which need them. About 80 or the roughly 100 GR packages need changes of one sort or another. Packages which don't have any public headers can be left alone.  There are 3 kinds of changes that need to be made, depending on characteristics of the package.

  1. Package xxx builds a shared library and has public headers.  Need to add a couple lines to xxxLib.py (the file which gets invoked for the environment building xxx's library and also by other environements, building targets depending on that library) so that packages depending on xxx will get proper thing added to their include path
  2. Package xxx builds a static library.  Here, since the library does not depend on other package libraries, components have to be added "by hand" to the include path. These changes, varying somewhat on a per-package basis, also go in xxxLib.py.
  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.

The work is summarized below.

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

done

AcdUtil

type 1, type 2

 

AdfEvent

type 2

 

AnalysisNtuple

type 1

done

AncillaryDataEvent

type 2

 

AncillaryDataUtil

type 2

 

astro

type 1

done, tested

CalibData

type 1

done

calibRootData

type 1

done

CalibSvc

type 1

done

calibTkrUtil

type 1

done

calibUtil

type 1

done

CalRecon

type 1

done

CalUtil

type 1

done

CalXtalResponse

type 1

done

celestialSources

type 2

 

c/EarthPhenom

type 2

done

c/eblAtten

type 2

done

c/genericSources

type 2

 

c/GRB

type 2

 

c/GRBobs

type 2

 

c/GRBtemplate

type 2

 

c/microQuasar

type 2

 

c/Pulsar

type 2

 

c/SpectObj

type 2

 

CHS/eventFile

type 1

done, builds

classifier

type 2

done

commonRootData

type 1

done

configData

type 1

done

ConfigSvc

type 1

done

detCheck

type 2

done

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

 

flux

type 2

done

FluxSvc

type 1

done

G4Generator

type 1

done

gcrSelectRootData

type 1

done

geometry

type 2

done

geomrep

type 2

done

GlastClassify

types 1, 2

 

GlastSvc

type 1

done

gui

type 2

done

GuiSvc

type 1

done

HepRepSvc

type 1

done

idents

type 2

done, tested.

LdfEvent

type 1,3

done, builds

ldfReader

type 1

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

done

OnboardFilterTds

type 1

done

Overlay

type 1

done

OverlayEvent

type 1, type 3

done

overlayRootData

type 1, type 3

done

rdbModel

type 1

done

reconRootData

type 1, type 3

done

RootConvert

type 1

done

RootDisplay

type 1

done

RootIo

type 1

done

rootUtil

type 1

done

tip

type 2

done, tested

TkrRecon

type 1

done

TkrUtil

type 1

done

Trigger

type 1

done

xmlBase

type 1

done, tested.

xmlUtil

type 1

done, tested.

SConsFiles

mod to registerTargets to not install headers

done, tested.  

  • No labels