Source

mana-core-athenamp / cmt / requirements

## Automatically generated CMT requirements file
package AthenaMP
author  Sebastien Binet <binet@cern.ch>

## For Athena policies: it has to be the first use statement
use AtlasPolicy 	AtlasPolicy-*

## For Gaudi tools, services and objects
use GaudiInterface 	GaudiInterface-* 	External

#aliases
alias mpMon             mpMon.py
alias mp_genevt_test    mp_genevt_test.py
alias mp_basic_test     mp_basic_test.py

## make the library private so nobody can link against
private

## Put here your package dependencies...
use AtlasROOT		AtlasROOT-*		External
use AtlasPython	 	AtlasPython-*		External 
use AtlasPyROOT		AtlasPyROOT-*		External
use AthenaKernel	AthenaKernel-*		Control
use AthenaBaseComps	AthenaBaseComps-*	Control
use AthenaPython	AthenaPython-*		Control

use EventInfo		EventInfo-*		Event
##

branches src src/components doc python share

apply_pattern declare_joboptions files="tests"
apply_pattern declare_python_modules files="*.py tests/*.py"

apply_pattern declare_scripts files="\
 -s=$(AthenaMP_root)/share/tests \
 mpMon.py \
 mjMon.py \
 mp_genevt_test.py \
 mp_basic_test.py \
 flush_cache.py \
 extract_mp_stat.py \
"

library AthenaMP *.cxx components/*.cxx
apply_pattern component_library

macro AthenaMP_PyROOT_linkopts " -L$(ROOT_home)/lib -lPyROOT"
macro_append AthenaMP_linkopts " $(AthenaMP_PyROOT_linkopts)"

## apparently, GaudiPolicy and asetup do not agree on installation directories
## for python extension modules, so change the GaudiPolicy macro to conform to
## what asetup expects:
macro python_bin_module_dir '$(tag)/python/lib-dynload' \
               target-winxp '$(tag)\python\lib-dynload' \
  use-shared-dir&target-winxp '$(tag)\lib/python2.6' \
               use-shared-dir '$(tag)/lib/python2.6'

## replacement of the multiprocessing features used by AthenaMP
apply_pattern pyd_module module=_athenamp files=_athenamp/*.cxx deps=AthenaMP

# TODO: figure out how to convince CMT to use the right set of linkopts (the
# _use_linkopts naming is from the pyd_module pattern); an alternative is to
# (build and) link with AthenaMPLib, but that runs into the same problem of
# not having a set of linkopts for the module only
#macro_append _athenamp_use_linkopts " -lrt"
macro_append AthenaMP_linkopts " -lrt"
macro_append AthenaMP_cppflags " -fno-strict-aliasing"

end_private