dnl framework and components
dnl
dnl ------------------------------------------------------------------
-AC_INIT([Alice High Level Trigger] , [0.7-dev], [Matthias.Richter@ift.uib.no], alice-hlt)
+
+dnl Take either the AliRoot tag as version id or the current revision
+AC_INIT([Alice High Level Trigger] ,
+ m4_esyscmd([url=`svn info 2> /dev/null | grep "URL:" | cut -d: -f3 | sed -e 's|[/]*HLT[/]*$||' | sed -e 's|^[/]*||g' | cut -d '/' -f 4`; \
+ revision=`svn info 2> /dev/null | grep "Revision:" | cut -d ' ' -f 2 | cut -d '/' -f 4`; \
+ if test "x$url" != "x"; then echo -n $url; \
+ elif test "x$revision" != "x"; then echo -n $revision ; \
+ elif test -e .revision && test x`cat .revision` != x; then \
+ cat .revision; \
+ else \
+ echo -n invalid-version; \
+ fi]),
+ [Matthias.Richter@ift.uib.no],
+ [alice-hlt])
dnl ------------------------------------------------------------------
dnl the package from CVS contains the old Makefiles as well. In order to
AC_CANONICAL_SYSTEM
AC_PREFIX_DEFAULT(${PWD})
AC_CONFIG_SRCDIR(BASE/AliHLTComponent.cxx)
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([-Wno-portability])
AC_PROG_CC
AC_PROG_CXX
AC_PROG_LIBTOOL
# - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires
# libTreePlayer.so
# - from Jan 07 libESD also depends on libXMLIO
- ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO'
+ # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
+ # - libCDB.so depends on libXMLParser since Mar 11 2009 r 31411
+ ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer XMLParser'
for CHECKLIB in $ROOT_CHECKLIBS ; do
LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
# TBuffer.h has been made pure virtual in root v5-15-02 and one
# has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
- AC_CHECK_HEADERS([TBufferFile.h])
+ AC_CHECK_HEADER([TBufferFile.h], [], [HAVE_NOT_TBUFFERFILE])
# TView.h has been made pure virtual right after root v5-15-02 and one
# has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
- AC_CHECK_HEADERS([TView3D.h])
+ AC_CHECK_HEADER([TView3D.h], [], [HAVE_NOT_TVIEW3D])
CPPFLAGS=$save_CPPFLAGS
LDFLAGS=$save_LDFLAGS
AC_DEFINE(use_aliroot)
AC_DEFINE(use_root)
CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
dnl ------------------------------------------------------------------
dnl check for AliRoot features
if test ! "x$have_aliroot" = "xno" ; then
ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
- ALIROOT_LIBS="-lESD $ADD_ROOTLIBS"
+ ALIROOT_LIBS="$ADD_ROOTLIBS"
save_CPPFLAGS=$CPPFLAGS
save_LDFLAGS=$LDFLAGS
save_LIBS=$LIBS
LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
# check for certain AliRoot libraries/files/features
+ # libSTEERBase present since Aug 7 2007
+ # ###########################################
+ # temporary workaround for circular dependency libSTEERbase libSTEER
+ # https://savannah.cern.ch/bugs/index.php?49914
+ # disable the sequence of checks and load libraries in parallel
+ ALIROOT_LIBS="$ALIROOT_LIBS -lAOD -lCDB -lRAWDatabase -lRAWDatarec -lESD -lSTEER"
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
+ CHECKLIB=STEERBase
+ AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
+
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
+ CHECKLIB=AOD
+ AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
+
+ # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
+ CHECKLIB=CDB
+ AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
+
# splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
have_alirawdata=no
LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
CHECKLIB=RAWDatabase
AC_CHECK_LIB([$CHECKLIB],[_init],
[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
- LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lESD -lSTEER"
CHECKLIB=RAWDatarec
AC_CHECK_LIB([$CHECKLIB],[_init],
[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
- AC_DEFINE(HAVE_ALIRAWDATA)
have_alirawdata=$CHECKLIB])],
[# second pass with -RAWData
CHECKLIB="-lRAWData"
AliRawReaderFile freader;
AliRawReaderDate dreader(NULL,0);
AliRawReaderRoot rreader(NULL,0);])],
- [AC_DEFINE(HAVE_ALIRAWDATA)
- ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
+ [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
have_alirawdata=$CHECKLIB],
[have_alirawdata=no])
]) dnl AC_CHECK_LIB RAWDatabase
AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
AC_MSG_RESULT([$have_alirawdata])
- LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
- CHECKLIB=AOD
- AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
-
- # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
- # in addition a circular dependency has been introduced in March 06 which
- # requires to add libSTEER already here
LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
- CHECKLIB=CDB
+ CHECKLIB=ESD
AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
CHECKLIB=STEER
- AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
+ AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
dnl
dnl check whether AliLog supports notification callback
dnl
LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
have_alilog_notification=no
+ if test ! "x$have_aliroot" = "xno" ; then
AC_MSG_CHECKING([whether AliLog supports notification callback])
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
[AliLog::AliLogNotification fct])],
[have_alilog_notification=yes],
[AC_DEFINE(NO_ALILOG_NOTIFICATION)])
AC_MSG_RESULT([$have_alilog_notification])
+ fi
+
+ if test "x$have_aliroot" = "xno" ; then
+ # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
+ # but library dependencies might not be resolved completely
+ #ALIROOT_CPPFLAGS=
+ AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
+ This can happen from time to time due to development in AliRoot. You can
+ force compilation of detector libs by --enable-<detector>, but be aware
+ of unresolved references at runtime.])
+ AC_MSG_WARN([ ------------------------------------------ ])
+ AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
+ AC_MSG_WARN([ please include config.log ])
+ AC_MSG_WARN([ ------------------------------------------ ])
+ ALIROOT_LDFLAGS=
+ ALIROOT_LIBS=
+ fi
+
+ dnl
+ dnl ESD supports non-std content
+ dnl
+ have_esd_nonstd=no
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>
+ #include <AliExternalTrackParam.h>
+ #include <TTree.h>
+ #include <TClonesArray.h>],
+ [AliESDEvent esd;
+ esd.CreateStdContent();
+ TTree* tree=new TTree("esdTree", "Tree with HLT ESD objects");
+ TClonesArray* a=new TClonesArray("AliExternalTrackParam");
+ a->SetName("SomeObject");
+ esd.AddObject(a);
+ esd.WriteToTree(tree);
+ if (!tree->FindBranch("SomeObject")) return 1;
+ return 0;])],
+ [have_esd_nonstd=yes],
+ [AC_DEFINE(HAVE_NOT_ESD_NONSTD)])
+ AC_MSG_CHECKING(whether ESD supports non standard content)
+ AC_MSG_RESULT([$have_esd_nonstd])
+
+ dnl
+ dnl ESD copy function added May 9 2008 rev 25667
+ dnl
+ if test "x$have_esd_nonstd" != "xyes"; then
+ have_esd_copy=no
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
+ [AliESDEvent esd1;
+ AliESDEvent esd2;
+ esd2=esd1;])],
+ [have_esd_copy=yes],
+ [AC_DEFINE(HAVE_NOT_ESD_COPY)])
+ AC_MSG_CHECKING(for ESD assignment operator)
+ AC_MSG_RESULT([$have_esd_copy])
+ fi
+
+ dnl
+ dnl AliRawReaderMemory support for multiple buffers added
+ dnl revision 26829 Jun 2008
+ dnl
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
+ have_rawreadermemory_multbuffers=no
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
+ [AliRawReaderMemory rr;
+ rr.AddBuffer(NULL, 0, 0);])],
+ [have_rawreadermemory_multbuffers=yes],
+ [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
+ AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
+ AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
+
+ dnl
+ dnl Changes in the magnetic field implementation
+ dnl revision 30848 Feb 1 2009
+ dnl
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
+ have_alimagf30848=no
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMagF.h>],
+ [int test=AliMagF::k5kG;])],
+ [have_alimagf30848=yes],
+ [AC_DEFINE(HAVE_NOT_ALIMAGF30848)])
+ AC_MSG_CHECKING(AliMagF contains field definitions)
+ AC_MSG_RESULT([$have_alimagf30848])
+
+ dnl
+ dnl Cleanup of the RunLoader implementation
+ dnl revision 30859 Feb 2 2009
+ dnl
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
+ have_alirunloader30859=no
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRunLoader.h>],
+ [AliRunLoader* rl=AliRunLoader::Instance();])],
+ [have_alirunloader30859=yes],
+ [AC_DEFINE(HAVE_NOT_ALIRUNLOADER30859)])
+ AC_MSG_CHECKING(AliRunLoader::Instance)
+ AC_MSG_RESULT([$have_alirunloader30859])
+
+ have_aliqav1=no
+ AC_CHECK_HEADER([AliQAv1.h], [have_aliqav1=yes], [])
+ AM_CONDITIONAL(EN_HLT_QA, test x$have_aliqav1 = xyes)
+ AC_CHECK_HEADER([AliESDHLTDecision.h], [], [AC_DEFINE(HAVE_NOT_ALIESDHLTDECISION)])
+
+ dnl
+ dnl required header files and libraries for modules
+ dnl
dnl
dnl Check for the interface of AliExternalTrackParam which has been changed
AC_MSG_CHECKING(for version of AliExternalTrackParam)
AC_MSG_RESULT($externaltrackparam_version)
- dnl
- dnl required header files and libraries for the AliHLTPHOS library
- dnl
- have_alicalorawstream=no
- if test ! "x$have_aliroot" = "xno" ; then
- # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
- #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
- AC_MSG_CHECKING([for AliCaloRawStream.h usability])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
- #include <AliCaloRawStream.h>],
- [int i])],
- [AC_DEFINE(HAVE_ALICALORAWSTREAM)
- have_alicalorawstream=yes],
- [])
- AC_MSG_RESULT([$have_alicalorawstream])
- fi
-
- dnl
- dnl required header files and libraries for the AliHLTTRD library
- dnl
- AC_CHECK_HEADERS([AliGeomManager.h], [], [AC_DEFINE([HAVNT_ALIGEOMMANAGER])])
-
- dnl
- dnl required header files and libraries for the AliHLTTPC library
- dnl
- if test ! "x$have_aliroot" = "xno" ; then
- # the HLTTPCLib needs to link agains TPCbase and TPCrec
- # TPC library for AliTPCParam and AliSimDigits used in
- # AliHLTTPCFileHandler.h and AliHLTTPCDisplay.cxx
- # fram May 07 TPCbase depends on libGui.so
- saveALIROOT_CPPFLAGS="$ALIROOT_CPPFLAGS"
- ALIROOT_CPPFLAGS="$saveALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
- CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
- have_alitpc=yes
- AC_MSG_CHECKING(for required classes in TPC libraries)
- if test ! "x$have_alitpc" = "xno" ; then
- save_ALIROOT_LIBS=$ALIROOT_LIBS
- ALIROOT_LIBS="$save_ALIROOT_LIBS -lTPCbase -lTPCrec -lGui"
- LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliSimDigits.h>
- #include <AliTPCParam.h>
- #include <AliTPCParamSR.h>
- #include <AliTPCDigitsArray.h>
- #include <AliTPCClustersArray.h>
- #include <AliTPCcluster.h>
- #include <AliTPCClustersRow.h>],
- [AliSimDigits dig;
- AliTPCParam param;
- AliTPCParamSR paramsr;
- AliTPCDigitsArray digarray;
- AliTPCClustersArray clustarray;
- AliTPCcluster clust;
- AliTPCClustersRow row])],
- [AC_DEFINE(HAVE_ALITPC)
- saveALIROOT_CPPFLAGS=$ALIROOT_CPPFLAGS
- saveALIROOT_LIBS=$ALIROOT_LIBS],
- [have_alitpc=no
- ALIROOT_CPPFLAGS=$saveALIROOT_CPPFLAGS
- ALIROOT_LIBS=$saveALIROOT_LIBS])
- fi
- AC_MSG_RESULT($have_alitpc)
- fi
-
- if test ! "x$have_alirawdata" = "xno" ; then
- # check for header files needed by the TPCLib/AliHLTTPCDigitReaderPacket
- # the header file has been moved to the TPC module
- CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
- # AliRawReaderMemory.h AliRawReaderFile.h already checked
- #AC_CHECK_HEADERS([AliRawReaderMemory.h AliRawReaderFile.h AliTPCRawStream.h])
- AC_CHECK_HEADERS([AliTPCRawStream.h])
- fi
-
- have_tpc_mapping=no
- if test ! "x$have_aliroot" = "xno" ; then
- # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
- # which is stored in the TPC/mapping/Patchx.data files from
- # AliRoot version v4-04-Release (May 2006)
- AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
- TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
- AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
- [have_tpc_mapping=yes
- AC_SUBST(TPC_PAD_MAPPING_PATH)
- AC_DEFINE(HAVE_TPC_MAPPING)],
- [])
-
- fi
- AC_MSG_CHECKING([for TPC mapping layout])
- AC_MSG_RESULT([$have_tpc_mapping])
+ dnl The AliShuttleInterface was changed in rev 29388. Some return types
+ dnl had been const, now changed according to gcc 4.3 warnings
+ AC_MSG_CHECKING(for version of AliShuttleInterface.h)
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/"
+ LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliShuttleInterface.h>],
+ [class dummy : public AliShuttleInterface {
+ public:
+ const UInt_t GetStartTimeDCSQuery() {;}
+ };])],
+ [AC_DEFINE(SHUTTLE_PRE_REV29388_INTERFACE)
+ alishuttleinterface_version=pre.rev.29388],
+ [alishuttleinterface_version=up.to.date])
+ AC_MSG_RESULT([$alishuttleinterface_version])
- if test "x$have_aliroot" = "xno" ; then
- ALIROOT_CPPFLAGS=
- ALIROOT_LDFLAGS=
- ALIROOT_LIBS=
- fi
CPPFLAGS=$save_CPPFLAGS
LDFLAGS=$save_LDFLAGS
LIBS=$save_LIBS
-fi
+fi # if test ! "x$have_aliroot" = "xno"
+
AC_LANG_POP(C++)
AC_SUBST([ALICE_ROOT])
AC_SUBST([ALIROOT_CPPFLAGS])
AC_SUBST([ALIROOT_LDFLAGS])
AC_SUBST([ALIROOTBINDIR])
AC_SUBST([ALIROOTLIBDIR])
+
+ALIROOT_LIBS="$ALIROOT_LIBS $ADD_ROOTLIBS"
AC_SUBST([ALIROOT_LIBS])
AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
dnl ------------------------------------------------------------------
dnl check for the HLT PubSub Framework
+dnl namely for the existence of the HOMER library
+dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
+dnl package. It os though possible to choose an external. library
+dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
+dnl got the name libAliHLTHOMER
AC_MSG_CHECKING([for HLT PubSub Framework])
AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
[],
with_pubsub=no
fi
AC_MSG_RESULT([$with_pubsub])
-HOMER_VERSION=1
+HOMER_VERSION=2
HOMER_LIBS=
AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
HOMER_TARGET="${HOMER_TARGET}-debug"
fi
AC_MSG_RESULT([${homer_type}])
+ HOMERREADER_HEADER=HOMERReader.h
HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
LIBS="$save_LIBS "
with_homer=no
AC_LANG_PUSH(C++)
- AC_CHECK_HEADER([HOMERReader.h],
+ AC_CHECK_HEADER([$HOMERREADER_HEADER],
[ AC_CHECK_LIB([HOMER],[_init],
[with_homer=yes
HOMER_LIBS="-lHOMER"],
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
[HOMERReader reader("dummy", 0);
reader.GetBlockStatusFlags(0);])],
- [if test $HOMER_VERSION -lt 2 ; then HOMER_VERSION=2; fi],
- [])
+ [],
+ [HOMER_VERSION=1])
AC_MSG_RESULT([$HOMER_VERSION])
- ]) #AC_CHECK_HEADER([HOMERReader.h])
+ ],
+ [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
AC_LANG_POP(C++)
+ HOMER_INBUILT_LIB=
+else
+dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
+ topdir=`dirname $0`
+ HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
+ HOMERREADER_HEADER=AliHLTHOMERReader.h
+ HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
+ HOMER_BINDIR=
+ HOMER_LIBDIR=
+ HOMER_LDFLAGS=
+fi
+
if test "x$with_homer" = "xno" ; then
HOMER_CPPFLAGS=
HOMER_LDFLAGS=
CPPFLAGS="$save_CPPFLAGS"
LDFLAGS="$save_LDFLAGS"
LIBS="$save_LIBS"
-fi
+
+AC_SUBST([HOMERREADER_HEADER])
+AC_SUBST([HOMER_INBUILT_LIB])
AC_SUBST([HOMER_CPPFLAGS])
AC_SUBST([HOMER_LDFLAGS])
AC_SUBST([HOMER_LIBDIR])
AC_SUBST([HOMER_BINDIR])
AC_SUBST([HOMER_LIBS])
+dnl ------------------------------------------------------------------
+AC_ARG_ENABLE(all,
+ [AC_HELP_STRING([--disable-all],
+ [disable all detector modules, individual modules can be switched on by --enable-det])],
+ [disable_all=yes],[])
+
dnl ------------------------------------------------------------------
AC_MSG_CHECKING([whether to impose strict coding conventions])
AC_ARG_ENABLE(strict,
- [AC_HELP_STRING([--enable-strict],
- [enable coding convention checks ])],
- [],[enable_strict=no])
+ [AC_HELP_STRING([--disable-strict],
+ [disable coding convention checks ])],
+ [],[enable_strict=yes])
if test "x$enable_strict" = "xyes" ; then
- CPPFLAGS="$CPPFLAGS -Weffc++"
+ CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
fi
AC_MSG_RESULT([$enable_strict])
+dnl ------------------------------------------------------------------
+AC_MSG_CHECKING([whether to enable component statistics])
+AC_ARG_ENABLE(component-stat,
+ [AC_HELP_STRING([--enable-component-stat],
+ [enable component statistics ])],
+ [],[enable_component_stat=no])
+if test "x$enable_component_stat" = "xyes" ; then
+ AC_DEFINE(HLT_COMPONENT_STATISTICS)
+fi
+AC_MSG_RESULT([$enable_component_stat])
+
+dnl ------------------------------------------------------------------
+dnl ---- module checks
+dnl ------------------------------------------------------------------
+save_CPPFLAGS=$CPPFLAGS
+save_LDFLAGS=$LDFLAGS
+save_LIBS=$LIBS
+
+dnl ------------------------------------------------------------------
+AC_MSG_NOTICE([-------------------------------------------------])
+AC_MSG_NOTICE([checking dependencies for HLTbase library])
+HLTBASE_CHECKLIBS='XMLParser'
+for CHECKLIB in $HLTBASE_CHECKLIBS ; do
+ LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
+ LIBS="$save_LIBS $ROOTLIBS $ALIHLTBASE_LIBS"
+ AC_CHECK_LIB([$CHECKLIB],[_init], [ALIHLTBASE_LIBS="$ALIHLTBASE_LIBS -l$CHECKLIB"])
+done
+AC_SUBST([ALIHLTBASE_LIBS])
+
dnl ------------------------------------------------------------------
AC_MSG_CHECKING([whether to compile sample library])
AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
AC_ARG_ENABLE(sample,
- [AC_HELP_STRING([--enable-sample],
+ [AC_HELP_STRING([--disable-sample],
[compile the sample library ])],
- [],[enable_sample=yes])
+ [],
+ [if test "x$have_aliroot" = "xno" ; then
+ enable_sample="no...requires.AliRoot"
+ else
+ enable_sample=yes
+ fi
+ ])
+
if test "x$enable_sample" = "xyes" ; then
AC_DEFINE(HLT_SAMPLE)
fi
AC_MSG_RESULT([$enable_sample])
dnl ------------------------------------------------------------------
-AC_MSG_CHECKING([whether to compile tpc library])
+AH_TEMPLATE([HLT_UTIL],[HLT utility library])
+ALIUTIL_LIBS=
+CHECK_HLTMODULE([util],
+ [],
+ [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/STEER -I$ALICE_ROOT/RAW -I$ALICE_ROOT/PYTHIA6],
+ [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
+ [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...missing.headers"
+ enable_util=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_util="yes"
+else
+ enable_util=$enable_module
+fi
+if test "x$enable_util" = "xyes" ; then
+ AC_DEFINE(HLT_UTIL)
+ ALIUTIL_LIBS=$ALIHLTMODULE_LIBS
+fi
+AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
+AC_MSG_CHECKING([whether to compile Util library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIUTIL_LIBS])
+
+dnl ------------------------------------------------------------------
AH_TEMPLATE([HLT_TPC],[hlt tpc library])
-AC_ARG_ENABLE(tpc,
- [AC_HELP_STRING([--enable-tpc],
- [compile the tpc library ])],
- [],[enable_tpc=yes])
-if test "x$have_aliroot" = "xno" ; then
- enable_tpc="no...requires.AliRoot"
-elif test "x$have_alitpc" = "xno" ; then
- enable_tpc="no...requires.AliRoot.TPC.libraries"
+
+ALITPC_LIBS=
+CHECK_HLTMODULE([tpc],
+ [AliTPCRawStream.h],
+ [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
+ [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
+ [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...missing.headers"
+ enable_tpc=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_tpc="yes"
+else
+ enable_tpc=$enable_module
fi
+
if test "x$enable_tpc" = "xyes" ; then
+ AC_LANG_PUSH(C++)
AC_DEFINE(HLT_TPC)
+ ALITPC_LIBS=$ALIHLTMODULE_LIBS
+ dnl
+ dnl Check for functionality in the TPC reconstruction required for online
+ dnl processing
+ dnl
+ have_tpc_hltoffline_rec=no
+ AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
+ LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
+ #include <AliTPCclustererMI.h>
+ #include <TObjArray.h>],
+ [AliTPCtrackerMI tracker;
+ TObjArray* array=NULL;
+ tracker.LoadClusters(array);
+ AliTPCclustererMI cl(NULL, NULL);
+ cl.GetOutputClonesArray();])],
+ [have_tpc_hltoffline_rec=yes],
+ [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
+ LIBS=$save_LIBS
+ AC_MSG_RESULT([$have_tpc_hltoffline_rec])
+
+ AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
+ AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
+ AC_CHECK_HEADER([AliAltroRawStreamV3.h], [], [AC_DEFINE(HAVE_NOT_ALTRORAWSTREAMV3)])
+
+ have_tpc_mapping=no
+ if test ! "x$have_aliroot" = "xno" ; then
+ # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
+ # which is stored in the TPC/mapping/Patchx.data files from
+ # AliRoot version v4-04-Release (May 2006)
+ AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
+ TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
+ AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
+ [have_tpc_mapping=yes
+ AC_SUBST(TPC_PAD_MAPPING_PATH)
+ AC_DEFINE(HAVE_TPC_MAPPING)],
+ [])
+
+ fi
+ AC_MSG_CHECKING([for TPC mapping layout])
+ AC_MSG_RESULT([$have_tpc_mapping])
+ AC_LANG_POP(C++)
+
+else
+ enable_module=$enable_tpc
fi
AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
-AC_MSG_RESULT([$enable_tpc])
+AC_MSG_CHECKING([whether to compile TPC library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALITPC_LIBS])
+
+dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_RCU],[hlt rcu library])
+
+CHECK_HLTMODULE([rcu],
+ [AliAltroDecoder.h],
+ [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
+ [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+ [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...missing.headers"
+ enable_rcu=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_rcu="yes"
+else
+ AC_LANG_PUSH(C++)
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
+ [AliAltroDecoder decoder;
+ decoder.CopyBackward(NULL, 0);])],
+ [enable_rcu=$enable_module],
+ [enable_module="no...requires.AliRoot>v4-10-Release"
+ enable_rcu="no...requires.AliRoot>v4-10-Release"])
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
+ AC_LANG_POP(C++)
+fi
+
+if test "x$enable_rcu" = "xyes" ; then
+ AC_DEFINE(HLT_RCU)
+else
+ enable_module=$enable_rcu
+fi
+AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
+AC_MSG_CHECKING([whether to compile RCU library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIRCU_LIBS])
+
+dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_CALO],[hlt calo(rimeter) library])
+
+ALICALO_LIBS=
+CHECK_HLTMODULE([calo],
+ [], [$ALIROOT_CPPFLAGS],
+ [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
+ [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...missing.headers"
+ enable_calo=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_calo="yes"
+else
+ have_alicalorawstream=no
+ if test ! "x$have_aliroot" = "xno" ; then
+ AC_LANG_PUSH(C++)
+ save_CPPFLAGS="$CPPFLAGS"
+ # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
+ #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
+ AC_MSG_CHECKING([for AliCaloRawStream.h usability])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
+ #include <AliCaloRawStream.h>],
+ [int i])],
+ [AC_DEFINE(HAVE_ALICALORAWSTREAM)
+ have_alicalorawstream=yes],
+ [])
+ AC_MSG_RESULT([$have_alicalorawstream])
+ AC_LANG_POP(C++)
+ CPPFLAGS="$save_CPPFLAGS"
+ fi
+ if test "x$have_alicalorawstream" != "xyes"; then
+ enable_calo="no...requires.AliRoot>v4-05-07"
+ else
+ enable_calo=$enable_module
+ fi
+fi
+
+if test "x$enable_calo" = "xyes" ; then
+ AC_DEFINE(HLT_CALO)
+ ALICALO_LIBS=$ALIHLTMODULE_LIBS
+else
+ enable_module=$enable_calo
+fi
+AM_CONDITIONAL(EN_HLT_CALO, test x$enable_calo = xyes)
+AC_MSG_CHECKING([whether to compile CALO library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALICALO_LIBS])
dnl ------------------------------------------------------------------
-AC_MSG_CHECKING([whether to compile phos library])
AH_TEMPLATE([HLT_PHOS],[hlt phos library])
-AC_ARG_ENABLE(phos,
- [AC_HELP_STRING([--enable-phos],
- [compile the phos library ])],
- [],[enable_phos=yes])
-if test "x$have_aliroot" = "xno" ; then
- enable_phos="no...requires.AliRoot"
-elif ! test "x$have_alicalorawstream" = "xyes"; then
- enable_phos="no...requires.AliRoot>v4-05-07"
+
+ALIPHOS_LIBS=
+CHECK_HLTMODULE([phos],
+ [], [$ALIROOT_CPPFLAGS],
+ [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
+ [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...requires.AliRoot>v4-05-07"
+ enable_phos=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_phos="yes"
+else
+ have_alicalorawstream=no
+ if test ! "x$have_aliroot" = "xno" ; then
+ AC_LANG_PUSH(C++)
+ save_CPPFLAGS="$CPPFLAGS"
+ # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
+ #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
+ AC_MSG_CHECKING([for AliCaloRawStream.h usability])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
+ #include <AliCaloRawStream.h>],
+ [int i])],
+ [AC_DEFINE(HAVE_ALICALORAWSTREAM)
+ have_alicalorawstream=yes],
+ [])
+ AC_MSG_RESULT([$have_alicalorawstream])
+ AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
+ [AliPHOSRecoParam param;
+ param.GetEMCClusteringThreshold()])],
+ [have_aliphosrecoparam=yes],
+ [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
+ AC_MSG_RESULT([$have_aliphosrecoparam])
+ AC_LANG_POP(C++)
+ CPPFLAGS="$save_CPPFLAGS"
+ fi
+ if test "x$have_alicalorawstream" != "xyes"; then
+ enable_phos="no...requires.AliRoot>v4-05-07"
+ else
+ enable_phos=$enable_module
+ fi
fi
+
if test "x$enable_phos" = "xyes" ; then
AC_DEFINE(HLT_PHOS)
+ ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
+else
+ enable_module=$enable_phos
fi
AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
-AC_MSG_RESULT([$enable_phos])
+AC_MSG_CHECKING([whether to compile PHOS library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIPHOS_LIBS])
+
+dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
+
+ALIEMCAL_LIBS=
+CHECK_HLTMODULE([emcal],
+ [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL],
+ [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+ [EMCALrec EMCALsim EMCALbase EMCALUtils], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...header.missing"
+ enable_emcal=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_emcal="yes"
+else
+ enable_emcal=$enable_module
+fi
+
+if test "x$enable_emcal" = "xyes" ; then
+ AC_DEFINE(HLT_EMCAL)
+ ALIEMCAL_LIBS=$ALIHLTMODULE_LIBS
+else
+ enable_module=$enable_emcal
+fi
+AM_CONDITIONAL(EN_HLT_EMCAL, test x$enable_emcal = xyes)
+AC_MSG_CHECKING([whether to compile EMCAL library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIEMCAL_LIBS])
dnl ------------------------------------------------------------------
-AC_MSG_CHECKING([whether to compile trd library])
AH_TEMPLATE([HLT_TRD],[hlt trd library])
-AC_ARG_ENABLE(trd,
- [AC_HELP_STRING([--enable-trd],
- [compile the trd library ])],
- [],[enable_trd=yes])
-if test "x$have_aliroot" = "xno" ; then
- enable_trd="no...requires.AliRoot"
+
+ALITRD_LIBS=
+CHECK_HLTMODULE([trd],
+ [], [],
+ [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+ [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...requires.AliRoot>v4-07-Release"
+ enable_trd=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_trd="yes"
+else
+ enable_trd=$enable_module
+ if test "x$enable_trd" = "xyes" ; then
+ AC_LANG_PUSH(C++)
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
+ # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
+ # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
+ # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
+ # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
+ # changed to AliTRDCluster according to revision 30461, Thu Dec 18 2008
+ # changed to AliTRDclusterizer::GetAddedClusters according to revision 31299, Wed Mar 4 2009
+ AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
+ [AliTRDclusterizer c;
+ c.GetAddedClusters()])],
+ [],
+ [enable_trd="no...requires.AliRoot>v4-16-Release"])
+ AC_MSG_RESULT([$enable_trd])
+
+ if test "x$enable_trd" = "xyes" ; then
+ have_alitrdrecoparam_r34995=no
+ AC_MSG_CHECKING([checking for AliTRDrecoParam r34995])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrecoParam.h>],
+ [AliTRDrecoParam param;
+ param.SetPIDNeuralNetwork(kFALSE)]);],
+ [have_alitrdrecoparam_r34995=yes],
+ [AC_DEFINE(HAVE_NOT_ALITRDRECOPARAM_r34995)])
+ AC_MSG_RESULT([$have_alitrdrecoparam_r34995])
+
+ fi
+
+ AC_LANG_POP(C++)
+ CPPFLAGS="$save_CPPFLAGS"
+ fi
fi
+
if test "x$enable_trd" = "xyes" ; then
AC_DEFINE(HLT_TRD)
+ ALITRD_LIBS=$ALIHLTMODULE_LIBS
+else
+ enable_module=$enable_trd
fi
AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
-AC_MSG_RESULT([$enable_trd])
+AC_MSG_CHECKING([whether to compile TRD library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALITRD_LIBS])
+
+dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_FMD],[hlt fmd library])
+
+ALIFMD_LIBS=$ALIHLTMODULE_LIBS
+CHECK_HLTMODULE([fmd],
+ [], [],
+ [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+ [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...missing.headers"
+ enable_fmd=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_fmd="yes"
+else
+ enable_fmd=$enable_module
+fi
+
+if test "x$enable_fmd" = "xyes" ; then
+ AC_DEFINE(HLT_FMD)
+ ALIFMD_LIBS=$ALIHLTMODULE_LIBS
+else
+ enable_module=$enable_fmd
+fi
+AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
+AC_MSG_CHECKING([whether to compile FMD library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIFMD_LIBS])
dnl ------------------------------------------------------------------
-AC_MSG_CHECKING([whether to compile dimuon library])
AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
-AC_ARG_ENABLE(dimuon,
- [AC_HELP_STRING([--enable-dimuon],
- [compile the dimuon library ])],
- [],[enable_dimuon=yes])
-if test "x$have_aliroot" = "xno" ; then
- enable_dimuon="no...requires.AliRoot"
+
+ALIMUON_LIBS=
+CHECK_HLTMODULE([dimuon],
+ [AliMpExMap.h AliMUONTriggerIO.h],
+ [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
+ [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+ [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...requires.AliRoot>=v4-08-Release"
+ enable_muon=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_muon="yes"
+else
+ enable_muon=$enable_module
fi
-if test "x$enable_dimuon" = "xyes" ; then
+
+if test "x$enable_muon" = "xyes" ; then
AC_DEFINE(HLT_MUON)
+ ALIMUON_LIBS=$ALIHLTMODULE_LIBS
+ AC_LANG_PUSH(C++)
+ save_CPPFLAGS="$CPPFLAGS"
+
+ dnl
+ dnl Check for functionality GetRawStream AliMUONDigitMaker.h
+ dnl
+ have_muon_digitmaker_getrawstream=no
+ AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
+ LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
+ [AliMUONDigitMaker dm;
+ dm.GetRawStreamTracker();])],
+ [have_muon_digitmaker_getrawstream=yes],
+ [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
+ LIBS=$save_LIBS
+ AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
+
+ dnl
+ dnl Check for AliMpPad::GetPositionX/Y
+ dnl change of implementation in MUON code
+ dnl revision 31769, Wed Apr 1 2009
+ dnl
+ have_muon_alimppad_getposition=no
+ AC_MSG_CHECKING(for GetPosition methods of AliMpPad)
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON/mapping"
+ LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMpPad.h>],
+ [AliMpPad pad;
+ pad.GetPositionX();])],
+ [have_muon_alimppad_getposition=yes],
+ [AC_DEFINE(HAVE_NOT_MUON_ALIMPPAD_GETPOSITION)])
+ LIBS=$save_LIBS
+ AC_MSG_RESULT([$have_muon_alimppad_getposition])
+
+ CPPFLAGS="$save_CPPFLAGS"
+
+ AC_LANG_POP(C++)
+else
+ enable_module=$enable_muon
fi
-AM_CONDITIONAL(EN_HLT_MUON, test x$enable_dimuon = xyes)
-AC_MSG_RESULT([$enable_dimuon])
+AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
+AC_MSG_CHECKING([whether to compile MUON library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIMUON_LIBS])
+
+dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
+
+ALITRIGGER_LIBS=
+CHECK_HLTMODULE([trigger],
+ [], [$ALIROOT_CPPFLAGS],
+ [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+ [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...header.missing"
+ enable_trigger=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_trigger="yes"
+else
+ enable_trigger=$enable_module
+fi
+
+if test "x$enable_trigger" = "xyes" ; then
+ AC_DEFINE(HLT_TRIGGER)
+ ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
+else
+ enable_module=$enable_trigger
+fi
+AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
+AC_MSG_CHECKING([whether to compile Trigger library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALITRIGGER_LIBS])
+
+dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
+
+ALIGLOBAL_LIBS=
+CHECK_HLTMODULE([global],
+ [], [$ALIROOT_CPPFLAGS],
+ [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+ [PHOSUtils ], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...header.missing"
+ enable_global=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_global="yes"
+else
+ enable_global=$enable_module
+ if test "x$enable_global" = "xyes" ; then
+ AC_LANG_PUSH(C++)
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
+ AC_MSG_CHECKING([for required functions in AliESDtrack])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>],
+ [AliESDtrack t;
+ t.SetGlobalChi2(0)])],
+ [],
+ [enable_global="no...requires.AliRoot>v4-17-Release"])
+ AC_MSG_RESULT([$enable_global])
+ AC_LANG_POP(C++)
+ CPPFLAGS="$save_CPPFLAGS"
+ fi
+fi
+
+if test "x$enable_global" = "xyes" ; then
+ AC_DEFINE(HLT_GLOBAL)
+ ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
+else
+ enable_module=$enable_global
+fi
+AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
+AC_MSG_CHECKING([whether to compile Global library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIGLOBAL_LIBS])
+
+dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_JET],[hlt jet library])
+
+ALIFASTJET_HEADER=
+ALIFASTJET_INCFLAGS=
+ALIFASTJET_LIBS=
+ALIFASTJET_LDFLAGS=
+AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
+ [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
+ [ test -n $FASTJET && with_fastjet=$FASTJET ])
+
+if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
+ ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
+ ALIFASTJET_HEADER="PseudoJet.hh"
+ ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
+ ALIFASTJET_LIBS="CGAL fastjet"
+else
+ with_fastjet=no
+fi
+
+CHECK_HLTMODULE([jet],
+ [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
+ [$ALIFASTJET_LIBS], [-L$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
+ [AOD ESD ANALYSIS ANALYSISalice JETAN],
+ [-L$ROOTLIBDIR $ALIROOT_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...header.missing"
+ enable_jet=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_jet="yes"
+else
+ enable_jet=$enable_module
+fi
+
+if test "x$enable_jet" = "xyes" ; then
+ AC_DEFINE(HLT_JET)
+ ALIJET_LIBS="$ALIHLTMODULE_LIBS"
+
+ if test "x$with_fastjet" != "xno"; then
+ AC_DEFINE(HAVE_FASTJET)
+ AC_DEFINE(WITHFASTJET)
+ ALIJET_LIBS="$ALIJET_LIBS -L$FASTJET_LDFLAGS"
+ fi
+ AC_MSG_CHECKING([compilation with FASTJET package])
+ AC_MSG_RESULT($with_fastjet)
+
+else
+ enable_module=$enable_jet
+fi
+
+AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
+AC_MSG_CHECKING([whether to compile Jet library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIJET_LIBS])
+
+dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_ITS],[hlt its library])
+
+ALIITS_LIBS=
+CHECK_HLTMODULE([its],
+ [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
+ [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+ [ITSbase ITSrec ITSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...header.missing"
+ enable_its=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_its="yes"
+else
+ enable_its=$enable_module
+ if test "x$enable_its" = "xyes" ; then
+ AC_LANG_PUSH(C++)
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
+ # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
+ # require AliVertexer::GetNominalPos()
+ AC_MSG_CHECKING([for required functions in AliITSVertexer])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
+ [AliITSVertexerZ v;
+ v.GetNominalPos()])],
+ [],
+ [enable_its="no...requires.AliRoot>v4-13-Release"])
+ AC_MSG_RESULT([$enable_its])
+ AC_LANG_POP(C++)
+ CPPFLAGS="$save_CPPFLAGS"
+ fi
+fi
+
+if test "x$enable_its" = "xyes" ; then
+ AC_DEFINE(HLT_ITS)
+ ALIITS_LIBS=$ALIHLTMODULE_LIBS
+else
+ enable_module=$enable_its
+fi
+AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
+AC_MSG_CHECKING([whether to compile ITS library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIITS_LIBS])
+
+dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_COMP],[hlt comp library])
+
+ALICOMP_LIBS=
+CHECK_HLTMODULE([comp],
+ [], [$ALIROOT_CPPFLAGS],
+ [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+ [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+ [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+ enable_module="no...header.missing"
+ enable_comp=$enable_module
+elif test "x$enable_module" = "xforce"; then
+ enable_comp="yes"
+else
+ enable_comp=$enable_module
+fi
+
+if test "x$enable_comp" = "xyes" ; then
+ AC_DEFINE(HLT_COMP)
+ ALICOMP_LIBS=$ALIHLTMODULE_LIBS
+else
+ enable_module=$enable_comp
+fi
+AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
+AC_MSG_CHECKING([whether to compile comp library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALICOMP_LIBS])
dnl ------------------------------------------------------------------
AC_MSG_CHECKING([whether to disable AliRoot logging])
[AC_HELP_STRING([--disable-aliroot-logging],
[disable logging through AliRoot logging methods])],
[],[enable_aliroot_logging=no])
+if test "x$have_aliroot" = "xno" ; then
+ enable_aliroot_logging=yes # this means 'disable'
+fi
if test "x$enable_aliroot_logging" != "xno" ; then
AC_DEFINE(NOALIROOT_LOGGING)
fi
AC_ARG_VAR(DOXYGEN, The Documentation Generator)
AC_PATH_PROG(PERL, perl)
AC_PATH_PROG(DOXYGEN, doxygen)
-AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
AC_ARG_ENABLE(dot,
[AC_HELP_STRING([--enable-dot],
[enable dot documentation generator])],
HAVE_DOT=YES
DOT_PATH=`dirname $DOT`
fi
+
+AC_MSG_CHECKING([for documentation mode])
+AC_ARG_ENABLE(doc,
+ [AC_HELP_STRING([--disable-doc],
+ [disable documentation build; monolithic build --enable-doc=mono ])],
+ [],[enable_doc=modules])
+
+if test "x$DOXYGEN" = "x" ; then
+ enable_doc=no.doxygen
+elif test "x$enable_doc" = "xyes" ; then
+ enable_doc=yes
+elif test ! "x$enable_doc" = "xmono" && \
+ test ! "x$enable_doc" = "xmodules" && \
+ test ! "x$enable_doc" = "xno"; then
+ enable_doc=no
+ AC_MSG_WARN([unknown option])
+fi
+if test "x$enable_doc" = "xno" ; then
+ enable_doc=off
+ DOXYGEN=
+fi
+
+AC_MSG_RESULT([$enable_doc])
+AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
+AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
AC_SUBST([HAVE_DOT])
AC_SUBST([DOT_PATH])
dnl AC_SUBST([HAVE_SRC_SUBDIR])
dnl ------------------------------------------------------------------
-dnl inatallation directory for libraries
-dnl
-if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
-libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
-AC_MSG_NOTICE([libdir set to $libdir])
-fi
-dnl ------------------------------------------------------------------
+AC_MSG_NOTICE([---------------------------------------------- ])
+AC_MSG_NOTICE([ build summary ])
+AC_MSG_NOTICE([---------------------------------------------- ])
+
AC_CONFIG_FILES([Makefile
BASE/Makefile
BASE/setenv.sh
BASE/setenv.csh
+ BASE/HOMER/Makefile
BASE/util/Makefile
+ BASE/util/test/Makefile
BASE/interface/Makefile
- SampleLib/Makefile
- TPCLib/Makefile
- TPCLib/mapping2array.cxx
- TPCLib/OnlineDisplay/Makefile
- PHOS/Makefile
- TRD/Makefile
- MUON/Makefile
+ BASE/test/Makefile
+ BASE/interface/test/Makefile
doc/Makefile
- doc/doxygen.conf])
+ doc/doxygen.conf
+ doc/doxymodule.conf])
+
+dnl AliRoot and installation directory for libraries
+dnl
+AC_MSG_NOTICE([AliRoot: $have_aliroot])
+AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
+if test "x$have_aliroot" != "xno"; then
+ AC_CONFIG_FILES([sim/Makefile
+ rec/Makefile
+ rec/test/Makefile
+ rec/startAliEVE-barrel-tracks.sh
+ shuttle/Makefile
+ pendolino/Makefile
+ benchmark/Makefile
+ QA/Makefile
+ ])
+fi
+if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
+libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
+AC_MSG_NOTICE([libdir set to $libdir])
+fi
+
+AC_MSG_NOTICE([compile sample library: $enable_sample])
+if test "x$enable_sample" = "xyes"; then
+ AC_CONFIG_FILES([SampleLib/Makefile])
+fi
+
+AC_MSG_NOTICE([compile RCU library: $enable_rcu])
+if test "x$enable_rcu" = "xyes"; then
+ AC_CONFIG_FILES([RCU/Makefile
+ RCU/test/Makefile
+ ])
+fi
+
+AC_MSG_NOTICE([compile TPC library: $enable_tpc])
+if test "x$enable_tpc" = "xyes"; then
+ AC_CONFIG_FILES([TPCLib/Makefile
+ TPCLib/test/Makefile
+ TPCLib/mapping2array.cxx
+ TPCLib/EVE/Makefile
+ TPCLib/calibration/Makefile
+ ])
+fi
+AC_MSG_NOTICE([compile CALO library: $enable_calo])
+if test "x$enable_calo" = "xyes"; then
+ AC_CONFIG_FILES([CALO/Makefile
+ CALO/test/Makefile])
+fi
+
+AC_MSG_NOTICE([compile PHOS library: $enable_phos])
+if test "x$enable_phos" = "xyes"; then
+ AC_CONFIG_FILES([PHOS/Makefile])
+fi
+
+AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
+if test "x$enable_emcal" = "xyes"; then
+ AC_CONFIG_FILES([EMCAL/Makefile])
+fi
+
+AC_MSG_NOTICE([compile TRD library: $enable_trd])
+if test "x$enable_trd" = "xyes"; then
+ AC_CONFIG_FILES([TRD/Makefile])
+fi
+
+AC_MSG_NOTICE([compile FMD library: $enable_fmd])
+if test "x$enable_fmd" = "xyes"; then
+ AC_CONFIG_FILES([FMD/Makefile])
+fi
+
+AC_MSG_NOTICE([compile MUON library: $enable_muon])
+if test "x$enable_muon" = "xyes"; then
+ AC_CONFIG_FILES([MUON/Makefile])
+fi
+
+AC_MSG_NOTICE([compile ITS library: $enable_its])
+if test "x$enable_its" = "xyes"; then
+ AC_CONFIG_FILES([ITS/Makefile])
+fi
+
+AC_MSG_NOTICE([compile trigger library: $enable_trigger])
+if test "x$enable_trigger" = "xyes"; then
+ AC_CONFIG_FILES([trigger/Makefile
+ trigger/test/Makefile])
+fi
+
+AC_MSG_NOTICE([compile global library: $enable_global])
+if test "x$enable_global" = "xyes"; then
+ AC_CONFIG_FILES([global/Makefile])
+fi
+
+AC_MSG_NOTICE([compile jet library: $enable_jet])
+if test "x$enable_jet" = "xyes"; then
+ AC_CONFIG_FILES([JET/Makefile])
+fi
+
+AC_MSG_NOTICE([compile comp library: $enable_comp])
+if test "x$enable_comp" = "xyes"; then
+ AC_CONFIG_FILES([comp/Makefile])
+fi
AC_OUTPUT
dnl