]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/configure.ac
Primary ionisation electrons come now correctly ordered from FLUKA.
[u/mrichter/AliRoot.git] / HLT / configure.ac
index c036a9bb9353eef235fc72b876eeaa6dce811899..5ea004c1edf83f1d99101e1c4f9c65a4f27f0244 100644 (file)
@@ -5,7 +5,7 @@ dnl template for the configuration script for the Alice HLT
 dnl framework and components
 dnl 
 dnl ------------------------------------------------------------------
-AC_INIT([Alice High Level Trigger] , [0.7-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
@@ -158,6 +158,20 @@ if test ! "x$have_aliroot" = "xno" ; then
   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
+  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"
@@ -189,38 +203,66 @@ if test ! "x$have_aliroot" = "xno" ; then
   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"])
-
-  # Jun 22 2007: a circular dependency has been introduced between libCDB/libSTEER
-  # and libRAWDatasim/libSTEER in AliCTPRawData due to use of AliFstream
-  LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER -lCDB"
-  CHECKLIB=RAWDatasim
-  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
-  AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
+  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 -lSTEER"
+      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
+  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"])
+  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
@@ -258,47 +300,6 @@ if test ! "x$have_aliroot" = "xno" ; then
   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
@@ -326,7 +327,15 @@ if test ! "x$have_aliroot" = "xno" ; then
   AC_MSG_RESULT([$have_tpc_mapping])
 
   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
@@ -350,6 +359,11 @@ AC_SUBST([HLTBASE_LDFLAGS])
 
 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],
                    [],
@@ -358,7 +372,7 @@ if test -z $with_pubsub || ! test -d $with_pubsub ; then
   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])
@@ -398,6 +412,7 @@ if test "x$with_pubsub" != "xno" ; then
     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}"
@@ -406,7 +421,7 @@ if test "x$with_pubsub" != "xno" ; then
   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"],
@@ -423,11 +438,24 @@ if test "x$with_pubsub" != "xno" ; then
       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=
@@ -439,7 +467,9 @@ if test "x$with_pubsub" != "xno" ; then
   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])
@@ -461,27 +491,58 @@ 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
 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
@@ -492,14 +553,18 @@ 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],
+  [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
@@ -510,12 +575,16 @@ 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],
+  [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
@@ -526,12 +595,16 @@ 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],
+  [AC_HELP_STRING([--disable-dimuon],
       [compile the dimuon library ])],
-  [],[enable_dimuon=yes])
-if test "x$have_aliroot" = "xno" ; then
-   enable_dimuon="no...requires.AliRoot"
-fi
+  [],
+  [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
@@ -545,6 +618,9 @@ 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
@@ -629,8 +705,11 @@ AC_CONFIG_FILES([Makefile
                 BASE/Makefile
                 BASE/setenv.sh
                 BASE/setenv.csh
+                BASE/HOMER/Makefile
                 BASE/util/Makefile
                 BASE/interface/Makefile
+                sim/Makefile
+                rec/Makefile
                 SampleLib/Makefile
                 TPCLib/Makefile
                 TPCLib/mapping2array.cxx