1 dnl -*- mode: autoconf -*-
4 dnl template for the configuration script for the Alice HLT
5 dnl framework and components
7 dnl ------------------------------------------------------------------
9 dnl Take either the AliRoot tag as version id or the current revision
10 AC_INIT([Alice High Level Trigger] ,
11 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`; \
12 revision=`svn info 2> /dev/null | grep "Revision:" | cut -d ' ' -f 2 | cut -d '/' -f 4`; \
13 if test "x$url" != "x"; then echo -n $url; \
14 elif test "x$revision" != "x"; then echo -n $revision ; \
15 elif test -e .revision && test x`cat .revision` != x; then \
18 echo -n invalid-version; \
20 [Matthias.Richter@ift.uib.no],
23 dnl ------------------------------------------------------------------
24 dnl the package from CVS contains the old Makefiles as well. In order to
25 dnl prevent them from becoming overwritten, we require a separate build
27 if test "`dirname $0`" = "." ; then
28 AC_ERROR([please run the script from a separate build directory])
31 dnl ------------------------------------------------------------------
33 AC_PREFIX_DEFAULT(${PWD})
34 AC_CONFIG_SRCDIR(BASE/AliHLTComponent.cxx)
35 AM_INIT_AUTOMAKE([-Wno-portability])
42 AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
44 dnl ------------------------------------------------------------------
45 dnl A warning posted into the auto-generated files
46 dnl Does NOT concern this file ;-)
47 AUTOGENERATED_WARNING="!!!!!!! DO NOT EDIT THIS FILE !!!!!!"
48 AC_SUBST([AUTOGENERATED_WARNING])
50 dnl ------------------------------------------------------------------
54 ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
55 AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
57 ROOTBINDIR=`dirname $ROOTEXEC`
58 AC_SUBST([ROOTBINDIR])
60 dnl test for additional required root libraries and headers
62 if test "x$have_root" = "x1"; then
64 save_CPPFLAGS=$CPPFLAGS
67 CPPFLAGS=`echo $save_CPPFLAGS; for i in ${ROOTINCDIR}; do echo -n "-I$i " ; done`
69 # we check for the libSTEER library which is linked to
70 # - the ROOT libs libGeom libMinuit libVMC libEG
71 # - the AliRoot libESD libRAWData (libRAWDatarec from v4-04-Rev-07)
72 # - ROOT libCint needs also libdl
73 # - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires
75 # - from Jan 07 libESD also depends on libXMLIO
76 # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
77 # - libCDB.so depends on libXMLParser since Mar 11 2009 r 31411
78 ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer XMLParser'
79 for CHECKLIB in $ROOT_CHECKLIBS ; do
80 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
81 LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
82 AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
85 # TBuffer.h has been made pure virtual in root v5-15-02 and one
86 # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
87 AC_CHECK_HEADER([TBufferFile.h], [], [HAVE_NOT_TBUFFERFILE])
89 # TView.h has been made pure virtual right after root v5-15-02 and one
90 # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
91 AC_CHECK_HEADER([TView3D.h], [], [HAVE_NOT_TVIEW3D])
93 CPPFLAGS=$save_CPPFLAGS
99 dnl ------------------------------------------------------------------
100 # TODO: make this configurable through arguments
101 #Define whether you want to run with ALIROOT or only ROOT
102 AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
103 ALIHLT_USEPACKAGE=ALIROOT
104 #ALIHLT_USEPACKAGE=ROOT
105 #ALIHLT_USEPACKAGE=STANDALONE
106 AC_DEFINE(use_aliroot)
108 CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
109 save_CPPFLAGS=$CPPFLAGS
110 save_LDFLAGS=$LDFLAGS
113 dnl ------------------------------------------------------------------
114 dnl check for AliRoot features
117 AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation],
118 [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
121 if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
122 dnl ------------------------------------------------------------------
123 dnl Try to estimate the system architecture
124 case $host_os:$host_cpu in
125 linux*:x86_64*) alice_target='linuxx8664gcc' ;;
126 linux*) alice_target='linux' ;;
127 *) alice_target='unknown' ;;
129 if test "x$alice_target" = "xunknown" ; then
130 if test -z $ALICE_TARGET ; then
131 AC_MSG_ERROR([Can not estimate system architecture.
132 To avoid the problem, set the ALICE_TARGET variable appropriately.
133 Please send the following information to Matthias.Richter@ift.uib.no:
134 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
136 AC_MSG_NOTICE([Unknown system architecture.
137 Please send the following information to Matthias.Richter@ift.uib.no:
138 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
141 if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
142 AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
143 overriding $ALICE_TARGET by $alice_target])
145 ALICE_TARGET=$alice_target
147 ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
148 ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
149 ALIROOTINCDIR=${ALICE_ROOT}/include
150 test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
151 test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
152 test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
155 AC_MSG_CHECKING([for AliRoot])
156 if test "x$ALICE_ROOT" != "x" \
157 && test -d ${ALIROOTBINDIR} \
158 && test -d ${ALIROOTLIBDIR} \
159 && test -d ${ALIROOTINCDIR}; then
160 have_aliroot=$ALICE_ROOT
166 AC_MSG_RESULT([$have_aliroot])
168 if test ! "x$have_aliroot" = "xno" ; then
169 ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
170 ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
171 ALIROOT_LIBS="$ADD_ROOTLIBS"
172 save_CPPFLAGS=$CPPFLAGS
173 save_LDFLAGS=$LDFLAGS
175 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
176 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
178 # check for certain AliRoot libraries/files/features
179 # libSTEERBase present since Aug 7 2007
180 # ###########################################
181 # temporary workaround for circular dependency libSTEERbase libSTEER
182 # https://savannah.cern.ch/bugs/index.php?49914
183 # disable the sequence of checks and load libraries in parallel
184 ALIROOT_LIBS="$ALIROOT_LIBS -lAOD -lCDB -lRAWDatabase -lRAWDatarec -lESD -lSTEER"
185 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
187 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
189 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
191 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
193 # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
194 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
196 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
198 # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
200 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
202 AC_CHECK_LIB([$CHECKLIB],[_init],
203 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
204 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lESD -lSTEER"
206 AC_CHECK_LIB([$CHECKLIB],[_init],
207 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
208 have_alirawdata=$CHECKLIB])],
209 [# second pass with -RAWData
211 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
212 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
213 #include <AliRawReaderFile.h>
214 #include <AliRawReaderDate.h>
215 #include <AliRawReaderRoot.h>],
216 [AliRawReaderMemory mreader;
217 AliRawReaderFile freader;
218 AliRawReaderDate dreader(NULL,0);
219 AliRawReaderRoot rreader(NULL,0);])],
220 [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
221 have_alirawdata=$CHECKLIB],
222 [have_alirawdata=no])
223 ]) dnl AC_CHECK_LIB RAWDatabase
224 AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
225 AC_MSG_RESULT([$have_alirawdata])
227 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
229 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
231 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
233 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
236 dnl check whether AliLog supports notification callback
238 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
239 have_alilog_notification=no
240 if test ! "x$have_aliroot" = "xno" ; then
241 AC_MSG_CHECKING([whether AliLog supports notification callback])
242 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
243 [AliLog::AliLogNotification fct])],
244 [have_alilog_notification=yes],
245 [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
246 AC_MSG_RESULT([$have_alilog_notification])
249 if test "x$have_aliroot" = "xno" ; then
250 # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
251 # but library dependencies might not be resolved completely
253 AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
254 This can happen from time to time due to development in AliRoot. You can
255 force compilation of detector libs by --enable-<detector>, but be aware
256 of unresolved references at runtime.])
257 AC_MSG_WARN([ ------------------------------------------ ])
258 AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
259 AC_MSG_WARN([ please include config.log ])
260 AC_MSG_WARN([ ------------------------------------------ ])
266 dnl ESD supports non-std content
269 AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>
270 #include <AliExternalTrackParam.h>
272 #include <TClonesArray.h>],
274 esd.CreateStdContent();
275 TTree* tree=new TTree("esdTree", "Tree with HLT ESD objects");
276 TClonesArray* a=new TClonesArray("AliExternalTrackParam");
277 a->SetName("SomeObject");
279 esd.WriteToTree(tree);
280 if (!tree->FindBranch("SomeObject")) return 1;
282 [have_esd_nonstd=yes],
283 [AC_DEFINE(HAVE_NOT_ESD_NONSTD)])
284 AC_MSG_CHECKING(whether ESD supports non standard content)
285 AC_MSG_RESULT([$have_esd_nonstd])
288 dnl ESD copy function added May 9 2008 rev 25667
290 if test "x$have_esd_nonstd" != "xyes"; then
292 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
297 [AC_DEFINE(HAVE_NOT_ESD_COPY)])
298 AC_MSG_CHECKING(for ESD assignment operator)
299 AC_MSG_RESULT([$have_esd_copy])
303 dnl AliRawReaderMemory support for multiple buffers added
304 dnl revision 26829 Jun 2008
306 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
307 have_rawreadermemory_multbuffers=no
308 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
309 [AliRawReaderMemory rr;
310 rr.AddBuffer(NULL, 0, 0);])],
311 [have_rawreadermemory_multbuffers=yes],
312 [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
313 AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
314 AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
317 dnl Changes in the magnetic field implementation
318 dnl revision 30848 Feb 1 2009
320 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
322 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMagF.h>],
323 [int test=AliMagF::k5kG;])],
324 [have_alimagf30848=yes],
325 [AC_DEFINE(HAVE_NOT_ALIMAGF30848)])
326 AC_MSG_CHECKING(AliMagF contains field definitions)
327 AC_MSG_RESULT([$have_alimagf30848])
330 dnl Cleanup of the RunLoader implementation
331 dnl revision 30859 Feb 2 2009
333 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
334 have_alirunloader30859=no
335 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRunLoader.h>],
336 [AliRunLoader* rl=AliRunLoader::Instance();])],
337 [have_alirunloader30859=yes],
338 [AC_DEFINE(HAVE_NOT_ALIRUNLOADER30859)])
339 AC_MSG_CHECKING(AliRunLoader::Instance)
340 AC_MSG_RESULT([$have_alirunloader30859])
343 AC_CHECK_HEADER([AliQAv1.h], [have_aliqav1=yes], [])
344 AM_CONDITIONAL(EN_HLT_QA, test x$have_aliqav1 = xyes)
347 dnl required header files and libraries for modules
351 dnl Check for the interface of AliExternalTrackParam which has been changed
352 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
354 externaltrackparam_version=1
355 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
356 [AliExternalTrackParam trackparam;
357 Double_t param[[5]]; Double_t covar[[15]];
358 trackparam.Set(0., 0., param, covar);])],
359 [externaltrackparam_version=2],
360 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
361 AC_MSG_CHECKING(for version of AliExternalTrackParam)
362 AC_MSG_RESULT($externaltrackparam_version)
364 dnl The AliShuttleInterface was changed in rev 29388. Some return types
365 dnl had been const, now changed according to gcc 4.3 warnings
366 AC_MSG_CHECKING(for version of AliShuttleInterface.h)
367 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/"
368 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
369 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
370 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliShuttleInterface.h>],
371 [class dummy : public AliShuttleInterface {
373 const UInt_t GetStartTimeDCSQuery() {;}
375 [AC_DEFINE(SHUTTLE_PRE_REV29388_INTERFACE)
376 alishuttleinterface_version=pre.rev.29388],
377 [alishuttleinterface_version=up.to.date])
378 AC_MSG_RESULT([$alishuttleinterface_version])
380 CPPFLAGS=$save_CPPFLAGS
381 LDFLAGS=$save_LDFLAGS
383 fi # if test ! "x$have_aliroot" = "xno"
386 AC_SUBST([ALICE_ROOT])
387 AC_SUBST([ALIROOT_CPPFLAGS])
388 AC_SUBST([ALIROOT_LDFLAGS])
389 AC_SUBST([ALIROOTBINDIR])
390 AC_SUBST([ALIROOTLIBDIR])
391 AC_SUBST([ALIROOT_LIBS])
392 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
394 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
396 AC_SUBST([HLTBASE_CPPFLAGS])
397 AC_SUBST([HLTBASE_LDFLAGS])
399 dnl ------------------------------------------------------------------
400 dnl check for the HLT PubSub Framework
401 dnl namely for the existence of the HOMER library
402 dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
403 dnl package. It os though possible to choose an external. library
404 dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
405 dnl got the name libAliHLTHOMER
406 AC_MSG_CHECKING([for HLT PubSub Framework])
407 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
409 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
410 if test -z $with_pubsub || ! test -d $with_pubsub ; then
413 AC_MSG_RESULT([$with_pubsub])
417 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
418 if test "x$with_pubsub" != "xno" ; then
419 save_CPPFLAGS=$CPPFLAGS
420 save_LDFLAGS=$LDFLAGS
422 # currently the different versions of the HLT PubSub framework have a different
424 if test -d ${with_pubsub}/include/HOMER ; then
425 # the 'early' location of the include files with separated HOMER sub dirs
426 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
427 elif test -d ${with_pubsub}/include/Util/HOMER ; then
428 # location for HLT Framework versions after Sep 2006
429 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
430 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
431 # fall back if include files were not installed (versions after Sep 06)
432 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
434 # fall back if include files were not installed (versions before Sep 06)
435 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
437 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
439 AC_ARG_ENABLE(pubsub-debug,
440 [AC_HELP_STRING([--disable-pubsub-debug],
441 [force the production version of the PubSub framework])],
442 [],[enable_pubsub_debug=yes])
444 HOMER_TARGET="`uname -s`-`uname -m`"
445 AC_MSG_CHECKING([for HLT PubSub Framework release type])
446 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
447 homer_type="production"
448 HOMER_TARGET="${HOMER_TARGET}-release"
449 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
451 HOMER_TARGET="${HOMER_TARGET}-debug"
453 AC_MSG_RESULT([${homer_type}])
454 HOMERREADER_HEADER=HOMERReader.h
455 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
456 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
457 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
458 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
459 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
463 AC_CHECK_HEADER([$HOMERREADER_HEADER],
464 [ AC_CHECK_LIB([HOMER],[_init],
466 HOMER_LIBS="-lHOMER"],
467 [ AC_CHECK_LIB([HOMERReader],[_init],
469 HOMER_LIBS="-lHOMERReader"])])
470 LIBS="$LIBS $HOMER_LIBS"
471 AC_MSG_CHECKING([version of HOMER library])
472 dnl The Homer library has no versioning, so we do our own
473 dnl version description
474 dnl ----------------------------------------------------------------------
475 dnl 1 inintial version
476 dnl 2 GetBlockStatusFlags added to the interface
477 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
478 [HOMERReader reader("dummy", 0);
479 reader.GetBlockStatusFlags(0);])],
482 AC_MSG_RESULT([$HOMER_VERSION])
484 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
488 dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
490 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
491 HOMERREADER_HEADER=AliHLTHOMERReader.h
492 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
498 if test "x$with_homer" = "xno" ; then
503 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
504 AC_DEFINE(HAVE_HOMERREADER)
506 CPPFLAGS="$save_CPPFLAGS"
507 LDFLAGS="$save_LDFLAGS"
510 AC_SUBST([HOMERREADER_HEADER])
511 AC_SUBST([HOMER_INBUILT_LIB])
512 AC_SUBST([HOMER_CPPFLAGS])
513 AC_SUBST([HOMER_LDFLAGS])
514 AC_SUBST([HOMER_LIBDIR])
515 AC_SUBST([HOMER_BINDIR])
516 AC_SUBST([HOMER_LIBS])
518 dnl ------------------------------------------------------------------
520 [AC_HELP_STRING([--disable-all],
521 [disable all detector modules, individual modules can be switched on by --enable-det])],
522 [disable_all=yes],[])
524 dnl ------------------------------------------------------------------
525 AC_MSG_CHECKING([whether to impose strict coding conventions])
526 AC_ARG_ENABLE(strict,
527 [AC_HELP_STRING([--disable-strict],
528 [disable coding convention checks ])],
529 [],[enable_strict=yes])
530 if test "x$enable_strict" = "xyes" ; then
531 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
533 AC_MSG_RESULT([$enable_strict])
535 dnl ------------------------------------------------------------------
536 AC_MSG_CHECKING([whether to enable component statistics])
537 AC_ARG_ENABLE(component-stat,
538 [AC_HELP_STRING([--enable-component-stat],
539 [enable component statistics ])],
540 [],[enable_component_stat=no])
541 if test "x$enable_component_stat" = "xyes" ; then
542 AC_DEFINE(HLT_COMPONENT_STATISTICS)
544 AC_MSG_RESULT([$enable_component_stat])
546 dnl ------------------------------------------------------------------
547 dnl ---- module checks
548 dnl ------------------------------------------------------------------
549 save_CPPFLAGS=$CPPFLAGS
550 save_LDFLAGS=$LDFLAGS
553 dnl ------------------------------------------------------------------
554 AC_MSG_NOTICE([-------------------------------------------------])
555 AC_MSG_NOTICE([checking dependencies for HLTbase library])
556 HLTBASE_CHECKLIBS='XMLParser'
557 for CHECKLIB in $HLTBASE_CHECKLIBS ; do
558 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
559 LIBS="$save_LIBS $ROOTLIBS $ALIHLTBASE_LIBS"
560 AC_CHECK_LIB([$CHECKLIB],[_init], [ALIHLTBASE_LIBS="$ALIHLTBASE_LIBS -l$CHECKLIB"])
562 AC_SUBST([ALIHLTBASE_LIBS])
564 dnl ------------------------------------------------------------------
565 AC_MSG_CHECKING([whether to compile sample library])
566 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
567 AC_ARG_ENABLE(sample,
568 [AC_HELP_STRING([--disable-sample],
569 [compile the sample library ])],
571 [if test "x$have_aliroot" = "xno" ; then
572 enable_sample="no...requires.AliRoot"
578 if test "x$enable_sample" = "xyes" ; then
579 AC_DEFINE(HLT_SAMPLE)
581 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
582 AC_MSG_RESULT([$enable_sample])
584 dnl ------------------------------------------------------------------
585 AH_TEMPLATE([HLT_UTIL],[HLT utility library])
587 CHECK_HLTMODULE([util],
589 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/STEER -I$ALICE_ROOT/RAW -I$ALICE_ROOT/PYTHIA6],
590 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
591 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
592 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
594 if test "x$enable_module" = "xmissheader"; then
595 enable_module="no...missing.headers"
596 enable_util=$enable_module
597 elif test "x$enable_module" = "xforce"; then
600 enable_util=$enable_module
602 if test "x$enable_util" = "xyes" ; then
604 ALIUTIL_LIBS=$ALIHLTMODULE_LIBS
606 AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
607 AC_MSG_CHECKING([whether to compile Util library])
608 AC_MSG_RESULT([$enable_module])
609 AC_SUBST([ALIUTIL_LIBS])
611 dnl ------------------------------------------------------------------
612 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
615 CHECK_HLTMODULE([tpc],
617 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
618 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
619 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
620 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
622 if test "x$enable_module" = "xmissheader"; then
623 enable_module="no...missing.headers"
624 enable_tpc=$enable_module
625 elif test "x$enable_module" = "xforce"; then
628 enable_tpc=$enable_module
631 if test "x$enable_tpc" = "xyes" ; then
634 ALITPC_LIBS=$ALIHLTMODULE_LIBS
636 dnl Check for functionality in the TPC reconstruction required for online
639 have_tpc_hltoffline_rec=no
640 AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
641 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
642 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
643 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
644 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
645 #include <AliTPCclustererMI.h>
646 #include <TObjArray.h>],
647 [AliTPCtrackerMI tracker;
648 TObjArray* array=NULL;
649 tracker.LoadClusters(array);
650 AliTPCclustererMI cl(NULL, NULL);
651 cl.GetOutputClonesArray();])],
652 [have_tpc_hltoffline_rec=yes],
653 [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
655 AC_MSG_RESULT([$have_tpc_hltoffline_rec])
657 AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
658 AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
659 AC_CHECK_HEADER([AliAltroRawStreamV3.h], [], [AC_DEFINE(HAVE_NOT_ALTRORAWSTREAMV3)])
662 if test ! "x$have_aliroot" = "xno" ; then
663 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
664 # which is stored in the TPC/mapping/Patchx.data files from
665 # AliRoot version v4-04-Release (May 2006)
666 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
667 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
668 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
669 [have_tpc_mapping=yes
670 AC_SUBST(TPC_PAD_MAPPING_PATH)
671 AC_DEFINE(HAVE_TPC_MAPPING)],
675 AC_MSG_CHECKING([for TPC mapping layout])
676 AC_MSG_RESULT([$have_tpc_mapping])
680 enable_module=$enable_tpc
682 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
683 AC_MSG_CHECKING([whether to compile TPC library])
684 AC_MSG_RESULT([$enable_module])
685 AC_SUBST([ALITPC_LIBS])
687 dnl ------------------------------------------------------------------
688 AH_TEMPLATE([HLT_RCU],[hlt rcu library])
690 CHECK_HLTMODULE([rcu],
692 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
693 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
694 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
695 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
697 if test "x$enable_module" = "xmissheader"; then
698 enable_module="no...missing.headers"
699 enable_rcu=$enable_module
700 elif test "x$enable_module" = "xforce"; then
704 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
705 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
706 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
707 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
708 [AliAltroDecoder decoder;
709 decoder.CopyBackward(NULL, 0);])],
710 [enable_rcu=$enable_module],
711 [enable_module="no...requires.AliRoot>v4-10-Release"
712 enable_rcu="no...requires.AliRoot>v4-10-Release"])
713 CPPFLAGS=$save_CPPFLAGS
714 LDFLAGS=$save_LDFLAGS
719 if test "x$enable_rcu" = "xyes" ; then
722 enable_module=$enable_rcu
724 AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
725 AC_MSG_CHECKING([whether to compile RCU library])
726 AC_MSG_RESULT([$enable_module])
727 AC_SUBST([ALIRCU_LIBS])
729 dnl ------------------------------------------------------------------
730 AH_TEMPLATE([HLT_CALO],[hlt calo(rimeter) library])
733 CHECK_HLTMODULE([calo],
734 [], [$ALIROOT_CPPFLAGS],
735 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
736 [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
737 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
739 if test "x$enable_module" = "xmissheader"; then
740 enable_module="no...missing.headers"
741 enable_calo=$enable_module
742 elif test "x$enable_module" = "xforce"; then
745 have_alicalorawstream=no
746 if test ! "x$have_aliroot" = "xno" ; then
748 save_CPPFLAGS="$CPPFLAGS"
749 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
750 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
751 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
752 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
753 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
754 #include <AliCaloRawStream.h>],
756 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
757 have_alicalorawstream=yes],
759 AC_MSG_RESULT([$have_alicalorawstream])
761 CPPFLAGS="$save_CPPFLAGS"
763 if test "x$have_alicalorawstream" != "xyes"; then
764 enable_calo="no...requires.AliRoot>v4-05-07"
766 enable_calo=$enable_module
770 if test "x$enable_calo" = "xyes" ; then
772 ALICALO_LIBS=$ALIHLTMODULE_LIBS
774 enable_module=$enable_calo
776 AM_CONDITIONAL(EN_HLT_CALO, test x$enable_calo = xyes)
777 AC_MSG_CHECKING([whether to compile CALO library])
778 AC_MSG_RESULT([$enable_module])
779 AC_SUBST([ALICALO_LIBS])
781 dnl ------------------------------------------------------------------
782 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
785 CHECK_HLTMODULE([phos],
786 [], [$ALIROOT_CPPFLAGS],
787 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
788 [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
789 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
791 if test "x$enable_module" = "xmissheader"; then
792 enable_module="no...requires.AliRoot>v4-05-07"
793 enable_phos=$enable_module
794 elif test "x$enable_module" = "xforce"; then
797 have_alicalorawstream=no
798 if test ! "x$have_aliroot" = "xno" ; then
800 save_CPPFLAGS="$CPPFLAGS"
801 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
802 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
803 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
804 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
805 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
806 #include <AliCaloRawStream.h>],
808 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
809 have_alicalorawstream=yes],
811 AC_MSG_RESULT([$have_alicalorawstream])
812 AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
813 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
814 [AliPHOSRecoParam param;
815 param.GetEMCClusteringThreshold()])],
816 [have_aliphosrecoparam=yes],
817 [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
818 AC_MSG_RESULT([$have_aliphosrecoparam])
820 CPPFLAGS="$save_CPPFLAGS"
822 if test "x$have_alicalorawstream" != "xyes"; then
823 enable_phos="no...requires.AliRoot>v4-05-07"
825 enable_phos=$enable_module
829 if test "x$enable_phos" = "xyes" ; then
831 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
833 enable_module=$enable_phos
835 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
836 AC_MSG_CHECKING([whether to compile PHOS library])
837 AC_MSG_RESULT([$enable_module])
838 AC_SUBST([ALIPHOS_LIBS])
840 dnl ------------------------------------------------------------------
841 AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
844 CHECK_HLTMODULE([emcal],
845 [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL],
846 [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
847 [EMCALrec EMCALsim EMCALbase], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
848 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
850 if test "x$enable_module" = "xmissheader"; then
851 enable_module="no...header.missing"
852 enable_emcal=$enable_module
853 elif test "x$enable_module" = "xforce"; then
856 enable_emcal=$enable_module
859 if test "x$enable_emcal" = "xyes" ; then
861 ALIEMCAL_LIBS=$ALIHLTMODULE_LIBS
863 enable_module=$enable_emcal
865 AM_CONDITIONAL(EN_HLT_EMCAL, test x$enable_emcal = xyes)
866 AC_MSG_CHECKING([whether to compile EMCAL library])
867 AC_MSG_RESULT([$enable_module])
868 AC_SUBST([ALIEMCAL_LIBS])
870 dnl ------------------------------------------------------------------
871 AH_TEMPLATE([HLT_TRD],[hlt trd library])
874 CHECK_HLTMODULE([trd],
876 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
877 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
878 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
880 if test "x$enable_module" = "xmissheader"; then
881 enable_module="no...requires.AliRoot>v4-07-Release"
882 enable_trd=$enable_module
883 elif test "x$enable_module" = "xforce"; then
886 enable_trd=$enable_module
887 if test "x$enable_trd" = "xyes" ; then
889 save_CPPFLAGS="$CPPFLAGS"
890 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
891 # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
892 # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
893 # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
894 # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
895 # changed to AliTRDCluster according to revision 30461, Thu Dec 18 2008
896 # changed to AliTRDclusterizer::GetAddedClusters according to revision 31299, Wed Mar 4 2009
897 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
898 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
899 [AliTRDclusterizer c;
900 c.GetAddedClusters()])],
902 [enable_trd="no...requires.AliRoot>v4-16-Release"])
903 AC_MSG_RESULT([$enable_trd])
905 if test "x$enable_trd" = "xyes" ; then
906 have_alitrdrecoparam_r34995=no
907 AC_MSG_CHECKING([checking for AliTRDrecoParam r34995])
908 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrecoParam.h>],
909 [AliTRDrecoParam param;
910 param.SetPIDNeuralNetwork(kFALSE)]);],
911 [have_alitrdrecoparam_r34995=yes],
912 [AC_DEFINE(HAVE_NOT_ALITRDRECOPARAM_r34995)])
913 AC_MSG_RESULT([$have_alitrdrecoparam_r34995])
918 CPPFLAGS="$save_CPPFLAGS"
922 if test "x$enable_trd" = "xyes" ; then
924 ALITRD_LIBS=$ALIHLTMODULE_LIBS
926 enable_module=$enable_trd
928 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
929 AC_MSG_CHECKING([whether to compile TRD library])
930 AC_MSG_RESULT([$enable_module])
931 AC_SUBST([ALITRD_LIBS])
933 dnl ------------------------------------------------------------------
934 AH_TEMPLATE([HLT_FMD],[hlt fmd library])
936 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
937 CHECK_HLTMODULE([fmd],
939 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
940 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
941 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
943 if test "x$enable_module" = "xmissheader"; then
944 enable_module="no...missing.headers"
945 enable_fmd=$enable_module
946 elif test "x$enable_module" = "xforce"; then
949 enable_fmd=$enable_module
952 if test "x$enable_fmd" = "xyes" ; then
954 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
956 enable_module=$enable_fmd
958 AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
959 AC_MSG_CHECKING([whether to compile FMD library])
960 AC_MSG_RESULT([$enable_module])
961 AC_SUBST([ALIFMD_LIBS])
963 dnl ------------------------------------------------------------------
964 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
967 CHECK_HLTMODULE([dimuon],
968 [AliMpExMap.h AliMUONTriggerIO.h],
969 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
970 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
971 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
972 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
974 if test "x$enable_module" = "xmissheader"; then
975 enable_module="no...requires.AliRoot>=v4-08-Release"
976 enable_muon=$enable_module
977 elif test "x$enable_module" = "xforce"; then
980 enable_muon=$enable_module
983 if test "x$enable_muon" = "xyes" ; then
985 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
987 save_CPPFLAGS="$CPPFLAGS"
990 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
992 have_muon_digitmaker_getrawstream=no
993 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
994 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
995 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
996 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
997 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
998 [AliMUONDigitMaker dm;
999 dm.GetRawStreamTracker();])],
1000 [have_muon_digitmaker_getrawstream=yes],
1001 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
1003 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
1006 dnl Check for AliMpPad::GetPositionX/Y
1007 dnl change of implementation in MUON code
1008 dnl revision 31769, Wed Apr 1 2009
1010 have_muon_alimppad_getposition=no
1011 AC_MSG_CHECKING(for GetPosition methods of AliMpPad)
1012 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON/mapping"
1013 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1014 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1015 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMpPad.h>],
1017 pad.GetPositionX();])],
1018 [have_muon_alimppad_getposition=yes],
1019 [AC_DEFINE(HAVE_NOT_MUON_ALIMPPAD_GETPOSITION)])
1021 AC_MSG_RESULT([$have_muon_alimppad_getposition])
1023 CPPFLAGS="$save_CPPFLAGS"
1027 enable_module=$enable_muon
1029 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
1030 AC_MSG_CHECKING([whether to compile MUON library])
1031 AC_MSG_RESULT([$enable_module])
1032 AC_SUBST([ALIMUON_LIBS])
1034 dnl ------------------------------------------------------------------
1035 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
1038 CHECK_HLTMODULE([trigger],
1039 [], [$ALIROOT_CPPFLAGS],
1040 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1041 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1042 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1044 if test "x$enable_module" = "xmissheader"; then
1045 enable_module="no...header.missing"
1046 enable_trigger=$enable_module
1047 elif test "x$enable_module" = "xforce"; then
1048 enable_trigger="yes"
1050 enable_trigger=$enable_module
1053 if test "x$enable_trigger" = "xyes" ; then
1054 AC_DEFINE(HLT_TRIGGER)
1055 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
1057 enable_module=$enable_trigger
1059 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
1060 AC_MSG_CHECKING([whether to compile Trigger library])
1061 AC_MSG_RESULT([$enable_module])
1062 AC_SUBST([ALITRIGGER_LIBS])
1064 dnl ------------------------------------------------------------------
1065 AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
1068 CHECK_HLTMODULE([global],
1069 [], [$ALIROOT_CPPFLAGS],
1070 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1071 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1072 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1074 if test "x$enable_module" = "xmissheader"; then
1075 enable_module="no...header.missing"
1076 enable_global=$enable_module
1077 elif test "x$enable_module" = "xforce"; then
1080 enable_global=$enable_module
1081 if test "x$enable_global" = "xyes" ; then
1083 save_CPPFLAGS="$CPPFLAGS"
1084 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
1085 AC_MSG_CHECKING([for required functions in AliESDtrack])
1086 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>],
1088 t.SetGlobalChi2(0)])],
1090 [enable_global="no...requires.AliRoot>v4-17-Release"])
1091 AC_MSG_RESULT([$enable_global])
1093 CPPFLAGS="$save_CPPFLAGS"
1097 if test "x$enable_global" = "xyes" ; then
1098 AC_DEFINE(HLT_GLOBAL)
1099 ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
1101 enable_module=$enable_global
1103 AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
1104 AC_MSG_CHECKING([whether to compile Global library])
1105 AC_MSG_RESULT([$enable_module])
1106 AC_SUBST([ALIGLOBAL_LIBS])
1108 dnl ------------------------------------------------------------------
1109 AH_TEMPLATE([HLT_JET],[hlt jet library])
1112 ALIFASTJET_INCFLAGS=
1115 AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
1116 [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
1117 [ test -n $FASTJET && with_fastjet=$FASTJET ])
1119 if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
1120 ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
1121 ALIFASTJET_HEADER="PseudoJet.hh"
1122 ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
1123 ALIFASTJET_LIBS="CGAL fastjet"
1128 CHECK_HLTMODULE([jet],
1129 [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
1130 [$ALIFASTJET_LIBS], [-L$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
1131 [AOD ESD ANALYSIS ANALYSISalice JETAN JETANMC],
1132 [-L$ROOTLIBDIR $ALIROOT_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
1133 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1135 if test "x$enable_module" = "xmissheader"; then
1136 enable_module="no...header.missing"
1137 enable_jet=$enable_module
1138 elif test "x$enable_module" = "xforce"; then
1141 enable_jet=$enable_module
1144 if test "x$enable_jet" = "xyes" ; then
1146 ALIJET_LIBS="$ALIHLTMODULE_LIBS"
1148 if test "x$with_fastjet" != "xno"; then
1149 AC_DEFINE(HAVE_FASTJET)
1150 AC_DEFINE(WITHFASTJET)
1151 ALIJET_LIBS="$ALIJET_LIBS -L$FASTJET_LDFLAGS"
1153 AC_MSG_CHECKING([compilation with FASTJET package])
1154 AC_MSG_RESULT($with_fastjet)
1157 enable_module=$enable_jet
1160 AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
1161 AC_MSG_CHECKING([whether to compile Jet library])
1162 AC_MSG_RESULT([$enable_module])
1163 AC_SUBST([ALIJET_LIBS])
1165 dnl ------------------------------------------------------------------
1166 AH_TEMPLATE([HLT_ITS],[hlt its library])
1169 CHECK_HLTMODULE([its],
1170 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
1171 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1172 [ITSbase ITSrec ITSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1173 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1175 if test "x$enable_module" = "xmissheader"; then
1176 enable_module="no...header.missing"
1177 enable_its=$enable_module
1178 elif test "x$enable_module" = "xforce"; then
1181 enable_its=$enable_module
1182 if test "x$enable_its" = "xyes" ; then
1184 save_CPPFLAGS="$CPPFLAGS"
1185 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
1186 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
1187 # require AliVertexer::GetNominalPos()
1188 AC_MSG_CHECKING([for required functions in AliITSVertexer])
1189 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
1191 v.GetNominalPos()])],
1193 [enable_its="no...requires.AliRoot>v4-13-Release"])
1194 AC_MSG_RESULT([$enable_its])
1196 CPPFLAGS="$save_CPPFLAGS"
1200 if test "x$enable_its" = "xyes" ; then
1202 ALIITS_LIBS=$ALIHLTMODULE_LIBS
1204 enable_module=$enable_its
1206 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
1207 AC_MSG_CHECKING([whether to compile ITS library])
1208 AC_MSG_RESULT([$enable_module])
1209 AC_SUBST([ALIITS_LIBS])
1211 dnl ------------------------------------------------------------------
1212 AH_TEMPLATE([HLT_COMP],[hlt comp library])
1215 CHECK_HLTMODULE([comp],
1216 [], [$ALIROOT_CPPFLAGS],
1217 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1218 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1219 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1221 if test "x$enable_module" = "xmissheader"; then
1222 enable_module="no...header.missing"
1223 enable_comp=$enable_module
1224 elif test "x$enable_module" = "xforce"; then
1227 enable_comp=$enable_module
1230 if test "x$enable_comp" = "xyes" ; then
1232 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
1234 enable_module=$enable_comp
1236 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
1237 AC_MSG_CHECKING([whether to compile comp library])
1238 AC_MSG_RESULT([$enable_module])
1239 AC_SUBST([ALICOMP_LIBS])
1241 dnl ------------------------------------------------------------------
1242 AC_MSG_CHECKING([whether to disable AliRoot logging])
1243 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
1244 AC_ARG_ENABLE(aliroot-logging,
1245 [AC_HELP_STRING([--disable-aliroot-logging],
1246 [disable logging through AliRoot logging methods])],
1247 [],[enable_aliroot_logging=no])
1248 if test "x$have_aliroot" = "xno" ; then
1249 enable_aliroot_logging=yes # this means 'disable'
1251 if test "x$enable_aliroot_logging" != "xno" ; then
1252 AC_DEFINE(NOALIROOT_LOGGING)
1254 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1255 AC_MSG_RESULT([$enable_aliroot_logging])
1257 dnl ------------------------------------------------------------------
1258 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1259 AH_TEMPLATE([DOMC],[MC saving])
1260 AC_ARG_ENABLE(mc-saving,
1261 [AC_HELP_STRING([--enable-mc-saving],
1262 [enable saving MC data through the chain])],
1263 [],[enable_mc_saving=no])
1264 if test "x$enable_mc_saving" = "xyes" ; then
1267 AC_MSG_RESULT([$enable_mc_saving])
1269 dnl ------------------------------------------------------------------
1270 dnl certainly something old, but we keep the define
1271 AC_MSG_CHECKING([whether to use ROWHOUGH])
1272 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1273 AC_ARG_ENABLE(rowhough,
1274 [AC_HELP_STRING([--enable-rowhough],
1276 [],[enable_rowhough=no])
1277 if test "x$enable_rowhough" = "xyes" ; then
1278 AC_DEFINE(USEROWHOUGH)
1280 AC_MSG_RESULT([$enable_rowhough])
1282 dnl ------------------------------------------------------------------
1283 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1284 dnl stand-alone build system. This is most likely something old we can
1285 dnl get rid off later, or do something more reasonable. Since the define
1286 dnl needs the quotes they have to be escaped. This works well for the
1287 dnl Makefile but not for the configure script. So we have to add the
1288 dnl defines after all the other checks.
1289 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1290 if test ! "x$have_aliroot" = "xno" ; then
1291 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1294 dnl ------------------------------------------------------------------
1298 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1299 AC_PATH_PROG(PERL, perl)
1300 AC_PATH_PROG(DOXYGEN, doxygen)
1302 [AC_HELP_STRING([--enable-dot],
1303 [enable dot documentation generator])],
1307 AC_PATH_PROG(DOT, dot)
1308 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
1310 DOT_PATH=`dirname $DOT`
1313 AC_MSG_CHECKING([for documentation mode])
1315 [AC_HELP_STRING([--disable-doc],
1316 [disable documentation build; monolithic build --enable-doc=mono ])],
1317 [],[enable_doc=modules])
1319 if test "x$DOXYGEN" = "x" ; then
1320 enable_doc=no.doxygen
1321 elif test "x$enable_doc" = "xyes" ; then
1323 elif test ! "x$enable_doc" = "xmono" && \
1324 test ! "x$enable_doc" = "xmodules" && \
1325 test ! "x$enable_doc" = "xno"; then
1327 AC_MSG_WARN([unknown option])
1329 if test "x$enable_doc" = "xno" ; then
1334 AC_MSG_RESULT([$enable_doc])
1335 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1336 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
1337 AC_SUBST([HAVE_DOT])
1338 AC_SUBST([DOT_PATH])
1340 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1341 dnl echo $HAVE_SRC_SUBDIR
1342 dnl if ! test -d $HAVE_SRC_SUBDIR; then
1343 dnl HAVE_SRC_SUBDIR=
1345 dnl AC_SUBST([HAVE_SRC_SUBDIR])
1347 dnl ------------------------------------------------------------------
1348 AC_MSG_NOTICE([---------------------------------------------- ])
1349 AC_MSG_NOTICE([ build summary ])
1350 AC_MSG_NOTICE([---------------------------------------------- ])
1352 AC_CONFIG_FILES([Makefile
1358 BASE/util/test/Makefile
1359 BASE/interface/Makefile
1361 BASE/interface/test/Makefile
1364 doc/doxymodule.conf])
1366 dnl AliRoot and installation directory for libraries
1368 AC_MSG_NOTICE([AliRoot: $have_aliroot])
1369 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1370 if test "x$have_aliroot" != "xno"; then
1371 AC_CONFIG_FILES([sim/Makefile
1374 rec/startAliEVE-barrel-tracks.sh
1381 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1382 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1383 AC_MSG_NOTICE([libdir set to $libdir])
1386 AC_MSG_NOTICE([compile sample library: $enable_sample])
1387 if test "x$enable_sample" = "xyes"; then
1388 AC_CONFIG_FILES([SampleLib/Makefile])
1391 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1392 if test "x$enable_rcu" = "xyes"; then
1393 AC_CONFIG_FILES([RCU/Makefile
1398 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1399 if test "x$enable_tpc" = "xyes"; then
1400 AC_CONFIG_FILES([TPCLib/Makefile
1401 TPCLib/test/Makefile
1402 TPCLib/mapping2array.cxx
1404 TPCLib/calibration/Makefile
1408 AC_MSG_NOTICE([compile CALO library: $enable_calo])
1409 if test "x$enable_calo" = "xyes"; then
1410 AC_CONFIG_FILES([CALO/Makefile
1411 CALO/test/Makefile])
1414 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1415 if test "x$enable_phos" = "xyes"; then
1416 AC_CONFIG_FILES([PHOS/Makefile])
1419 AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1420 if test "x$enable_emcal" = "xyes"; then
1421 AC_CONFIG_FILES([EMCAL/Makefile])
1424 AC_MSG_NOTICE([compile TRD library: $enable_trd])
1425 if test "x$enable_trd" = "xyes"; then
1426 AC_CONFIG_FILES([TRD/Makefile])
1429 AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1430 if test "x$enable_fmd" = "xyes"; then
1431 AC_CONFIG_FILES([FMD/Makefile])
1434 AC_MSG_NOTICE([compile MUON library: $enable_muon])
1435 if test "x$enable_muon" = "xyes"; then
1436 AC_CONFIG_FILES([MUON/Makefile])
1439 AC_MSG_NOTICE([compile ITS library: $enable_its])
1440 if test "x$enable_its" = "xyes"; then
1441 AC_CONFIG_FILES([ITS/Makefile])
1444 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1445 if test "x$enable_trigger" = "xyes"; then
1446 AC_CONFIG_FILES([trigger/Makefile
1447 trigger/test/Makefile])
1450 AC_MSG_NOTICE([compile global library: $enable_global])
1451 if test "x$enable_global" = "xyes"; then
1452 AC_CONFIG_FILES([global/Makefile])
1455 AC_MSG_NOTICE([compile jet library: $enable_jet])
1456 if test "x$enable_jet" = "xyes"; then
1457 AC_CONFIG_FILES([JET/Makefile])
1460 AC_MSG_NOTICE([compile comp library: $enable_comp])
1461 if test "x$enable_comp" = "xyes"; then
1462 AC_CONFIG_FILES([comp/Makefile])