X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=HLT%2Fconfigure.ac;h=a07b212226a29a85717cfd6cd4c6c6830504f495;hb=a90a332e10e07160edec30aab4dd5e518d3cb10a;hp=48bb81b1806bbf1477e568b1aeb45f4c622ea36e;hpb=e962f43899468ffa1ca718edfb8c14e331861d2b;p=u%2Fmrichter%2FAliRoot.git diff --git a/HLT/configure.ac b/HLT/configure.ac index 48bb81b1806..a07b212226a 100644 --- a/HLT/configure.ac +++ b/HLT/configure.ac @@ -5,7 +5,20 @@ dnl template for the configuration script for the Alice HLT dnl framework and components dnl dnl ------------------------------------------------------------------ -AC_INIT([Alice High Level Trigger] , [0.9-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 @@ -92,6 +105,9 @@ ALIHLT_USEPACKAGE=ALIROOT 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 @@ -236,6 +252,19 @@ if test ! "x$have_aliroot" = "xno" ; then ALIROOT_LIBS= fi + dnl + dnl ESD copy function added May 9 2008 rev 25667 + dnl + have_esd_copy=no + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [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]) + dnl dnl required header files and libraries for modules dnl @@ -268,7 +297,21 @@ if test ! "x$have_aliroot" = "xno" ; then [have_alitpc=no ALITPC_LIBS= ]) fi - AC_MSG_RESULT($have_alitpc) + AC_MSG_RESULT([$have_alitpc]) + + have_tpc_load_clusters=no + AC_MSG_CHECKING(for on-line features of TPC offline tracker) + ALITPC_LIBS="-lGui -lTPCbase -lTPCrec" + LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include + #include ], + [AliTPCtrackerMI tracker; + TObjArray* array=NULL; + tracker.LoadClusters(array);])], + [have_tpc_load_clusters=yes], + [AC_DEFINE(HAVE_NOT_TPC_LOAD_CLUSTERS)]) + AC_MSG_RESULT([$have_tpc_load_clusters]) + fi AC_CHECK_HEADERS([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)]) AC_CHECK_HEADERS([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)]) @@ -307,7 +350,7 @@ if test ! "x$have_aliroot" = "xno" ; then 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]) @@ -442,6 +485,12 @@ 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, @@ -449,7 +498,7 @@ AC_ARG_ENABLE(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]) @@ -517,12 +566,62 @@ fi if test "x$enable_tpc" = "xyes" ; then AC_DEFINE(HLT_TPC) +else + enable_module=$enable_tpc fi AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes) -AC_MSG_CHECKING([whether to compile tpc library]) +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="no...missing.headers" +elif test "x$have_alircu" = "xno" ; then + enable_module="no...requires.AliRoot.RAW.libraries" + enable_rcu="no...requires.AliRoot.RAW.libraries" +elif test "x$enable_module" = "xforce"; then + enable_rcu="yes" +else + AC_LANG_PUSH(C++) + save_CPPFLAGS=$CPPFLAGS + save_LDFLAGS=$LDFLAGS + save_LIBS=$LIBS + 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 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_PHOS],[hlt phos library]) @@ -530,7 +629,7 @@ ALIPHOS_LIBS= CHECK_HLTMODULE([phos], [], [$ALIROOT_CPPFLAGS], [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS], - [PHOSbase PHOSrec PHOSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], + [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) if test "x$enable_module" = "xmissheader"; then @@ -567,9 +666,11 @@ 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_CHECKING([whether to compile phos library]) +AC_MSG_CHECKING([whether to compile PHOS library]) AC_MSG_RESULT([$enable_module]) AC_SUBST([ALIPHOS_LIBS]) @@ -579,7 +680,7 @@ AH_TEMPLATE([HLT_TRD],[hlt trd library]) ALITRD_LIBS= CHECK_HLTMODULE([trd], [], [], - [MLP], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS], + [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS], [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) @@ -594,12 +695,14 @@ else AC_LANG_PUSH(C++) save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD" - AC_MSG_CHECKING([for required functions in AliTRDclusterizer]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], - [AliTRDclusterizer c; - c.SetRawVersion(0)])], + # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release + # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008 + AC_MSG_CHECKING([for required functions in AliTRDrecoParam]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [AliTRDrecoParam p; + p.SetSeedingOn()])], [], - [enable_trd="no...requires.AliRoot>v4-07-Release"]) + [enable_trd="no...requires.AliRoot>v4-13-Release"]) AC_MSG_RESULT([$enable_trd]) AC_LANG_POP(C++) CPPFLAGS="$save_CPPFLAGS" @@ -609,9 +712,11 @@ 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_CHECKING([whether to compile trd library]) +AC_MSG_CHECKING([whether to compile TRD library]) AC_MSG_RESULT([$enable_module]) AC_SUBST([ALITRD_LIBS]) @@ -622,8 +727,8 @@ ALIMUON_LIBS= CHECK_HLTMODULE([dimuon], [AliMpExMap.h AliMUONTriggerIO.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping], - [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS], - [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], + [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 @@ -638,12 +743,90 @@ fi if test "x$enable_muon" = "xyes" ; then AC_DEFINE(HLT_MUON) ALIMUON_LIBS=$ALIHLTMODULE_LIBS +else + enable_module=$enable_muon fi AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes) -AC_MSG_CHECKING([whether to compile muon library]) +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="no...header.missing" +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_ITS],[hlt its library]) + +ALIITS_LIBS= +CHECK_HLTMODULE([its], + [], [$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_its="no...header.missing" +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 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]) @@ -666,6 +849,8 @@ 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]) @@ -755,13 +940,10 @@ dnl fi 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 @@ -769,20 +951,77 @@ AC_CONFIG_FILES([Makefile BASE/HOMER/Makefile BASE/util/Makefile BASE/interface/Makefile - sim/Makefile - rec/Makefile - SampleLib/Makefile - TPCLib/Makefile - TPCLib/mapping2array.cxx - TPCLib/OnlineDisplay/Makefile - PHOS/Makefile - TRD/Makefile - MUON/Makefile - trigger/Makefile - comp/Makefile + BASE/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 + shuttle/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/OnlineDisplay/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 TRD library: $enable_trd]) +if test "x$enable_trd" = "xyes"; then + AC_CONFIG_FILES([TRD/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]) +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