]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/configure.ac
Fixing logic bugs for removing duplicate tracks.
[u/mrichter/AliRoot.git] / HLT / configure.ac
index 9d03ca87f012436589cf3a652173a42687ecfb5f..8a41dc331e7ea41b1d8614465bc342f91290c185 100644 (file)
@@ -32,7 +32,7 @@ dnl ------------------------------------------------------------------
 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
@@ -74,7 +74,8 @@ if test "x$have_root" = "x1"; then
   #   libTreePlayer.so
   # - from Jan 07 libESD also depends on libXMLIO
   # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
-  ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer'
+  # - 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"
@@ -167,7 +168,7 @@ AC_MSG_RESULT([$have_aliroot])
 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
@@ -176,6 +177,11 @@ if test ! "x$have_aliroot" = "xno" ; then
   
   # 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"])
@@ -184,13 +190,18 @@ if test ! "x$have_aliroot" = "xno" ; then
   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"
@@ -213,9 +224,8 @@ if test ! "x$have_aliroot" = "xno" ; then
   AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
   AC_MSG_RESULT([$have_alirawdata])
 
-  # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
   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"
@@ -303,6 +313,36 @@ if test ! "x$have_aliroot" = "xno" ; then
   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)
+
   dnl
   dnl required header files and libraries for modules
   dnl
@@ -531,24 +571,31 @@ 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
-  ])
+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_RESULT([$enable_util])
+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])
@@ -598,6 +645,7 @@ if test "x$enable_tpc" = "xyes" ; then
 
   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
@@ -674,7 +722,7 @@ ALIPHOS_LIBS=
 CHECK_HLTMODULE([phos],
                [], [$ALIROOT_CPPFLAGS],
                [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
-               [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
+               [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
                [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
 
 if test "x$enable_module" = "xmissheader"; then
@@ -751,12 +799,14 @@ else
     # 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
-    AC_MSG_CHECKING([for required functions in AliTRDReconstructor])
-    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDReconstructor.h>], 
-                                       [AliTRDReconstructor r;
-                                      r.SetClusters(0)])],
+    # 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-14-Release"])
+                                      [enable_trd="no...requires.AliRoot>v4-16-Release"])
     AC_MSG_RESULT([$enable_trd])       
     AC_LANG_POP(C++)
     CPPFLAGS="$save_CPPFLAGS"
@@ -845,6 +895,25 @@ if test "x$enable_muon" = "xyes" ; then
                                      [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++)
@@ -886,6 +955,107 @@ 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],
+               [], [-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 JETANMC], 
+       [-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])
 
@@ -1109,6 +1279,7 @@ AC_CONFIG_FILES([Makefile
                 BASE/setenv.csh
                 BASE/HOMER/Makefile
                 BASE/util/Makefile
+                BASE/util/test/Makefile
                 BASE/interface/Makefile
                 BASE/test/Makefile
                 BASE/interface/test/Makefile
@@ -1124,8 +1295,11 @@ 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
@@ -1150,7 +1324,7 @@ if test "x$enable_tpc" = "xyes"; then
   AC_CONFIG_FILES([TPCLib/Makefile           
                   TPCLib/test/Makefile       
                   TPCLib/mapping2array.cxx     
-                  TPCLib/OnlineDisplay/Makefile
+                  TPCLib/EVE/Makefile
                   ])
 fi
 
@@ -1186,7 +1360,18 @@ fi
 
 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
 if test "x$enable_trigger" = "xyes"; then 
-  AC_CONFIG_FILES([trigger/Makefile])
+  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])