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
237 dnl 2010-03-03: revision 38921 introduces AliLog::GetRootLogger in order to make AliLog
238 dnl a pure sigleton, introduce a 2-level check here
240 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
241 have_alilog_notification=no
242 if test ! "x$have_aliroot" = "xno" ; then
243 AC_MSG_CHECKING([whether AliLog supports notification callback])
244 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
245 [AliLog* logger=AliLog::GetRootLogger();])],
246 [have_alilog_notification=yes],
247 [AC_DEFINE(NO_ALILOG_GETROOTLOGGER)
248 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
249 [AliLog::AliLogNotification fct])],
250 [have_alilog_notification=yes],
251 [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
253 AC_MSG_RESULT([$have_alilog_notification])
256 if test "x$have_aliroot" = "xno" ; then
257 # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
258 # but library dependencies might not be resolved completely
260 AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
261 This can happen from time to time due to development in AliRoot. You can
262 force compilation of detector libs by --enable-<detector>, but be aware
263 of unresolved references at runtime.])
264 AC_MSG_WARN([ ------------------------------------------ ])
265 AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
266 AC_MSG_WARN([ please include config.log ])
267 AC_MSG_WARN([ ------------------------------------------ ])
273 dnl ESD supports non-std content
276 AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>
277 #include <AliExternalTrackParam.h>
279 #include <TClonesArray.h>],
281 esd.CreateStdContent();
282 TTree* tree=new TTree("esdTree", "Tree with HLT ESD objects");
283 TClonesArray* a=new TClonesArray("AliExternalTrackParam");
284 a->SetName("SomeObject");
286 esd.WriteToTree(tree);
287 if (!tree->FindBranch("SomeObject")) return 1;
289 [have_esd_nonstd=yes],
290 [AC_DEFINE(HAVE_NOT_ESD_NONSTD)])
291 AC_MSG_CHECKING(whether ESD supports non standard content)
292 AC_MSG_RESULT([$have_esd_nonstd])
295 dnl ESD copy function added May 9 2008 rev 25667
297 if test "x$have_esd_nonstd" != "xyes"; then
299 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
304 [AC_DEFINE(HAVE_NOT_ESD_COPY)])
305 AC_MSG_CHECKING(for ESD assignment operator)
306 AC_MSG_RESULT([$have_esd_copy])
310 dnl AliRawReaderMemory support for multiple buffers added
311 dnl revision 26829 Jun 2008
313 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
314 have_rawreadermemory_multbuffers=no
315 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
316 [AliRawReaderMemory rr;
317 rr.AddBuffer(NULL, 0, 0);])],
318 [have_rawreadermemory_multbuffers=yes],
319 [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
320 AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
321 AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
324 dnl Changes in the magnetic field implementation
325 dnl revision 30848 Feb 1 2009
327 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
329 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMagF.h>],
330 [int test=AliMagF::k5kG;])],
331 [have_alimagf30848=yes],
332 [AC_DEFINE(HAVE_NOT_ALIMAGF30848)])
333 AC_MSG_CHECKING(AliMagF contains field definitions)
334 AC_MSG_RESULT([$have_alimagf30848])
337 dnl Cleanup of the RunLoader implementation
338 dnl revision 30859 Feb 2 2009
340 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
341 have_alirunloader30859=no
342 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRunLoader.h>],
343 [AliRunLoader* rl=AliRunLoader::Instance();])],
344 [have_alirunloader30859=yes],
345 [AC_DEFINE(HAVE_NOT_ALIRUNLOADER30859)])
346 AC_MSG_CHECKING(AliRunLoader::Instance)
347 AC_MSG_RESULT([$have_alirunloader30859])
350 AC_CHECK_HEADER([AliQAv1.h], [have_aliqav1=yes], [])
351 AM_CONDITIONAL(EN_HLT_QA, test x$have_aliqav1 = xyes)
352 AC_CHECK_HEADER([AliESDHLTDecision.h], [], [AC_DEFINE(HAVE_NOT_ALIESDHLTDECISION)])
355 dnl required header files and libraries for modules
359 dnl Check for the interface of AliExternalTrackParam which has been changed
360 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
362 externaltrackparam_version=1
363 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
364 [AliExternalTrackParam trackparam;
365 Double_t param[[5]]; Double_t covar[[15]];
366 trackparam.Set(0., 0., param, covar);])],
367 [externaltrackparam_version=2],
368 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
369 AC_MSG_CHECKING(for version of AliExternalTrackParam)
370 AC_MSG_RESULT($externaltrackparam_version)
372 dnl The AliShuttleInterface was changed in rev 29388. Some return types
373 dnl had been const, now changed according to gcc 4.3 warnings
374 AC_MSG_CHECKING(for version of AliShuttleInterface.h)
375 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/"
376 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
377 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
378 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliShuttleInterface.h>],
379 [class dummy : public AliShuttleInterface {
381 const UInt_t GetStartTimeDCSQuery() {;}
383 [AC_DEFINE(SHUTTLE_PRE_REV29388_INTERFACE)
384 alishuttleinterface_version=pre.rev.29388],
385 [alishuttleinterface_version=up.to.date])
386 AC_MSG_RESULT([$alishuttleinterface_version])
388 CPPFLAGS=$save_CPPFLAGS
389 LDFLAGS=$save_LDFLAGS
391 fi # if test ! "x$have_aliroot" = "xno"
394 AC_SUBST([ALICE_ROOT])
395 AC_SUBST([ALIROOT_CPPFLAGS])
396 AC_SUBST([ALIROOT_LDFLAGS])
397 AC_SUBST([ALIROOTBINDIR])
398 AC_SUBST([ALIROOTLIBDIR])
400 ALIROOT_LIBS="$ALIROOT_LIBS $ADD_ROOTLIBS"
401 AC_SUBST([ALIROOT_LIBS])
402 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
404 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
406 AC_SUBST([HLTBASE_CPPFLAGS])
407 AC_SUBST([HLTBASE_LDFLAGS])
409 dnl ------------------------------------------------------------------
410 dnl check for the HLT PubSub Framework
411 dnl namely for the existence of the HOMER library
412 dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
413 dnl package. It os though possible to choose an external. library
414 dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
415 dnl got the name libAliHLTHOMER
416 AC_MSG_CHECKING([for HLT PubSub Framework])
417 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
419 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
420 if test -z $with_pubsub || ! test -d $with_pubsub ; then
423 AC_MSG_RESULT([$with_pubsub])
427 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
428 if test "x$with_pubsub" != "xno" ; then
429 save_CPPFLAGS=$CPPFLAGS
430 save_LDFLAGS=$LDFLAGS
432 # currently the different versions of the HLT PubSub framework have a different
434 if test -d ${with_pubsub}/include/HOMER ; then
435 # the 'early' location of the include files with separated HOMER sub dirs
436 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
437 elif test -d ${with_pubsub}/include/Util/HOMER ; then
438 # location for HLT Framework versions after Sep 2006
439 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
440 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
441 # fall back if include files were not installed (versions after Sep 06)
442 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
444 # fall back if include files were not installed (versions before Sep 06)
445 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
447 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
449 AC_ARG_ENABLE(pubsub-debug,
450 [AC_HELP_STRING([--disable-pubsub-debug],
451 [force the production version of the PubSub framework])],
452 [],[enable_pubsub_debug=yes])
454 HOMER_TARGET="`uname -s`-`uname -m`"
455 AC_MSG_CHECKING([for HLT PubSub Framework release type])
456 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
457 homer_type="production"
458 HOMER_TARGET="${HOMER_TARGET}-release"
459 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
461 HOMER_TARGET="${HOMER_TARGET}-debug"
463 AC_MSG_RESULT([${homer_type}])
464 HOMERREADER_HEADER=HOMERReader.h
465 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
466 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
467 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
468 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
469 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
473 AC_CHECK_HEADER([$HOMERREADER_HEADER],
474 [ AC_CHECK_LIB([HOMER],[_init],
476 HOMER_LIBS="-lHOMER"],
477 [ AC_CHECK_LIB([HOMERReader],[_init],
479 HOMER_LIBS="-lHOMERReader"])])
480 LIBS="$LIBS $HOMER_LIBS"
481 AC_MSG_CHECKING([version of HOMER library])
482 dnl The Homer library has no versioning, so we do our own
483 dnl version description
484 dnl ----------------------------------------------------------------------
485 dnl 1 inintial version
486 dnl 2 GetBlockStatusFlags added to the interface
487 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
488 [HOMERReader reader("dummy", 0);
489 reader.GetBlockStatusFlags(0);])],
492 AC_MSG_RESULT([$HOMER_VERSION])
494 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
498 dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
500 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
501 HOMERREADER_HEADER=AliHLTHOMERReader.h
502 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
508 if test "x$with_homer" = "xno" ; then
513 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
514 AC_DEFINE(HAVE_HOMERREADER)
516 CPPFLAGS="$save_CPPFLAGS"
517 LDFLAGS="$save_LDFLAGS"
520 AC_SUBST([HOMERREADER_HEADER])
521 AC_SUBST([HOMER_INBUILT_LIB])
522 AC_SUBST([HOMER_CPPFLAGS])
523 AC_SUBST([HOMER_LDFLAGS])
524 AC_SUBST([HOMER_LIBDIR])
525 AC_SUBST([HOMER_BINDIR])
526 AC_SUBST([HOMER_LIBS])
528 dnl ------------------------------------------------------------------
530 [AC_HELP_STRING([--disable-all],
531 [disable all detector modules, individual modules can be switched on by --enable-det])],
532 [disable_all=yes],[])
534 dnl ------------------------------------------------------------------
535 AC_MSG_CHECKING([whether to impose strict coding conventions])
536 AC_ARG_ENABLE(strict,
537 [AC_HELP_STRING([--disable-strict],
538 [disable coding convention checks ])],
539 [],[enable_strict=yes])
540 if test "x$enable_strict" = "xyes" ; then
541 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
543 AC_MSG_RESULT([$enable_strict])
545 dnl ------------------------------------------------------------------
546 AC_MSG_CHECKING([whether to enable component statistics])
547 AC_ARG_ENABLE(component-stat,
548 [AC_HELP_STRING([--enable-component-stat],
549 [enable component statistics ])],
550 [],[enable_component_stat=no])
551 if test "x$enable_component_stat" = "xyes" ; then
552 AC_DEFINE(HLT_COMPONENT_STATISTICS)
554 AC_MSG_RESULT([$enable_component_stat])
556 dnl ------------------------------------------------------------------
557 dnl ---- module checks
558 dnl ------------------------------------------------------------------
559 save_CPPFLAGS=$CPPFLAGS
560 save_LDFLAGS=$LDFLAGS
563 dnl ------------------------------------------------------------------
564 AC_MSG_NOTICE([-------------------------------------------------])
565 AC_MSG_NOTICE([checking dependencies for HLTbase library])
566 HLTBASE_CHECKLIBS='XMLParser'
567 for CHECKLIB in $HLTBASE_CHECKLIBS ; do
568 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
569 LIBS="$save_LIBS $ROOTLIBS $ALIHLTBASE_LIBS"
570 AC_CHECK_LIB([$CHECKLIB],[_init], [ALIHLTBASE_LIBS="$ALIHLTBASE_LIBS -l$CHECKLIB"])
572 AC_SUBST([ALIHLTBASE_LIBS])
574 dnl ------------------------------------------------------------------
575 AC_MSG_CHECKING([whether to compile sample library])
576 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
577 AC_ARG_ENABLE(sample,
578 [AC_HELP_STRING([--disable-sample],
579 [compile the sample library ])],
581 [if test "x$have_aliroot" = "xno" ; then
582 enable_sample="no...requires.AliRoot"
588 if test "x$enable_sample" = "xyes" ; then
589 AC_DEFINE(HLT_SAMPLE)
591 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
592 AC_MSG_RESULT([$enable_sample])
594 dnl ------------------------------------------------------------------
595 AH_TEMPLATE([HLT_UTIL],[HLT utility library])
597 CHECK_HLTMODULE([util],
599 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/STEER -I$ALICE_ROOT/RAW -I$ALICE_ROOT/PYTHIA6],
600 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
601 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
602 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
604 if test "x$enable_module" = "xmissheader"; then
605 enable_module="no...missing.headers"
606 enable_util=$enable_module
607 elif test "x$enable_module" = "xforce"; then
610 enable_util=$enable_module
612 if test "x$enable_util" = "xyes" ; then
614 ALIUTIL_LIBS=$ALIHLTMODULE_LIBS
616 AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
617 AC_MSG_CHECKING([whether to compile Util library])
618 AC_MSG_RESULT([$enable_module])
619 AC_SUBST([ALIUTIL_LIBS])
621 dnl ------------------------------------------------------------------
622 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
625 CHECK_HLTMODULE([tpc],
627 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
628 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
629 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
630 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
632 if test "x$enable_module" = "xmissheader"; then
633 enable_module="no...missing.headers"
634 enable_tpc=$enable_module
635 elif test "x$enable_module" = "xforce"; then
638 enable_tpc=$enable_module
641 if test "x$enable_tpc" = "xyes" ; then
644 ALITPC_LIBS=$ALIHLTMODULE_LIBS
646 dnl Check for functionality in the TPC reconstruction required for online
649 have_tpc_hltoffline_rec=no
650 AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
651 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
652 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
653 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
654 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
655 #include <AliTPCclustererMI.h>
656 #include <TObjArray.h>],
657 [AliTPCtrackerMI tracker;
658 TObjArray* array=NULL;
659 tracker.LoadClusters(array);
660 AliTPCclustererMI cl(NULL, NULL);
661 cl.GetOutputClonesArray();])],
662 [have_tpc_hltoffline_rec=yes],
663 [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
665 AC_MSG_RESULT([$have_tpc_hltoffline_rec])
667 AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
668 AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
669 AC_CHECK_HEADER([AliAltroRawStreamV3.h], [], [AC_DEFINE(HAVE_NOT_ALTRORAWSTREAMV3)])
672 if test ! "x$have_aliroot" = "xno" ; then
673 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
674 # which is stored in the TPC/mapping/Patchx.data files from
675 # AliRoot version v4-04-Release (May 2006)
676 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
677 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
678 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
679 [have_tpc_mapping=yes
680 AC_SUBST(TPC_PAD_MAPPING_PATH)
681 AC_DEFINE(HAVE_TPC_MAPPING)],
685 AC_MSG_CHECKING([for TPC mapping layout])
686 AC_MSG_RESULT([$have_tpc_mapping])
690 enable_module=$enable_tpc
692 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
693 AC_MSG_CHECKING([whether to compile TPC library])
694 AC_MSG_RESULT([$enable_module])
695 AC_SUBST([ALITPC_LIBS])
697 dnl ------------------------------------------------------------------
698 AH_TEMPLATE([HLT_RCU],[hlt rcu library])
700 CHECK_HLTMODULE([rcu],
702 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
703 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
704 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
705 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
707 if test "x$enable_module" = "xmissheader"; then
708 enable_module="no...missing.headers"
709 enable_rcu=$enable_module
710 elif test "x$enable_module" = "xforce"; then
714 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
715 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
716 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
717 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
718 [AliAltroDecoder decoder;
719 decoder.CopyBackward(NULL, 0);])],
720 [enable_rcu=$enable_module],
721 [enable_module="no...requires.AliRoot>v4-10-Release"
722 enable_rcu="no...requires.AliRoot>v4-10-Release"])
723 CPPFLAGS=$save_CPPFLAGS
724 LDFLAGS=$save_LDFLAGS
729 if test "x$enable_rcu" = "xyes" ; then
732 enable_module=$enable_rcu
734 AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
735 AC_MSG_CHECKING([whether to compile RCU library])
736 AC_MSG_RESULT([$enable_module])
737 AC_SUBST([ALIRCU_LIBS])
739 dnl ------------------------------------------------------------------
740 AH_TEMPLATE([HLT_CALO],[hlt calo(rimeter) library])
743 CHECK_HLTMODULE([calo],
744 [], [$ALIROOT_CPPFLAGS],
745 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
746 [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
747 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
749 if test "x$enable_module" = "xmissheader"; then
750 enable_module="no...missing.headers"
751 enable_calo=$enable_module
752 elif test "x$enable_module" = "xforce"; then
755 have_alicalorawstream=no
756 if test ! "x$have_aliroot" = "xno" ; then
758 save_CPPFLAGS="$CPPFLAGS"
759 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
760 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
761 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
762 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
763 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
764 #include <AliCaloRawStream.h>],
766 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
767 have_alicalorawstream=yes],
769 AC_MSG_RESULT([$have_alicalorawstream])
771 CPPFLAGS="$save_CPPFLAGS"
773 if test "x$have_alicalorawstream" != "xyes"; then
774 enable_calo="no...requires.AliRoot>v4-05-07"
776 enable_calo=$enable_module
780 if test "x$enable_calo" = "xyes" ; then
782 ALICALO_LIBS=$ALIHLTMODULE_LIBS
784 enable_module=$enable_calo
786 AM_CONDITIONAL(EN_HLT_CALO, test x$enable_calo = xyes)
787 AC_MSG_CHECKING([whether to compile CALO library])
788 AC_MSG_RESULT([$enable_module])
789 AC_SUBST([ALICALO_LIBS])
791 dnl ------------------------------------------------------------------
792 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
795 CHECK_HLTMODULE([phos],
796 [], [$ALIROOT_CPPFLAGS],
797 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
798 [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
799 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
801 if test "x$enable_module" = "xmissheader"; then
802 enable_module="no...requires.AliRoot>v4-05-07"
803 enable_phos=$enable_module
804 elif test "x$enable_module" = "xforce"; then
807 have_alicalorawstream=no
808 if test ! "x$have_aliroot" = "xno" ; then
810 save_CPPFLAGS="$CPPFLAGS"
811 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
812 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
813 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
814 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
815 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
816 #include <AliCaloRawStream.h>],
818 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
819 have_alicalorawstream=yes],
821 AC_MSG_RESULT([$have_alicalorawstream])
822 AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
823 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
824 [AliPHOSRecoParam param;
825 param.GetEMCClusteringThreshold()])],
826 [have_aliphosrecoparam=yes],
827 [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
828 AC_MSG_RESULT([$have_aliphosrecoparam])
830 CPPFLAGS="$save_CPPFLAGS"
832 if test "x$have_alicalorawstream" != "xyes"; then
833 enable_phos="no...requires.AliRoot>v4-05-07"
835 enable_phos=$enable_module
839 if test "x$enable_phos" = "xyes" ; then
841 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
843 enable_module=$enable_phos
845 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
846 AC_MSG_CHECKING([whether to compile PHOS library])
847 AC_MSG_RESULT([$enable_module])
848 AC_SUBST([ALIPHOS_LIBS])
850 dnl ------------------------------------------------------------------
851 AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
854 CHECK_HLTMODULE([emcal],
855 [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL],
856 [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
857 [EMCALrec EMCALsim EMCALbase EMCALUtils], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
858 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
860 if test "x$enable_module" = "xmissheader"; then
861 enable_module="no...header.missing"
862 enable_emcal=$enable_module
863 elif test "x$enable_module" = "xforce"; then
866 enable_emcal=$enable_module
869 if test "x$enable_emcal" = "xyes" ; then
871 ALIEMCAL_LIBS=$ALIHLTMODULE_LIBS
873 enable_module=$enable_emcal
875 AM_CONDITIONAL(EN_HLT_EMCAL, test x$enable_emcal = xyes)
876 AC_MSG_CHECKING([whether to compile EMCAL library])
877 AC_MSG_RESULT([$enable_module])
878 AC_SUBST([ALIEMCAL_LIBS])
880 dnl ------------------------------------------------------------------
881 AH_TEMPLATE([HLT_TRD],[hlt trd library])
884 CHECK_HLTMODULE([trd],
886 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
887 [STAT TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
888 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
890 if test "x$enable_module" = "xmissheader"; then
891 enable_module="no...requires.AliRoot>v4-07-Release"
892 enable_trd=$enable_module
893 elif test "x$enable_module" = "xforce"; then
896 enable_trd=$enable_module
897 if test "x$enable_trd" = "xyes" ; then
899 save_CPPFLAGS="$CPPFLAGS"
900 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
901 # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
902 # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
903 # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
904 # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
905 # changed to AliTRDCluster according to revision 30461, Thu Dec 18 2008
906 # changed to AliTRDclusterizer::GetAddedClusters according to revision 31299, Wed Mar 4 2009
907 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
908 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
909 [AliTRDclusterizer c;
910 c.GetAddedClusters()])],
912 [enable_trd="no...requires.AliRoot>v4-16-Release"])
913 AC_MSG_RESULT([$enable_trd])
915 if test "x$enable_trd" = "xyes" ; then
916 have_alitrdrecoparam_r34995=no
917 AC_MSG_CHECKING([checking for AliTRDrecoParam r34995])
918 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrecoParam.h>],
919 [AliTRDrecoParam param;
920 param.SetPIDNeuralNetwork(kFALSE)]);],
921 [have_alitrdrecoparam_r34995=yes],
922 [AC_DEFINE(HAVE_NOT_ALITRDRECOPARAM_r34995)])
923 AC_MSG_RESULT([$have_alitrdrecoparam_r34995])
928 CPPFLAGS="$save_CPPFLAGS"
932 if test "x$enable_trd" = "xyes" ; then
934 ALITRD_LIBS=$ALIHLTMODULE_LIBS
936 enable_module=$enable_trd
938 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
939 AC_MSG_CHECKING([whether to compile TRD library])
940 AC_MSG_RESULT([$enable_module])
941 AC_SUBST([ALITRD_LIBS])
943 dnl ------------------------------------------------------------------
944 AH_TEMPLATE([HLT_FMD],[hlt fmd library])
946 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
947 CHECK_HLTMODULE([fmd],
949 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
950 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
951 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
953 if test "x$enable_module" = "xmissheader"; then
954 enable_module="no...missing.headers"
955 enable_fmd=$enable_module
956 elif test "x$enable_module" = "xforce"; then
959 enable_fmd=$enable_module
962 if test "x$enable_fmd" = "xyes" ; then
964 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
966 enable_module=$enable_fmd
968 AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
969 AC_MSG_CHECKING([whether to compile FMD library])
970 AC_MSG_RESULT([$enable_module])
971 AC_SUBST([ALIFMD_LIBS])
973 dnl ------------------------------------------------------------------
974 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
977 CHECK_HLTMODULE([dimuon],
978 [AliMpExMap.h AliMUONTriggerIO.h],
979 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
980 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
981 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
982 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
984 if test "x$enable_module" = "xmissheader"; then
985 enable_module="no...requires.AliRoot>=v4-08-Release"
986 enable_muon=$enable_module
987 elif test "x$enable_module" = "xforce"; then
990 enable_muon=$enable_module
993 if test "x$enable_muon" = "xyes" ; then
995 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
997 save_CPPFLAGS="$CPPFLAGS"
1000 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
1002 have_muon_digitmaker_getrawstream=no
1003 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
1004 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
1005 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1006 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1007 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
1008 [AliMUONDigitMaker dm;
1009 dm.GetRawStreamTracker();])],
1010 [have_muon_digitmaker_getrawstream=yes],
1011 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
1013 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
1016 dnl Check for AliMpPad::GetPositionX/Y
1017 dnl change of implementation in MUON code
1018 dnl revision 31769, Wed Apr 1 2009
1020 have_muon_alimppad_getposition=no
1021 AC_MSG_CHECKING(for GetPosition methods of AliMpPad)
1022 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON/mapping"
1023 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1024 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1025 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMpPad.h>],
1027 pad.GetPositionX();])],
1028 [have_muon_alimppad_getposition=yes],
1029 [AC_DEFINE(HAVE_NOT_MUON_ALIMPPAD_GETPOSITION)])
1031 AC_MSG_RESULT([$have_muon_alimppad_getposition])
1033 CPPFLAGS="$save_CPPFLAGS"
1037 enable_module=$enable_muon
1039 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
1040 AC_MSG_CHECKING([whether to compile MUON library])
1041 AC_MSG_RESULT([$enable_module])
1042 AC_SUBST([ALIMUON_LIBS])
1044 dnl ------------------------------------------------------------------
1045 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
1048 CHECK_HLTMODULE([trigger],
1049 [], [$ALIROOT_CPPFLAGS],
1050 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1051 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1052 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1054 if test "x$enable_module" = "xmissheader"; then
1055 enable_module="no...header.missing"
1056 enable_trigger=$enable_module
1057 elif test "x$enable_module" = "xforce"; then
1058 enable_trigger="yes"
1060 enable_trigger=$enable_module
1063 if test "x$enable_trigger" = "xyes" ; then
1064 AC_DEFINE(HLT_TRIGGER)
1065 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
1067 enable_module=$enable_trigger
1069 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
1070 AC_MSG_CHECKING([whether to compile Trigger library])
1071 AC_MSG_RESULT([$enable_module])
1072 AC_SUBST([ALITRIGGER_LIBS])
1074 dnl ------------------------------------------------------------------
1075 AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
1078 CHECK_HLTMODULE([global],
1079 [], [$ALIROOT_CPPFLAGS],
1080 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1081 [PHOSUtils ], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1082 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1084 if test "x$enable_module" = "xmissheader"; then
1085 enable_module="no...header.missing"
1086 enable_global=$enable_module
1087 elif test "x$enable_module" = "xforce"; then
1090 enable_global=$enable_module
1091 if test "x$enable_global" = "xyes" ; then
1093 save_CPPFLAGS="$CPPFLAGS"
1094 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
1095 AC_MSG_CHECKING([for required functions in AliESDtrack])
1096 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>],
1098 t.SetGlobalChi2(0)])],
1100 [enable_global="no...requires.AliRoot>v4-17-Release"])
1101 AC_MSG_RESULT([$enable_global])
1103 CPPFLAGS="$save_CPPFLAGS"
1107 if test "x$enable_global" = "xyes" ; then
1108 AC_DEFINE(HLT_GLOBAL)
1109 ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
1111 enable_module=$enable_global
1113 AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
1114 AC_MSG_CHECKING([whether to compile Global library])
1115 AC_MSG_RESULT([$enable_module])
1116 AC_SUBST([ALIGLOBAL_LIBS])
1118 dnl ------------------------------------------------------------------
1119 AH_TEMPLATE([HLT_JET],[hlt jet library])
1122 ALIFASTJET_INCFLAGS=
1125 AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
1126 [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
1127 [ test -n $FASTJET && with_fastjet=$FASTJET ])
1129 if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
1130 ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
1131 ALIFASTJET_HEADER="PseudoJet.hh"
1132 ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
1133 ALIFASTJET_LIBS="CGAL fastjet"
1138 CHECK_HLTMODULE([jet],
1139 [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
1140 [$ALIFASTJET_LIBS], [-L$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
1141 [AOD ESD ANALYSIS ANALYSISalice JETAN],
1142 [-L$ROOTLIBDIR $ALIROOT_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
1143 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1145 if test "x$enable_module" = "xmissheader"; then
1146 enable_module="no...header.missing"
1147 enable_jet=$enable_module
1148 elif test "x$enable_module" = "xforce"; then
1151 enable_jet=$enable_module
1154 if test "x$enable_jet" = "xyes" ; then
1156 ALIJET_LIBS="$ALIHLTMODULE_LIBS"
1158 if test "x$with_fastjet" != "xno"; then
1159 AC_DEFINE(HAVE_FASTJET)
1160 AC_DEFINE(WITHFASTJET)
1161 ALIJET_LIBS="$ALIJET_LIBS -L$FASTJET_LDFLAGS"
1163 AC_MSG_CHECKING([compilation with FASTJET package])
1164 AC_MSG_RESULT($with_fastjet)
1167 enable_module=$enable_jet
1170 AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
1171 AC_MSG_CHECKING([whether to compile Jet library])
1172 AC_MSG_RESULT([$enable_module])
1173 AC_SUBST([ALIJET_LIBS])
1175 dnl ------------------------------------------------------------------
1176 AH_TEMPLATE([HLT_ITS],[hlt its library])
1179 CHECK_HLTMODULE([its],
1180 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
1181 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1182 [ITSbase ITSrec ITSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1183 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1185 if test "x$enable_module" = "xmissheader"; then
1186 enable_module="no...header.missing"
1187 enable_its=$enable_module
1188 elif test "x$enable_module" = "xforce"; then
1191 enable_its=$enable_module
1192 if test "x$enable_its" = "xyes" ; then
1194 save_CPPFLAGS="$CPPFLAGS"
1195 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
1196 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
1197 # require AliVertexer::GetNominalPos()
1198 AC_MSG_CHECKING([for required functions in AliITSVertexer])
1199 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
1201 v.GetNominalPos()])],
1203 [enable_its="no...requires.AliRoot>v4-13-Release"])
1204 AC_MSG_RESULT([$enable_its])
1206 CPPFLAGS="$save_CPPFLAGS"
1210 if test "x$enable_its" = "xyes" ; then
1212 ALIITS_LIBS=$ALIHLTMODULE_LIBS
1214 enable_module=$enable_its
1216 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
1217 AC_MSG_CHECKING([whether to compile ITS library])
1218 AC_MSG_RESULT([$enable_module])
1219 AC_SUBST([ALIITS_LIBS])
1221 dnl ------------------------------------------------------------------
1222 AH_TEMPLATE([HLT_COMP],[hlt comp library])
1225 CHECK_HLTMODULE([comp],
1226 [], [$ALIROOT_CPPFLAGS],
1227 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1228 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1229 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1231 if test "x$enable_module" = "xmissheader"; then
1232 enable_module="no...header.missing"
1233 enable_comp=$enable_module
1234 elif test "x$enable_module" = "xforce"; then
1237 enable_comp=$enable_module
1240 if test "x$enable_comp" = "xyes" ; then
1242 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
1244 enable_module=$enable_comp
1246 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
1247 AC_MSG_CHECKING([whether to compile comp library])
1248 AC_MSG_RESULT([$enable_module])
1249 AC_SUBST([ALICOMP_LIBS])
1251 dnl ------------------------------------------------------------------
1252 AC_MSG_CHECKING([whether to disable AliRoot logging])
1253 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
1254 AC_ARG_ENABLE(aliroot-logging,
1255 [AC_HELP_STRING([--disable-aliroot-logging],
1256 [disable logging through AliRoot logging methods])],
1257 [],[enable_aliroot_logging=no])
1258 if test "x$have_aliroot" = "xno" ; then
1259 enable_aliroot_logging=yes # this means 'disable'
1261 if test "x$enable_aliroot_logging" != "xno" ; then
1262 AC_DEFINE(NOALIROOT_LOGGING)
1264 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1265 AC_MSG_RESULT([$enable_aliroot_logging])
1267 dnl ------------------------------------------------------------------
1268 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1269 AH_TEMPLATE([DOMC],[MC saving])
1270 AC_ARG_ENABLE(mc-saving,
1271 [AC_HELP_STRING([--enable-mc-saving],
1272 [enable saving MC data through the chain])],
1273 [],[enable_mc_saving=no])
1274 if test "x$enable_mc_saving" = "xyes" ; then
1277 AC_MSG_RESULT([$enable_mc_saving])
1279 dnl ------------------------------------------------------------------
1280 dnl certainly something old, but we keep the define
1281 AC_MSG_CHECKING([whether to use ROWHOUGH])
1282 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1283 AC_ARG_ENABLE(rowhough,
1284 [AC_HELP_STRING([--enable-rowhough],
1286 [],[enable_rowhough=no])
1287 if test "x$enable_rowhough" = "xyes" ; then
1288 AC_DEFINE(USEROWHOUGH)
1290 AC_MSG_RESULT([$enable_rowhough])
1292 dnl ------------------------------------------------------------------
1293 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1294 dnl stand-alone build system. This is most likely something old we can
1295 dnl get rid off later, or do something more reasonable. Since the define
1296 dnl needs the quotes they have to be escaped. This works well for the
1297 dnl Makefile but not for the configure script. So we have to add the
1298 dnl defines after all the other checks.
1299 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1300 if test ! "x$have_aliroot" = "xno" ; then
1301 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1304 dnl ------------------------------------------------------------------
1308 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1309 AC_PATH_PROG(PERL, perl)
1310 AC_PATH_PROG(DOXYGEN, doxygen)
1312 [AC_HELP_STRING([--enable-dot],
1313 [enable dot documentation generator])],
1317 AC_PATH_PROG(DOT, dot)
1318 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
1320 DOT_PATH=`dirname $DOT`
1323 AC_MSG_CHECKING([for documentation mode])
1325 [AC_HELP_STRING([--disable-doc],
1326 [disable documentation build; monolithic build --enable-doc=mono ])],
1327 [],[enable_doc=modules])
1329 if test "x$DOXYGEN" = "x" ; then
1330 enable_doc=no.doxygen
1331 elif test "x$enable_doc" = "xyes" ; then
1333 elif test ! "x$enable_doc" = "xmono" && \
1334 test ! "x$enable_doc" = "xmodules" && \
1335 test ! "x$enable_doc" = "xno"; then
1337 AC_MSG_WARN([unknown option])
1339 if test "x$enable_doc" = "xno" ; then
1344 AC_MSG_RESULT([$enable_doc])
1345 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1346 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
1347 AC_SUBST([HAVE_DOT])
1348 AC_SUBST([DOT_PATH])
1350 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1351 dnl echo $HAVE_SRC_SUBDIR
1352 dnl if ! test -d $HAVE_SRC_SUBDIR; then
1353 dnl HAVE_SRC_SUBDIR=
1355 dnl AC_SUBST([HAVE_SRC_SUBDIR])
1357 dnl ------------------------------------------------------------------
1358 AC_MSG_NOTICE([---------------------------------------------- ])
1359 AC_MSG_NOTICE([ build summary ])
1360 AC_MSG_NOTICE([---------------------------------------------- ])
1362 AC_CONFIG_FILES([Makefile
1368 BASE/util/test/Makefile
1369 BASE/interface/Makefile
1371 BASE/interface/test/Makefile
1374 doc/doxymodule.conf])
1376 dnl AliRoot and installation directory for libraries
1378 AC_MSG_NOTICE([AliRoot: $have_aliroot])
1379 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1380 if test "x$have_aliroot" != "xno"; then
1381 AC_CONFIG_FILES([sim/Makefile
1384 rec/startAliEVE-barrel-tracks.sh
1391 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1392 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1393 AC_MSG_NOTICE([libdir set to $libdir])
1396 AC_MSG_NOTICE([compile sample library: $enable_sample])
1397 if test "x$enable_sample" = "xyes"; then
1398 AC_CONFIG_FILES([SampleLib/Makefile])
1401 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1402 if test "x$enable_rcu" = "xyes"; then
1403 AC_CONFIG_FILES([RCU/Makefile
1408 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1409 if test "x$enable_tpc" = "xyes"; then
1410 AC_CONFIG_FILES([TPCLib/Makefile
1411 TPCLib/test/Makefile
1412 TPCLib/mapping2array.cxx
1414 TPCLib/calibration/Makefile
1418 AC_MSG_NOTICE([compile CALO library: $enable_calo])
1419 if test "x$enable_calo" = "xyes"; then
1420 AC_CONFIG_FILES([CALO/Makefile
1421 CALO/test/Makefile])
1424 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1425 if test "x$enable_phos" = "xyes"; then
1426 AC_CONFIG_FILES([PHOS/Makefile])
1429 AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1430 if test "x$enable_emcal" = "xyes"; then
1431 AC_CONFIG_FILES([EMCAL/Makefile])
1434 AC_MSG_NOTICE([compile TRD library: $enable_trd])
1435 if test "x$enable_trd" = "xyes"; then
1436 AC_CONFIG_FILES([TRD/Makefile])
1439 AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1440 if test "x$enable_fmd" = "xyes"; then
1441 AC_CONFIG_FILES([FMD/Makefile])
1444 AC_MSG_NOTICE([compile MUON library: $enable_muon])
1445 if test "x$enable_muon" = "xyes"; then
1446 AC_CONFIG_FILES([MUON/Makefile])
1449 AC_MSG_NOTICE([compile ITS library: $enable_its])
1450 if test "x$enable_its" = "xyes"; then
1451 AC_CONFIG_FILES([ITS/Makefile])
1454 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1455 if test "x$enable_trigger" = "xyes"; then
1456 AC_CONFIG_FILES([trigger/Makefile
1457 trigger/test/Makefile])
1460 AC_MSG_NOTICE([compile global library: $enable_global])
1461 if test "x$enable_global" = "xyes"; then
1462 AC_CONFIG_FILES([global/Makefile])
1465 AC_MSG_NOTICE([compile jet library: $enable_jet])
1466 if test "x$enable_jet" = "xyes"; then
1467 AC_CONFIG_FILES([JET/Makefile])
1470 AC_MSG_NOTICE([compile comp library: $enable_comp])
1471 if test "x$enable_comp" = "xyes"; then
1472 AC_CONFIG_FILES([comp/Makefile])