mana-core /

Filename Size Date modified Message
src
wafflelib
393 B
3.6 KB
waf
91.4 KB
5.6 KB
mana-core
=========

The strictly essential parts extracted from Athena/Gaudi to have a
mini-Athena environment tailored for reading ROOT n-tuples.

Installation
------------

 - get the sources:

$ cd somewhere
$ hg clone http://bitbucket.org/binet/mana-core mana
$ cd mana

 - first configuration:
$ ./waf configure --prefix=install_area

 - build
$ ./waf build -j4
$ ./waf install
$ ./waf shell
[waf] $ athena.py AthenaRootComps/tests/test_athena_evtstore_root.py

 - usual edit/compile/run cycle:
$ ./waf build install
$ ./waf shell 
[waf] $ athena.py some-jobo.py


the 'waf shell' command spawns an interactive sub-shell which has been
correctly configured with the project's environment setup ($PATH,
$LD_LIBRARY_PATH, etc...)


 - using mana from within a CMT environment:
   mana tries to automagically detect and pick up the libraries from a
   (LCG)CMT environment (ie: $SITEROOT is defined as well as
   $CMTCONFIG).
   In such a setup, configuring mana is done like so:

$ ./waf configure --prefix=install_area --cmtcfg=$CMTCONFIG

   Note: --cmtcfg=$CMTCONFIG is actually (now) not needed anymore


Dependencies
------------

 - gccxml (>=0.9)
 
 - ROOT  (>=5.28.00)  (with Reflex/Cintex enabled)

 - CLHEP (==1.9.4.7)

 - Boost (>=1.44)

 - python (>=2.6)

 - rt,pthread (on linux)

 - uuid (>= 1.38)

TODO
----

 - prune still extraneous stuff in GaudiKernel,
   Gaudi{Alg,Aud,Utils,Python} 

 - clean-up dependencies in src/core/<packages>

 - clear(er) work-model

 - make a src-dist tar-ball

 - make a bin-dist tar-ball (rpms, debs, ms-installer.exe, ...)

 - better inference of libraries versions when in LCGCMT piggy-back
   mode 

 - better handling of cmt-alias mechanism
   -> probably just create symlinks

 - handle code|binaries distribution:

   - $ wget http://bitbucket.org/binet/mana-bootstrap/mana.py
     $ mana.py --bootstrap mana-dev
     $ mana.py --get mana-ext-src
     $ ...

 - migrate src/ext to mana-ext and rewrite src/ext to be glue code
   also refactorize ext a la find_xyz.py

 - support for distcc

 - separate files with dbg symbols

 - test (hierarchical) projects

 - test IDEs (eclipse, visual studio, xcode)

 - test on windows (TM)

 - better handle external dependencies (e.g. put all versions/paths into an 
   ascii file)

FIXME
-----

 - provide a way to not require to build mana-core to build "mana-dev"
 - provide a way to not require CMT (dump-athfile, ...)
 - fix ld-library-path empty slots on macosx (prevents uuid to be correctly discovered)
 - fix ROOTSYS detection in 'waf shell'



Atlas packages
--------------
src/core/AtlasCommonPolicy
src/core/AtlasTest/TestTools
src/core/Control/AthenaBaseComps
src/core/Control/AthenaCommon
src/core/Control/AthenaKernel
src/core/Control/AthenaMP
src/core/Control/AthenaPython
src/core/Control/AthenaRootComps
src/core/Control/AthenaServices
src/core/Control/CLIDComps
src/core/Control/CLIDSvc
src/core/Control/CxxUtils
src/core/Control/DataModel
src/core/Control/GaudiSequencer
src/core/Control/Navigation
src/core/Control/PerformanceMonitoring/PerfMonEvent
src/core/Control/PerformanceMonitoring/PerfMonKernel
src/core/Control/RootUtils
src/core/Control/SGComps
src/core/Control/SGMon/SGAudCore
src/core/Control/SGTools
src/core/Control/StoreGate
src/core/Control/StoreGateBindings
src/core/Database/AthenaPOOL/AthenaPoolKernel
src/core/Database/AtlasSTLAddReflex
src/core/Event/EventInfo
src/core/GaudiAlg
src/core/GaudiAud
src/core/GaudiKernel
src/core/GaudiMP
src/core/GaudiPython
src/core/GaudiSvc
src/core/GaudiUtils
src/core/Tools/AtlasDoxygen
src/core/Tools/CodeCheck
src/core/Tools/PyCmt
src/core/Tools/PyJobTransformsCore
src/core/Tools/PyUtils
src/ana-ex/D3pdReaderExample

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.