The packaging of glastsim with CMT - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

The packaging of glastsim with CMT

Description:

Make them ... Unix make works with cygwin (just console) CMT needs GLAST-specific tools ... src/Makefile.header:66: setup.make: No such file or directory ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 21
Provided by: tob79
Category:
Tags: cmt | glastsim | make | packaging

less

Transcript and Presenter's Notes

Title: The packaging of glastsim with CMT


1
The packaging of glastsim(with CMT)
  • This is an update from a talk I gave 2 weeks
    ago
  • (Even more) Help and suggestions from Traudl and
    Sawyer
  • New emphasis on adoption of CMT

2
Objectives
  • Reorganize the current glastsim code into
    packages
  • Make them shared libraries
  • Define a package-oriented development environment
    that generates MSVC project files and unix make
    files from a common description

3
Example disk structure
root has package name
Version name root for clients
Documentation
Public header files
? ? ?
contains requirements file All build files
Source files
4
Before simul_recon root directory
CLHEP/ configure
gheisha/ nt.out CVS/
configure.bat gismo/
ntmake.bat Intermediate/ configure.in
glastmedia/ prodchain.sh Makefile
.app console.dep glastsim.xml
prodfilter.sh Makefile.common.in
console.dsp glastsoftware.mdl
prodrun.sh Makefile.in console.mak
glastsoftware.prc randseeds.sh Makefile.
lib.in control/
glastsoftware.prp readout/ NT_test.mak
cygwin/ graphics/
reconstruction/ PEGS4/ data/
gsim.exe.core
simul_recon.dsw README doc/
gui.dsp
simul_recon.ncb Release/
egcs-1.1.aix.out gui.plg
simul_recon.opt analysis/
egcs-1.1.linux.out hpux.out
simul_recon.shared ao_glastsim.xml
egcs-1.1.osf4.out instrument/
source_library.xml application/
egcs-1.1.solaris.out insure.out
test.bat arve/ egs/
level2/ user_tuple.xml batch/
expat/ makedepend
wingui/ config/ facilities/
merit/ config.h flux/
merit.dsw config.h.in
geometry/ motifgui/
5
After packages root
analysis/ geometry/ glastmedia/
readout/ application/ geomrep/
graphics/ reconstruction/ data/
gismo/ instrument/
xml/ facilities/ glast_settings/
level2/ flux/ glastflux/ merit/
  • Root directory has only package roots
  • Special package glast_settings has over-all
    build instructions

6
Some changes
  • gismo
  • Contains egs, gheisha, and PEGS4
  • graphics
  • Contains windows, motif, batch, control
  • facilities
  • New xml split off

7
The uses tree (partial)
application
reconstruction
glastflux
data
level2
flux
readout
instrument
analysis
geometry
8
A lot to do
  • reconstruction and instrument still need
    splitting apart
  • application is top-heavy
  • need to rethink user interface stuff

9
Status ( 6 Jan 2000)
  • Glastsim (gui and console versions) and merit
    both function as before
  • Unix make works with cygwin (just console)
  • CMT needs GLAST-specific tools and documentation

10
Continuation 20 Jan 2000
  • Some To-dos still to do!
  • Set of packages (v1) almost ready to checkout
  • Many of Traudls suggestions implemented
  • Interface classes weaned
  • Javadoc comments set for several packages (and
    tested with Doxygen).
  • see http//glast.phys.washington.edu/burnett/gism
    o/html/
  • Extensive development of Visual Studio fragments

11
The package model a tree
server
server
server
server
uses, or depends on
Joe package
provides services for
client
client
client
client
12
So what does uses mean?
  • Version modifier
  • Compile time dependencies
  • include paths
  • preprocessor defines
  • Link time dependencies
  • Library paths, lib names
  • (so package must create its binaries, or
    constituents )
  • Execution time dependencies
  • Shareable paths, names
  • Environment variable definitions, e.g., to data
    files
  • Alias names

13
About CMT (Configuration Management Tool)
  • Special folder mgr contains two primary files
  • requirements complete description of interface
  • Makefile standard user-added targets
  • Executable cmt a parser of this file allowing
  • query
  • building other files
  • make
  • DevStudio
  • any document
  • References
  • http//www.lal.in2p3.fr/SI/CMT/CMTDoc.html
  • http//lhcb.cern.ch/computing/Support/html/cmt.htm

14
Anatomy of a requirements file
package geomrep use geometry v0 use graphics
v0 macro geomrep_linkopts "-L
GEOMREPROOT/CMTCONFIG -lgeomrep"\
VisualC "geomrep.lib" private library geomrep
.cxx ../geomrep/.h application testgeom
-windows ../test/testgeom.cxx\ GRAPHICSROOT/w
indows/wingui.rc
Define a make macrowill be used by client links
Two constituentsa library and an executable
15
CMT query example
  • cmt show uses
  • use geometry v0
  • use glast_settings v0
  • use CLHEP v1r4
  • use graphics v0
  • use glast_settings v0
  • use CLHEP v1r4
  • Selection
  • use CMT v1r3 /packages
  • use CLHEP v1r4 /packages/
  • use glast_settings v0 /packages/
  • use graphics v0 /packages/
  • use geometry v0 /packages/

16
Creating a Visual Studio project
  • cmt build msdev

17
Creating unix make files
  • make

han/packages/geomrep/v0/mgr36make /packages/CM
T/v1r3/src/Makefile.header61 cmt_path.make No
such file or directory /packages/CMT/v1r3/src/Make
file.header66 setup.make No such file or
directory /packages/CMT/v1r3/src/constituents.make
5 constituents.make No such file or
directory /packages/CMT/v1r3/mgr/cmt build
make_setup -tagi586 setup.make42 i586.make No
such file or directory constituents.make9
geomrep.make No such file or directory constituen
ts.make15 testgeom.make No such file or
directory Now rebuilding testgeom.make Application
testgeom Now rebuilding geomrep.make Library
geomrep Now rebuilding i586.make geomrep.make35
geomrep_dependencies.make No such file or
directory testgeom.make25 testgeom_dependencies.
make No such file or directory Now rebuilding
testgeom_dependencies.make Now rebuilding
geomrep_dependencies.make echo "" i586.make
ok geomrep library ok geomrep ok cd ../i586/
g -o testgeom.exe.new ../i586/testgeom.o -L
/packages/geomrep/v0/i586 -lgeomrep -L
/packages//geometry/ v0/i586 -lgeometry -L
/packages//graphics/v0/i586 -lgraphics -L
/packages//CLHEP/v1r4/CLHEP -lCLHEP mv -f
testgeom. exe.new testgeom.exe
18
The result
19
Status and Plans
  • Packages are currently in cvs under cmt
  • Plan to move to packages for development release,
    in next few days
  • Will include a setup script that now exists
  • Implements sharable libraries (dlls)
  • BUT
  • Release strategy not clear
  • Unix not ready

20
Unix plans
  • cygwin success is a proof of principle
  • No special modification!
  • Linux does not yet work (cursory look)
  • Surprising, since VC and cygwin worked
    immediately
  • Need someone to
  • Understand principles
  • Formulate implement policies
Write a Comment
User Comments (0)
About PowerShow.com