dnl framework and components
dnl
dnl ------------------------------------------------------------------
-AC_INIT([Alice High Level Trigger] , [0.6-dev], [Matthias.Richter@ift.uib.no], alice-hlt)
+AC_INIT([Alice High Level Trigger] , [0.8-dev], [Matthias.Richter@ift.uib.no], alice-hlt)
dnl ------------------------------------------------------------------
dnl the package from CVS contains the old Makefiles as well. In order to
LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
# check for certain AliRoot libraries/files/features
+ # libSTEERBase present since Aug 7 2007
+ 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
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)
+ AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
+ AC_MSG_RESULT([$have_alirawdata])
dnl
- dnl Check for the interface of AliExternalTrackParam which has been changed
- dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
- dnl or higher)
- externaltrackparam_version=1
- AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
- [AliExternalTrackParam trackparam;
- Double_t param[[5]]; Double_t covar[[15]];
- trackparam.Set(0., 0., param, covar);])],
- [externaltrackparam_version=2],
- [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
- AC_MSG_CHECKING(for version of AliExternalTrackParam)
- AC_MSG_RESULT($externaltrackparam_version)
-
- LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
- CHECKLIB=STEER
- AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
-
+ 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"
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"
+ ALIROOT_LIBS="$save_ALIROOT_LIBS -lTPCbase -lTPCrec -lGui -lSTEER"
LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliSimDigits.h>
#include <AliTPCParam.h>
fi
AC_MSG_RESULT($have_alitpc)
fi
+ AC_CHECK_HEADERS([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
+ AC_CHECK_HEADERS([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
+
+ LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
+ CHECKLIB=STEER
+ 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
+
+ dnl
+ dnl Check for the interface of AliExternalTrackParam which has been changed
+ dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
+ dnl or higher)
+ externaltrackparam_version=1
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
+ [AliExternalTrackParam trackparam;
+ Double_t param[[5]]; Double_t covar[[15]];
+ trackparam.Set(0., 0., param, covar);])],
+ [externaltrackparam_version=2],
+ [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
+ 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])])
if test ! "x$have_alirawdata" = "xno" ; then
# check for header files needed by the TPCLib/AliHLTTPCDigitReaderPacket
AC_MSG_CHECKING([for TPC mapping layout])
AC_MSG_RESULT([$have_tpc_mapping])
- 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
-
if test "x$have_aliroot" = "xno" ; then
- ALIROOT_CPPFLAGS=
+ # 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. 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([ ------------------------------------------ ])
ALIROOT_LDFLAGS=
ALIROOT_LIBS=
fi
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_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
fi
HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
- HOMER_BINDIR="${with_pubsub}/bin/`uname -s`-`uname -m`"
- HOMER_LIBDIR="${with_pubsub}/lib/`uname -s`-`uname -m`"
+
+ AC_ARG_ENABLE(pubsub-debug,
+ [AC_HELP_STRING([--disable-pubsub-debug],
+ [force the production version of the PubSub framework])],
+ [],[enable_pubsub_debug=yes])
+ homer_type="none"
+ HOMER_TARGET="`uname -s`-`uname -m`"
+ AC_MSG_CHECKING([for HLT PubSub Framework release type])
+ if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
+ homer_type="production"
+ HOMER_TARGET="${HOMER_TARGET}-release"
+ elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
+ homer_type="debug"
+ 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}"
CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
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_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
AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
AC_MSG_RESULT([$enable_sample])
+dnl ------------------------------------------------------------------
+AC_MSG_CHECKING([whether to compile util library])
+AH_TEMPLATE([HLT_UTIL],[HLT utility library])
+AC_ARG_ENABLE(util,
+ [AC_HELP_STRING([--disable-util],
+ [compile the util library ])],
+ [],
+ [if test "x$have_aliroot" = "xno" ; then
+ enable_util="no...requires.AliRoot"
+ else
+ enable_util=yes
+ fi
+ ])
+
+if test "x$enable_util" = "xyes" ; then
+ AC_DEFINE(HLT_UTIL)
+fi
+AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
+AC_MSG_RESULT([$enable_util])
+
dnl ------------------------------------------------------------------
AC_MSG_CHECKING([whether to compile tpc library])
AH_TEMPLATE([HLT_TPC],[hlt tpc library])
AC_ARG_ENABLE(tpc,
- [AC_HELP_STRING([--enable-tpc],
+ [AC_HELP_STRING([--disable-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"
-fi
+ [],
+ [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"
+ else
+ enable_tpc=yes
+ fi
+ ])
+
if test "x$enable_tpc" = "xyes" ; then
AC_DEFINE(HLT_TPC)
fi
AC_MSG_CHECKING([whether to compile phos library])
AH_TEMPLATE([HLT_PHOS],[hlt phos library])
AC_ARG_ENABLE(phos,
- [AC_HELP_STRING([--enable-phos],
+ [AC_HELP_STRING([--disable-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"
-fi
+ [],
+ [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"
+ else
+ enable_phos=yes
+ fi
+ ])
+
if test "x$enable_phos" = "xyes" ; then
AC_DEFINE(HLT_PHOS)
fi
AC_MSG_CHECKING([whether to compile trd library])
AH_TEMPLATE([HLT_TRD],[hlt trd library])
AC_ARG_ENABLE(trd,
- [AC_HELP_STRING([--enable-trd],
+ [AC_HELP_STRING([--disable-trd],
[compile the trd library ])],
- [],[enable_trd=yes])
-if test "x$have_aliroot" = "xno" ; then
- enable_trd="no...requires.AliRoot"
-fi
+ [],
+ [if test "x$have_aliroot" = "xno" ; then
+ enable_trd="no...requires.AliRoot"
+ else
+ enable_trd=yes
+ fi
+ ])
+
if test "x$enable_trd" = "xyes" ; then
AC_DEFINE(HLT_TRD)
fi
AC_MSG_RESULT([$enable_trd])
dnl ------------------------------------------------------------------
-AC_MSG_CHECKING([whether to enable HLT logging])
-AH_TEMPLATE([NOLOGGING],[disable hlt logging])
-AC_ARG_ENABLE(logging,
- [AC_HELP_STRING([--enable-logging],
- [enable logging])],
- [],[enable_logging=yes])
-if test "x$enable_logging" != "xyes" ; then
- AC_DEFINE(NOLOGGING)
+AC_MSG_CHECKING([whether to compile dimuon library])
+AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
+AC_ARG_ENABLE(dimuon,
+ [AC_HELP_STRING([--disable-dimuon],
+ [compile the dimuon library ])],
+ [],
+ [if test "x$have_aliroot" = "xno" ; then
+ enable_dimuon="no...requires.AliRoot"
+ else
+ enable_dimuon=yes
+ fi
+ ])
+
+if test "x$enable_dimuon" = "xyes" ; then
+ AC_DEFINE(HLT_MUON)
fi
-AC_MSG_RESULT([$enable_logging])
+AM_CONDITIONAL(EN_HLT_MUON, test x$enable_dimuon = xyes)
+AC_MSG_RESULT([$enable_dimuon])
+
+dnl ------------------------------------------------------------------
+AC_MSG_CHECKING([whether to disable AliRoot logging])
+AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
+AC_ARG_ENABLE(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
+AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
+AC_MSG_RESULT([$enable_aliroot_logging])
dnl ------------------------------------------------------------------
AC_MSG_CHECKING([whether to enable saving MC data through the chain])
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])],
+ [],[enable_dot=no])
HAVE_DOT=NO
DOT_PATH=
AC_PATH_PROG(DOT, dot)
-if ! test "x$DOT" = "x" ; then
+if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
HAVE_DOT=YES
DOT_PATH=`dirname $DOT`
fi
AC_SUBST([HAVE_DOT])
AC_SUBST([DOT_PATH])
+dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
+dnl echo $HAVE_SRC_SUBDIR
+dnl if ! test -d $HAVE_SRC_SUBDIR; then
+dnl HAVE_SRC_SUBDIR=
+dnl fi
+dnl AC_SUBST([HAVE_SRC_SUBDIR])
+
dnl ------------------------------------------------------------------
dnl inatallation directory for libraries
dnl
BASE/Makefile
BASE/setenv.sh
BASE/setenv.csh
+ BASE/HOMER/Makefile
+ BASE/util/Makefile
+ BASE/interface/Makefile
SampleLib/Makefile
TPCLib/Makefile
TPCLib/mapping2array.cxx
TPCLib/OnlineDisplay/Makefile
PHOS/Makefile
TRD/Makefile
+ MUON/Makefile
doc/Makefile
doc/doxygen.conf])