coveritiy
[u/mrichter/AliRoot.git] / HLT / configure.ac
index e9d043f..fa3a49e 100644 (file)
@@ -76,7 +76,8 @@ if test "x$have_root" = "x1"; then
   # - from Jan 07 libESD also depends on libXMLIO
   # - 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'
+  # - libCDB.so depends on libGui.so since May 14 2010 r 41238
+  ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer XMLParser Gui'
   for CHECKLIB in $ROOT_CHECKLIBS ; do
     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
     LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
@@ -351,6 +352,7 @@ if test ! "x$have_aliroot" = "xno" ; then
   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)])
+  AC_CHECK_HEADER([AliVCluster.h], [], [AC_DEFINE(HAVE_NOT_ALIVCLUSTER)])
 
   dnl
   dnl required header files and libraries for modules
@@ -548,8 +550,19 @@ 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
+  [],[])
+
+dnl enable component statistics if not explicitely disabled
+if test "x$enable_component_stat" != "xno" &&
+   test "x$enable_debug" = "xyes" ; then
+   enable_component_stat=yes.debug
+fi
+
+if test "x$enable_component_stat" = "x" ; then
+   enable_component_stat=no
+fi
+
+if test "x$enable_component_stat" != "xno" ; then
    AC_DEFINE(HLT_COMPONENT_STATISTICS)
 fi
 AC_MSG_RESULT([$enable_component_stat])
@@ -597,8 +610,8 @@ 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],
+               [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/STEER -I$ALICE_ROOT/RAW -I$ALICE_ROOT/PYTHIA6 -I$ALICE_ROOT/ANALYSIS],
+               [ANALYSIS ANALYSISalice], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
                [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
                [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
 
@@ -662,9 +675,20 @@ if test "x$enable_tpc" = "xyes" ; then
                                       cl.GetOutputClonesArray();])],
                                     [have_tpc_hltoffline_rec=yes], 
                                      [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
-    LIBS=$save_LIBS
   AC_MSG_RESULT([$have_tpc_hltoffline_rec])
 
+    have_alitpcclusterparam_r40128=no
+    AC_MSG_CHECKING([checking for AliTPCClusterParam r40128])
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTPCClusterParam.h>], 
+                                       [AliTPCClusterParam param;
+                                         float test=param.ParamS0Par(0,0,0)]);],
+                                       [have_alitpcclusterparam_r40128=yes],
+                                        [AC_DEFINE(HAVE_NOT_ALITPCCLUSTERPARAM_r40128)])
+    AC_MSG_RESULT([$have_alitpcclusterparam_r40128])
+
+    LIBS=$save_LIBS
+
+
   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)])
@@ -744,7 +768,7 @@ 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], 
+               [EMCALUtils PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
                [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
 
 if test "x$enable_module" = "xmissheader"; then
@@ -768,6 +792,16 @@ else
                                        have_alicalorawstream=yes], 
                                       [])
     AC_MSG_RESULT([$have_alicalorawstream])
+
+    have_aliesdcalocluster_r38477=no
+    AC_MSG_CHECKING([for AliESDCaloCluster r38477])
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDCaloCluster.h>], 
+                                       [AliESDCaloCluster cluster;
+                                       cluster.SetTrackDistance(0.0, 0.0)]);],
+                                       [have_aliesdcalocluster_r38477=yes],
+                                        [AC_DEFINE(HAVE_NOT_ALIESDCALOCLUSTER_r38477)])
+    AC_MSG_RESULT([$have_aliesdcalocluster_r38477])
+
     AC_LANG_POP(C++)
     CPPFLAGS="$save_CPPFLAGS"
   fi
@@ -820,13 +854,24 @@ else
                                        have_alicalorawstream=yes], 
                                       [])
     AC_MSG_RESULT([$have_alicalorawstream])
+    have_aliphosrecoparamemc=no
     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], 
+                                       [have_aliphosrecoparamemc=yes], 
                                       [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
-    AC_MSG_RESULT([$have_aliphosrecoparam])
+    AC_MSG_RESULT([$have_aliphosrecoparamemc])
+
+    have_aliphosreconstructor_r44091=no
+    AC_MSG_CHECKING([for AliPHOSReconstructor r44091 ])
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSReconstructor.h>], 
+                                       [float e=0.0;
+                                       AliPHOSReconstructor::CorrectNonlinearity(e)])],
+                                       [have_aliphosreconstructor_r44091=yes], 
+                                      [AC_DEFINE(HAVE_NOT_ALIPHOSRECONSTRUCTOR_r44091)])
+    AC_MSG_RESULT([$have_aliphosreconstructor_r44091])
+
     AC_LANG_POP(C++)
     CPPFLAGS="$save_CPPFLAGS"
   fi
@@ -853,9 +898,9 @@ AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
 
 ALIEMCAL_LIBS=
 CHECK_HLTMODULE([emcal],
-               [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL],
+               [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/VZERO],
                [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
-               [EMCALrec EMCALsim EMCALbase EMCALUtils], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
+               [EMCALrec EMCALsim EMCALbase EMCALUtils VZERObase], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
                [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
 
 if test "x$enable_module" = "xmissheader"; then
@@ -885,7 +930,7 @@ ALITRD_LIBS=
 CHECK_HLTMODULE([trd],
                [], [],
                [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
-               [STAT TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
+               [STAT TRDbase TRDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
                [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
 
 if test "x$enable_module" = "xmissheader"; then
@@ -905,24 +950,48 @@ else
     # 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
+    # changed to AliTRDclusterizer::GetNTimeBins according to revision 37102 Sun Nov 22 2009
     AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>], 
                                        [AliTRDclusterizer c;
-                                      c.GetAddedClusters()])],
+                                      c.GetNTimeBins()])],
                                        [], 
-                                      [enable_trd="no...requires.AliRoot>v4-16-Release"])
+                                      [enable_trd="no...requires.AliRoot>v4-18-Release"])
     AC_MSG_RESULT([$enable_trd])       
 
     if test "x$enable_trd" = "xyes" ; then
-      have_alitrdrecoparam_r34995=no
-      AC_MSG_CHECKING([checking for AliTRDrecoParam r34995])
+      have_alitrdseedv1_r39693=no
+      AC_MSG_CHECKING([checking for AliTRDseedV1 r39693])
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDseedV1.h>], 
+                                         [AliTRDseedV1 seed;
+                                         seed.SetC(0.0, 1)]);],
+                                         [have_alitrdseedv1_r39693=yes],
+                                        [AC_DEFINE(HAVE_NOT_ALITRD_SEEDV1_r39693)])
+      AC_MSG_RESULT([$have_alitrdseedv1_r39693])
+
+      have_alitrdrawstream_r39608=no
+      AC_MSG_CHECKING([checking for AliTRDrawStream r39608])
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrawStreamBase.h>], 
+                                         [AliTRDrawStreamBase::SetRawStreamVersion(AliTRDrawStreamBase::kTRDdefaultStream)]);],
+                                         [have_alitrdrawstream_r39608=yes],
+                                         [AC_DEFINE(HAVE_NOT_ALITRD_RAWSTREAM_r39608)])
+      AC_MSG_RESULT([$have_alitrdrawstream_r39608])
+
+      have_alitrdrecoparam_r41621=no
+      AC_MSG_CHECKING([checking for AliTRDrecoParam r41621])
       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])       
-      
+                                         [AliTRDrecoParam::GetLowFluxHLTParam()]);],
+                                         [have_alitrdrecoparam_r41621=yes],
+                                         [AC_DEFINE(HAVE_NOT_ALITRD_RECOPARAM_r41621)])
+      AC_MSG_RESULT([$have_alitrdrecoparam_r41621])
+
+      have_alitrdclusterizer_r42837=no
+      AC_MSG_CHECKING([checking for AliTRDclusterizer r42837])
+      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>], 
+                                         [AliTRDclusterizer o; o.SetSkipTransform()]);],
+                                         [have_alitrdclusterizer_r42837=yes],
+                                         [AC_DEFINE(HAVE_NOT_ALITRD_CLUSTERIZER_r42837)])
+      AC_MSG_RESULT([$have_alitrdclusterizer_r42837])
     fi
 
     AC_LANG_POP(C++)
@@ -972,6 +1041,60 @@ AC_MSG_RESULT([$enable_module])
 AC_SUBST([ALIFMD_LIBS])
 
 dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_ZDC],[hlt zdc library])
+
+ALIZDC_LIBS=$ALIHLTMODULE_LIBS
+CHECK_HLTMODULE([zdc],
+               [], [$ALIROOT_CPPFLAGS],
+               [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
+               [ZDCbase ZDCrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
+               [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
+
+if test "x$enable_module" = "xmissheader"; then
+  enable_module="no...missing.headers"
+  enable_zdc=$enable_module
+elif test "x$enable_module" = "xforce"; then
+  enable_zdc="yes"
+else
+  enable_zdc=$enable_module
+
+  if test "x$enable_zdc" = "xyes" ; then
+    AC_LANG_PUSH(C++)
+    save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ZDC"
+
+
+    # AliZDCReconstructor::GetZDCESDData() is needed, requires revision 43770, Wed Sep 22 2010
+    have_alizdcreconstructor_r43770=no
+    AC_MSG_CHECKING([checking for  AliZDCReconstructor::GetZDCESDData() r43770])
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliZDCReconstructor.h>], 
+                                       [AliZDCReconstructor rec;
+                                       rec.GetZDCESDData()])],
+                                       [have_alizdcreconstructor_r43770=yes], 
+                                      [AC_DEFINE(HAVE_NOT_ALIZDCRECONSTRUCTOR_r43770)])
+    if test "x$have_alizdcreconstructor_r43770"        != "xyes"; then
+       enable_zdc="no...requires.r43770"
+    fi
+    AC_MSG_RESULT([$have_alizdcreconstructor_r43770])       
+
+    AC_LANG_POP(C++)
+    CPPFLAGS="$save_CPPFLAGS"
+  fi
+
+fi
+
+if test "x$enable_zdc" = "xyes" ; then
+  AC_DEFINE(HLT_ZDC)
+  ALIZDC_LIBS=$ALIHLTMODULE_LIBS
+else
+  enable_module=$enable_zdc
+fi
+AM_CONDITIONAL(EN_HLT_ZDC, test x$enable_zdc = xyes)
+AC_MSG_CHECKING([whether to compile ZDC library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIZDC_LIBS])
+
+dnl ------------------------------------------------------------------
 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
 
 ALIMUON_LIBS=
@@ -1129,7 +1252,7 @@ AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
 
 if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
   ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
-  ALIFASTJET_HEADER="PseudoJet.hh"
+  ALIFASTJET_HEADER="fastjet/PseudoJet.hh"
   ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
   ALIFASTJET_LIBS="CGAL fastjet"
 else
@@ -1140,7 +1263,7 @@ 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],
+       [-L$ROOTLIBDIR $ALIROOT_LDFLAGS $ALIFASTJET_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
        [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
 
 if test "x$enable_module" = "xmissheader"; then
@@ -1159,7 +1282,7 @@ if test "x$enable_jet" = "xyes" ; then
   if test "x$with_fastjet" != "xno"; then
      AC_DEFINE(HAVE_FASTJET)
      AC_DEFINE(WITHFASTJET)
-     ALIJET_LIBS="$ALIJET_LIBS -L$FASTJET_LDFLAGS"
+     ALIJET_LIBS="$ALIJET_LIBS $FASTJET_LDFLAGS"
   fi
   AC_MSG_CHECKING([compilation with FASTJET package])
   AC_MSG_RESULT($with_fastjet)
@@ -1174,6 +1297,54 @@ AC_MSG_RESULT([$enable_module])
 AC_SUBST([ALIJET_LIBS])
 
 dnl ------------------------------------------------------------------
+AH_TEMPLATE([HLT_VZERO],[hlt vzero library])
+
+ALIVZERO_LIBS=
+CHECK_HLTMODULE([vzero],
+               [], [$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_vzero=$enable_module
+elif test "x$enable_module" = "xforce"; then
+  enable_vzero="yes"
+else
+  enable_vzero=$enable_module
+
+  if test "x$enable_vzero" = "xyes" ; then
+    AC_LANG_PUSH(C++)
+    save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/VZERO"
+
+    # AliVZEROReconstructor::GetESDVZERO() is needed, requires revision 43718, Tue Sep 21 2010
+    AC_MSG_CHECKING([checking for AliVZEROReconstructor::GetESDVZERO() r43718])
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliVZEROReconstructor.h>], 
+                                       [AliVZEROReconstructor rec;
+                                       rec.GetESDVZERO()])],
+                                       [], 
+                                      [enable_vzero="no...requires.r43718"])
+    AC_MSG_RESULT([$enable_vzero])       
+
+    AC_LANG_POP(C++)
+    CPPFLAGS="$save_CPPFLAGS"
+  fi
+fi
+
+if test "x$enable_vzero" = "xyes" ; then 
+  AC_DEFINE(HLT_VZERO)
+  ALIVZERO_LIBS=$ALIHLTMODULE_LIBS
+else
+  enable_module=$enable_vzero
+fi
+AM_CONDITIONAL(EN_HLT_VZERO, test x$enable_vzero = xyes)
+AC_MSG_CHECKING([whether to compile VZERO library])
+AC_MSG_RESULT([$enable_module])
+AC_SUBST([ALIVZERO_LIBS])
+
+dnl ------------------------------------------------------------------
 AH_TEMPLATE([HLT_ITS],[hlt its library])
 
 ALIITS_LIBS=
@@ -1344,7 +1515,7 @@ fi
 
 AC_MSG_RESULT([$enable_doc])
 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
-AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
+AM_CONDITIONAL(BUILD_DOC, test ! "x$DOXYGEN" = "x")
 AC_SUBST([HAVE_DOT])
 AC_SUBST([DOT_PATH])
 
@@ -1442,6 +1613,11 @@ if test "x$enable_fmd" = "xyes"; then
   AC_CONFIG_FILES([FMD/Makefile])
 fi
 
+AC_MSG_NOTICE([compile ZDC library: $enable_zdc])
+if test "x$enable_zdc" = "xyes"; then 
+  AC_CONFIG_FILES([ZDC/Makefile])
+fi
+
 AC_MSG_NOTICE([compile MUON library: $enable_muon])
 if test "x$enable_muon" = "xyes"; then 
   AC_CONFIG_FILES([MUON/Makefile])
@@ -1468,6 +1644,11 @@ if test "x$enable_jet" = "xyes"; then
   AC_CONFIG_FILES([JET/Makefile])
 fi
 
+AC_MSG_NOTICE([compile vzero library: $enable_vzero])
+if test "x$enable_vzero" = "xyes"; then 
+  AC_CONFIG_FILES([VZERO/Makefile])
+fi
+
 AC_MSG_NOTICE([compile comp library: $enable_comp])
 if test "x$enable_comp" = "xyes"; then 
   AC_CONFIG_FILES([comp/Makefile])