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])
43 AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
45 dnl ------------------------------------------------------------------
46 dnl A warning posted into the auto-generated files
47 dnl Does NOT concern this file ;-)
48 AUTOGENERATED_WARNING="!!!!!!! DO NOT EDIT THIS FILE !!!!!!"
49 AC_SUBST([AUTOGENERATED_WARNING])
51 dnl ------------------------------------------------------------------
55 ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
56 AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
58 ROOTBINDIR=`dirname $ROOTEXEC`
59 AC_SUBST([ROOTBINDIR])
61 dnl test for additional required root libraries and headers
63 if test "x$have_root" = "x1"; then
65 save_CPPFLAGS=$CPPFLAGS
68 CPPFLAGS=`echo $save_CPPFLAGS; for i in ${ROOTINCDIR}; do echo -n "-I$i " ; done`
70 # we check for the libSTEER library which is linked to
71 # - the ROOT libs libGeom libMinuit libVMC libEG
72 # - the AliRoot libESD libRAWData (libRAWDatarec from v4-04-Rev-07)
73 # - ROOT libCint needs also libdl
74 # - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires
76 # - from Jan 07 libESD also depends on libXMLIO
77 # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
78 # - libCDB.so depends on libXMLParser since Mar 11 2009 r 31411
79 # - libCDB.so depends on libGui.so since May 14 2010 r 41238
80 ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer XMLParser Gui'
81 for CHECKLIB in $ROOT_CHECKLIBS ; do
82 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
83 LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
84 AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
87 # TBuffer.h has been made pure virtual in root v5-15-02 and one
88 # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
89 AC_CHECK_HEADER([TBufferFile.h], [], [HAVE_NOT_TBUFFERFILE])
91 # TView.h has been made pure virtual right after root v5-15-02 and one
92 # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
93 AC_CHECK_HEADER([TView3D.h], [], [HAVE_NOT_TVIEW3D])
95 CPPFLAGS=$save_CPPFLAGS
101 dnl ------------------------------------------------------------------
102 # TODO: make this configurable through arguments
103 #Define whether you want to run with ALIROOT or only ROOT
104 AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
105 ALIHLT_USEPACKAGE=ALIROOT
106 #ALIHLT_USEPACKAGE=ROOT
107 #ALIHLT_USEPACKAGE=STANDALONE
108 AC_DEFINE(use_aliroot)
110 CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
111 save_CPPFLAGS=$CPPFLAGS
112 save_LDFLAGS=$LDFLAGS
115 dnl ------------------------------------------------------------------
116 dnl check for AliRoot features
119 AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation],
120 [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
123 if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
124 dnl ------------------------------------------------------------------
125 dnl Try to estimate the system architecture
126 case $host_os:$host_cpu in
127 linux*:x86_64*) alice_target='linuxx8664gcc' ;;
128 linux*) alice_target='linux' ;;
129 *) alice_target='unknown' ;;
131 if test "x$alice_target" = "xunknown" ; then
132 if test -z $ALICE_TARGET ; then
133 AC_MSG_ERROR([Can not estimate system architecture.
134 To avoid the problem, set the ALICE_TARGET variable appropriately.
135 Please send the following information to Matthias.Richter@ift.uib.no:
136 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
138 AC_MSG_NOTICE([Unknown system architecture.
139 Please send the following information to Matthias.Richter@ift.uib.no:
140 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
143 if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
144 AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
145 overriding $ALICE_TARGET by $alice_target])
147 ALICE_TARGET=$alice_target
149 ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
150 ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
151 ALIROOTINCDIR=${ALICE_ROOT}/include
152 test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
153 test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
154 test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
157 AC_MSG_CHECKING([for AliRoot])
158 if test "x$ALICE_ROOT" != "x" \
159 && test -d ${ALIROOTBINDIR} \
160 && test -d ${ALIROOTLIBDIR} \
161 && test -d ${ALIROOTINCDIR}; then
162 have_aliroot=$ALICE_ROOT
168 AC_MSG_RESULT([$have_aliroot])
170 if test ! "x$have_aliroot" = "xno" ; then
171 ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
172 ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
173 ALIROOT_LIBS="$ADD_ROOTLIBS"
174 save_CPPFLAGS=$CPPFLAGS
175 save_LDFLAGS=$LDFLAGS
177 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
178 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
180 # check for certain AliRoot libraries/files/features
181 # libSTEERBase present since Aug 7 2007
182 # ###########################################
183 # temporary workaround for circular dependency libSTEERbase libSTEER
184 # https://savannah.cern.ch/bugs/index.php?49914
185 # disable the sequence of checks and load libraries in parallel
186 ALIROOT_LIBS="$ALIROOT_LIBS -lAOD -lCDB -lRAWDatabase -lRAWDatarec -lESD -lSTEER"
187 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
189 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
191 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
193 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
195 # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
196 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
198 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
200 # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
202 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
204 AC_CHECK_LIB([$CHECKLIB],[_init],
205 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
206 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lESD -lSTEER"
208 AC_CHECK_LIB([$CHECKLIB],[_init],
209 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
210 have_alirawdata=$CHECKLIB])],
211 [# second pass with -RAWData
213 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
214 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
215 #include <AliRawReaderFile.h>
216 #include <AliRawReaderDate.h>
217 #include <AliRawReaderRoot.h>],
218 [AliRawReaderMemory mreader;
219 AliRawReaderFile freader;
220 AliRawReaderDate dreader(NULL,0);
221 AliRawReaderRoot rreader(NULL,0);])],
222 [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
223 have_alirawdata=$CHECKLIB],
224 [have_alirawdata=no])
225 ]) dnl AC_CHECK_LIB RAWDatabase
226 AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
227 AC_MSG_RESULT([$have_alirawdata])
229 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
231 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
233 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
235 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
238 dnl check whether AliLog supports notification callback
239 dnl 2010-03-03: revision 38921 introduces AliLog::GetRootLogger in order to make AliLog
240 dnl a pure sigleton, introduce a 2-level check here
242 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
243 have_alilog_notification=no
244 if test ! "x$have_aliroot" = "xno" ; then
245 AC_MSG_CHECKING([whether AliLog supports notification callback])
246 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
247 [AliLog* logger=AliLog::GetRootLogger();])],
248 [have_alilog_notification=yes],
249 [AC_DEFINE(NO_ALILOG_GETROOTLOGGER)
250 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
251 [AliLog::AliLogNotification fct])],
252 [have_alilog_notification=yes],
253 [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
255 AC_MSG_RESULT([$have_alilog_notification])
258 if test "x$have_aliroot" = "xno" ; then
259 # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
260 # but library dependencies might not be resolved completely
262 AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
263 This can happen from time to time due to development in AliRoot. You can
264 force compilation of detector libs by --enable-<detector>, but be aware
265 of unresolved references at runtime.])
266 AC_MSG_WARN([ ------------------------------------------ ])
267 AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
268 AC_MSG_WARN([ please include config.log ])
269 AC_MSG_WARN([ ------------------------------------------ ])
275 dnl ESD supports non-std content
278 AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>
279 #include <AliExternalTrackParam.h>
281 #include <TClonesArray.h>],
283 esd.CreateStdContent();
284 TTree* tree=new TTree("esdTree", "Tree with HLT ESD objects");
285 TClonesArray* a=new TClonesArray("AliExternalTrackParam");
286 a->SetName("SomeObject");
288 esd.WriteToTree(tree);
289 if (!tree->FindBranch("SomeObject")) return 1;
291 [have_esd_nonstd=yes],
292 [AC_DEFINE(HAVE_NOT_ESD_NONSTD)])
293 AC_MSG_CHECKING(whether ESD supports non standard content)
294 AC_MSG_RESULT([$have_esd_nonstd])
297 dnl ESD copy function added May 9 2008 rev 25667
299 if test "x$have_esd_nonstd" != "xyes"; then
301 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
306 [AC_DEFINE(HAVE_NOT_ESD_COPY)])
307 AC_MSG_CHECKING(for ESD assignment operator)
308 AC_MSG_RESULT([$have_esd_copy])
312 dnl AliRawReaderMemory support for multiple buffers added
313 dnl revision 26829 Jun 2008
315 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
316 have_rawreadermemory_multbuffers=no
317 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
318 [AliRawReaderMemory rr;
319 rr.AddBuffer(NULL, 0, 0);])],
320 [have_rawreadermemory_multbuffers=yes],
321 [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
322 AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
323 AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
326 dnl Changes in the magnetic field implementation
327 dnl revision 30848 Feb 1 2009
329 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
331 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMagF.h>],
332 [int test=AliMagF::k5kG;])],
333 [have_alimagf30848=yes],
334 [AC_DEFINE(HAVE_NOT_ALIMAGF30848)])
335 AC_MSG_CHECKING(AliMagF contains field definitions)
336 AC_MSG_RESULT([$have_alimagf30848])
339 dnl Cleanup of the RunLoader implementation
340 dnl revision 30859 Feb 2 2009
342 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
343 have_alirunloader30859=no
344 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRunLoader.h>],
345 [AliRunLoader* rl=AliRunLoader::Instance();])],
346 [have_alirunloader30859=yes],
347 [AC_DEFINE(HAVE_NOT_ALIRUNLOADER30859)])
348 AC_MSG_CHECKING(AliRunLoader::Instance)
349 AC_MSG_RESULT([$have_alirunloader30859])
352 AC_CHECK_HEADER([AliQAv1.h], [have_aliqav1=yes], [])
353 AM_CONDITIONAL(EN_HLT_QA, test x$have_aliqav1 = xyes)
354 AC_CHECK_HEADER([AliESDHLTDecision.h], [], [AC_DEFINE(HAVE_NOT_ALIESDHLTDECISION)])
357 dnl required header files and libraries for modules
361 dnl Check for the interface of AliExternalTrackParam which has been changed
362 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
364 externaltrackparam_version=1
365 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
366 [AliExternalTrackParam trackparam;
367 Double_t param[[5]]; Double_t covar[[15]];
368 trackparam.Set(0., 0., param, covar);])],
369 [externaltrackparam_version=2],
370 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
371 AC_MSG_CHECKING(for version of AliExternalTrackParam)
372 AC_MSG_RESULT($externaltrackparam_version)
374 dnl The AliShuttleInterface was changed in rev 29388. Some return types
375 dnl had been const, now changed according to gcc 4.3 warnings
376 AC_MSG_CHECKING(for version of AliShuttleInterface.h)
377 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/"
378 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
379 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
380 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliShuttleInterface.h>],
381 [class dummy : public AliShuttleInterface {
383 const UInt_t GetStartTimeDCSQuery() {;}
385 [AC_DEFINE(SHUTTLE_PRE_REV29388_INTERFACE)
386 alishuttleinterface_version=pre.rev.29388],
387 [alishuttleinterface_version=up.to.date])
388 AC_MSG_RESULT([$alishuttleinterface_version])
390 CPPFLAGS=$save_CPPFLAGS
391 LDFLAGS=$save_LDFLAGS
393 fi # if test ! "x$have_aliroot" = "xno"
396 AC_SUBST([ALICE_ROOT])
397 AC_SUBST([ALIROOT_CPPFLAGS])
398 AC_SUBST([ALIROOT_LDFLAGS])
399 AC_SUBST([ALIROOTBINDIR])
400 AC_SUBST([ALIROOTLIBDIR])
402 ALIROOT_LIBS="$ALIROOT_LIBS $ADD_ROOTLIBS"
403 AC_SUBST([ALIROOT_LIBS])
404 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
406 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
408 AC_SUBST([HLTBASE_CPPFLAGS])
409 AC_SUBST([HLTBASE_LDFLAGS])
411 dnl ------------------------------------------------------------------
412 dnl check for the HLT PubSub Framework
413 dnl namely for the existence of the HOMER library
414 dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
415 dnl package. It os though possible to choose an external. library
416 dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
417 dnl got the name libAliHLTHOMER
418 AC_MSG_CHECKING([for HLT PubSub Framework])
419 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
421 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
422 if test -z $with_pubsub || ! test -d $with_pubsub ; then
425 AC_MSG_RESULT([$with_pubsub])
429 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
430 if test "x$with_pubsub" != "xno" ; then
431 save_CPPFLAGS=$CPPFLAGS
432 save_LDFLAGS=$LDFLAGS
434 # currently the different versions of the HLT PubSub framework have a different
436 if test -d ${with_pubsub}/include/HOMER ; then
437 # the 'early' location of the include files with separated HOMER sub dirs
438 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
439 elif test -d ${with_pubsub}/include/Util/HOMER ; then
440 # location for HLT Framework versions after Sep 2006
441 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
442 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
443 # fall back if include files were not installed (versions after Sep 06)
444 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
446 # fall back if include files were not installed (versions before Sep 06)
447 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
449 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
451 AC_ARG_ENABLE(pubsub-debug,
452 [AC_HELP_STRING([--disable-pubsub-debug],
453 [force the production version of the PubSub framework])],
454 [],[enable_pubsub_debug=yes])
456 HOMER_TARGET="`uname -s`-`uname -m`"
457 AC_MSG_CHECKING([for HLT PubSub Framework release type])
458 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
459 homer_type="production"
460 HOMER_TARGET="${HOMER_TARGET}-release"
461 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
463 HOMER_TARGET="${HOMER_TARGET}-debug"
465 AC_MSG_RESULT([${homer_type}])
466 HOMERREADER_HEADER=HOMERReader.h
467 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
468 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
469 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
470 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
471 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
475 AC_CHECK_HEADER([$HOMERREADER_HEADER],
476 [ AC_CHECK_LIB([HOMER],[_init],
478 HOMER_LIBS="-lHOMER"],
479 [ AC_CHECK_LIB([HOMERReader],[_init],
481 HOMER_LIBS="-lHOMERReader"])])
482 LIBS="$LIBS $HOMER_LIBS"
483 AC_MSG_CHECKING([version of HOMER library])
484 dnl The Homer library has no versioning, so we do our own
485 dnl version description
486 dnl ----------------------------------------------------------------------
487 dnl 1 inintial version
488 dnl 2 GetBlockStatusFlags added to the interface
489 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
490 [HOMERReader reader("dummy", 0);
491 reader.GetBlockStatusFlags(0);])],
494 AC_MSG_RESULT([$HOMER_VERSION])
496 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
500 dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
502 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
503 HOMERREADER_HEADER=AliHLTHOMERReader.h
504 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
510 if test "x$with_homer" = "xno" ; then
515 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
516 AC_DEFINE(HAVE_HOMERREADER)
518 CPPFLAGS="$save_CPPFLAGS"
519 LDFLAGS="$save_LDFLAGS"
522 AC_SUBST([HOMERREADER_HEADER])
523 AC_SUBST([HOMER_INBUILT_LIB])
524 AC_SUBST([HOMER_CPPFLAGS])
525 AC_SUBST([HOMER_LDFLAGS])
526 AC_SUBST([HOMER_LIBDIR])
527 AC_SUBST([HOMER_BINDIR])
528 AC_SUBST([HOMER_LIBS])
530 dnl ------------------------------------------------------------------
532 [AC_HELP_STRING([--disable-all],
533 [disable all detector modules, individual modules can be switched on by --enable-det])],
534 [disable_all=yes],[])
536 dnl ------------------------------------------------------------------
537 AC_MSG_CHECKING([whether to impose strict coding conventions])
538 AC_ARG_ENABLE(strict,
539 [AC_HELP_STRING([--disable-strict],
540 [disable coding convention checks ])],
541 [],[enable_strict=yes])
542 if test "x$enable_strict" = "xyes" ; then
543 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
545 AC_MSG_RESULT([$enable_strict])
547 dnl ------------------------------------------------------------------
548 AC_MSG_CHECKING([whether to enable component statistics])
549 AC_ARG_ENABLE(component-stat,
550 [AC_HELP_STRING([--enable-component-stat],
551 [enable component statistics ])],
554 dnl enable component statistics if not explicitely disabled
555 if test "x$enable_component_stat" != "xno" &&
556 test "x$enable_debug" = "xyes" ; then
557 enable_component_stat=yes.debug
560 if test "x$enable_component_stat" = "x" ; then
561 enable_component_stat=no
564 if test "x$enable_component_stat" != "xno" ; then
565 AC_DEFINE(HLT_COMPONENT_STATISTICS)
567 AC_MSG_RESULT([$enable_component_stat])
569 dnl ------------------------------------------------------------------
570 dnl ---- module checks
571 dnl ------------------------------------------------------------------
572 save_CPPFLAGS=$CPPFLAGS
573 save_LDFLAGS=$LDFLAGS
576 dnl ------------------------------------------------------------------
577 AC_MSG_NOTICE([-------------------------------------------------])
578 AC_MSG_NOTICE([checking dependencies for HLTbase library])
579 HLTBASE_CHECKLIBS='XMLParser'
580 for CHECKLIB in $HLTBASE_CHECKLIBS ; do
581 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
582 LIBS="$save_LIBS $ROOTLIBS $ALIHLTBASE_LIBS"
583 AC_CHECK_LIB([$CHECKLIB],[_init], [ALIHLTBASE_LIBS="$ALIHLTBASE_LIBS -l$CHECKLIB"])
585 AC_SUBST([ALIHLTBASE_LIBS])
587 dnl ------------------------------------------------------------------
588 AC_MSG_CHECKING([whether to compile sample library])
589 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
590 AC_ARG_ENABLE(sample,
591 [AC_HELP_STRING([--disable-sample],
592 [compile the sample library ])],
594 [if test "x$have_aliroot" = "xno" ; then
595 enable_sample="no...requires.AliRoot"
601 if test "x$enable_sample" = "xyes" ; then
602 AC_DEFINE(HLT_SAMPLE)
604 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
605 AC_MSG_RESULT([$enable_sample])
607 dnl ------------------------------------------------------------------
608 AH_TEMPLATE([HLT_UTIL],[HLT utility library])
610 CHECK_HLTMODULE([util],
612 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/STEER -I$ALICE_ROOT/RAW -I$ALICE_ROOT/PYTHIA6],
613 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
614 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
615 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
617 if test "x$enable_module" = "xmissheader"; then
618 enable_module="no...missing.headers"
619 enable_util=$enable_module
620 elif test "x$enable_module" = "xforce"; then
623 enable_util=$enable_module
625 if test "x$enable_util" = "xyes" ; then
627 ALIUTIL_LIBS=$ALIHLTMODULE_LIBS
629 AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
630 AC_MSG_CHECKING([whether to compile Util library])
631 AC_MSG_RESULT([$enable_module])
632 AC_SUBST([ALIUTIL_LIBS])
634 dnl ------------------------------------------------------------------
635 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
638 CHECK_HLTMODULE([tpc],
640 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
641 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
642 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
643 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
645 if test "x$enable_module" = "xmissheader"; then
646 enable_module="no...missing.headers"
647 enable_tpc=$enable_module
648 elif test "x$enable_module" = "xforce"; then
651 enable_tpc=$enable_module
654 if test "x$enable_tpc" = "xyes" ; then
657 ALITPC_LIBS=$ALIHLTMODULE_LIBS
659 dnl Check for functionality in the TPC reconstruction required for online
662 have_tpc_hltoffline_rec=no
663 AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
664 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
665 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
666 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
667 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
668 #include <AliTPCclustererMI.h>
669 #include <TObjArray.h>],
670 [AliTPCtrackerMI tracker;
671 TObjArray* array=NULL;
672 tracker.LoadClusters(array);
673 AliTPCclustererMI cl(NULL, NULL);
674 cl.GetOutputClonesArray();])],
675 [have_tpc_hltoffline_rec=yes],
676 [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
677 AC_MSG_RESULT([$have_tpc_hltoffline_rec])
679 have_alitpcclusterparam_r40128=no
680 AC_MSG_CHECKING([checking for AliTPCClusterParam r40128])
681 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTPCClusterParam.h>],
682 [AliTPCClusterParam param;
683 float test=param.ParamS0Par(0,0,0)]);],
684 [have_alitpcclusterparam_r40128=yes],
685 [AC_DEFINE(HAVE_NOT_ALITPCCLUSTERPARAM_r40128)])
686 AC_MSG_RESULT([$have_alitpcclusterparam_r40128])
691 AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
692 AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
693 AC_CHECK_HEADER([AliAltroRawStreamV3.h], [], [AC_DEFINE(HAVE_NOT_ALTRORAWSTREAMV3)])
696 if test ! "x$have_aliroot" = "xno" ; then
697 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
698 # which is stored in the TPC/mapping/Patchx.data files from
699 # AliRoot version v4-04-Release (May 2006)
700 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
701 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
702 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
703 [have_tpc_mapping=yes
704 AC_SUBST(TPC_PAD_MAPPING_PATH)
705 AC_DEFINE(HAVE_TPC_MAPPING)],
709 AC_MSG_CHECKING([for TPC mapping layout])
710 AC_MSG_RESULT([$have_tpc_mapping])
714 enable_module=$enable_tpc
716 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
717 AC_MSG_CHECKING([whether to compile TPC library])
718 AC_MSG_RESULT([$enable_module])
719 AC_SUBST([ALITPC_LIBS])
721 dnl ------------------------------------------------------------------
722 AH_TEMPLATE([HLT_RCU],[hlt rcu library])
724 CHECK_HLTMODULE([rcu],
726 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
727 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
728 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
729 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
731 if test "x$enable_module" = "xmissheader"; then
732 enable_module="no...missing.headers"
733 enable_rcu=$enable_module
734 elif test "x$enable_module" = "xforce"; then
738 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
739 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
740 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
741 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
742 [AliAltroDecoder decoder;
743 decoder.CopyBackward(NULL, 0);])],
744 [enable_rcu=$enable_module],
745 [enable_module="no...requires.AliRoot>v4-10-Release"
746 enable_rcu="no...requires.AliRoot>v4-10-Release"])
747 CPPFLAGS=$save_CPPFLAGS
748 LDFLAGS=$save_LDFLAGS
753 if test "x$enable_rcu" = "xyes" ; then
756 enable_module=$enable_rcu
758 AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
759 AC_MSG_CHECKING([whether to compile RCU library])
760 AC_MSG_RESULT([$enable_module])
761 AC_SUBST([ALIRCU_LIBS])
763 dnl ------------------------------------------------------------------
764 AH_TEMPLATE([HLT_CALO],[hlt calo(rimeter) library])
767 CHECK_HLTMODULE([calo],
768 [], [$ALIROOT_CPPFLAGS],
769 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
770 [EMCALUtils PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
771 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
773 if test "x$enable_module" = "xmissheader"; then
774 enable_module="no...missing.headers"
775 enable_calo=$enable_module
776 elif test "x$enable_module" = "xforce"; then
779 have_alicalorawstream=no
780 if test ! "x$have_aliroot" = "xno" ; then
782 save_CPPFLAGS="$CPPFLAGS"
783 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
784 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
785 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
786 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
787 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
788 #include <AliCaloRawStream.h>],
790 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
791 have_alicalorawstream=yes],
793 AC_MSG_RESULT([$have_alicalorawstream])
795 have_aliesdcalocluster_r38477=no
796 AC_MSG_CHECKING([for AliESDCaloCluster r38477])
797 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDCaloCluster.h>],
798 [AliESDCaloCluster cluster;
799 cluster.SetTrackDistance(0.0, 0.0)]);],
800 [have_aliesdcalocluster_r38477=yes],
801 [AC_DEFINE(HAVE_NOT_ALIESDCALOCLUSTER_r38477)])
802 AC_MSG_RESULT([$have_aliesdcalocluster_r38477])
805 CPPFLAGS="$save_CPPFLAGS"
807 if test "x$have_alicalorawstream" != "xyes"; then
808 enable_calo="no...requires.AliRoot>v4-05-07"
810 enable_calo=$enable_module
814 if test "x$enable_calo" = "xyes" ; then
816 ALICALO_LIBS=$ALIHLTMODULE_LIBS
818 enable_module=$enable_calo
820 AM_CONDITIONAL(EN_HLT_CALO, test x$enable_calo = xyes)
821 AC_MSG_CHECKING([whether to compile CALO library])
822 AC_MSG_RESULT([$enable_module])
823 AC_SUBST([ALICALO_LIBS])
825 dnl ------------------------------------------------------------------
826 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
829 CHECK_HLTMODULE([phos],
830 [], [$ALIROOT_CPPFLAGS],
831 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
832 [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
833 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
835 if test "x$enable_module" = "xmissheader"; then
836 enable_module="no...requires.AliRoot>v4-05-07"
837 enable_phos=$enable_module
838 elif test "x$enable_module" = "xforce"; then
841 have_alicalorawstream=no
842 if test ! "x$have_aliroot" = "xno" ; then
844 save_CPPFLAGS="$CPPFLAGS"
845 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
846 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
847 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
848 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
849 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
850 #include <AliCaloRawStream.h>],
852 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
853 have_alicalorawstream=yes],
855 AC_MSG_RESULT([$have_alicalorawstream])
856 AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
857 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
858 [AliPHOSRecoParam param;
859 param.GetEMCClusteringThreshold()])],
860 [have_aliphosrecoparam=yes],
861 [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
862 AC_MSG_RESULT([$have_aliphosrecoparam])
864 CPPFLAGS="$save_CPPFLAGS"
866 if test "x$have_alicalorawstream" != "xyes"; then
867 enable_phos="no...requires.AliRoot>v4-05-07"
869 enable_phos=$enable_module
873 if test "x$enable_phos" = "xyes" ; then
875 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
877 enable_module=$enable_phos
879 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
880 AC_MSG_CHECKING([whether to compile PHOS library])
881 AC_MSG_RESULT([$enable_module])
882 AC_SUBST([ALIPHOS_LIBS])
884 dnl ------------------------------------------------------------------
885 AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
888 CHECK_HLTMODULE([emcal],
889 [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/VZERO],
890 [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
891 [EMCALrec EMCALsim EMCALbase EMCALUtils VZERObase], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
892 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
894 if test "x$enable_module" = "xmissheader"; then
895 enable_module="no...header.missing"
896 enable_emcal=$enable_module
897 elif test "x$enable_module" = "xforce"; then
900 enable_emcal=$enable_module
903 if test "x$enable_emcal" = "xyes" ; then
905 ALIEMCAL_LIBS=$ALIHLTMODULE_LIBS
907 enable_module=$enable_emcal
909 AM_CONDITIONAL(EN_HLT_EMCAL, test x$enable_emcal = xyes)
910 AC_MSG_CHECKING([whether to compile EMCAL library])
911 AC_MSG_RESULT([$enable_module])
912 AC_SUBST([ALIEMCAL_LIBS])
914 dnl ------------------------------------------------------------------
915 AH_TEMPLATE([HLT_TRD],[hlt trd library])
918 CHECK_HLTMODULE([trd],
920 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
921 [STAT TRDbase TRDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
922 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
924 if test "x$enable_module" = "xmissheader"; then
925 enable_module="no...requires.AliRoot>v4-07-Release"
926 enable_trd=$enable_module
927 elif test "x$enable_module" = "xforce"; then
930 enable_trd=$enable_module
931 if test "x$enable_trd" = "xyes" ; then
933 save_CPPFLAGS="$CPPFLAGS"
934 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
935 # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
936 # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
937 # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
938 # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
939 # changed to AliTRDCluster according to revision 30461, Thu Dec 18 2008
940 # changed to AliTRDclusterizer::GetAddedClusters according to revision 31299, Wed Mar 4 2009
941 # changed to AliTRDclusterizer::GetNTimeBins according to revision 37102 Sun Nov 22 2009
942 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
943 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
944 [AliTRDclusterizer c;
947 [enable_trd="no...requires.AliRoot>v4-18-Release"])
948 AC_MSG_RESULT([$enable_trd])
950 if test "x$enable_trd" = "xyes" ; then
951 have_alitrdseedv1_r39693=no
952 AC_MSG_CHECKING([checking for AliTRDseedV1 r39693])
953 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDseedV1.h>],
955 seed.SetC(0.0, 1)]);],
956 [have_alitrdseedv1_r39693=yes],
957 [AC_DEFINE(HAVE_NOT_ALITRD_SEEDV1_r39693)])
958 AC_MSG_RESULT([$have_alitrdseedv1_r39693])
960 have_alitrdrawstream_r39608=no
961 AC_MSG_CHECKING([checking for AliTRDrawStream r39608])
962 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrawStreamBase.h>],
963 [AliTRDrawStreamBase::SetRawStreamVersion(AliTRDrawStreamBase::kTRDdefaultStream)]);],
964 [have_alitrdrawstream_r39608=yes],
965 [AC_DEFINE(HAVE_NOT_ALITRD_RAWSTREAM_r39608)])
966 AC_MSG_RESULT([$have_alitrdrawstream_r39608])
968 have_alitrdrecoparam_r41621=no
969 AC_MSG_CHECKING([checking for AliTRDrecoParam r41621])
970 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrecoParam.h>],
971 [AliTRDrecoParam::GetLowFluxHLTParam()]);],
972 [have_alitrdrecoparam_r41621=yes],
973 [AC_DEFINE(HAVE_NOT_ALITRD_RECOPARAM_r41621)])
974 AC_MSG_RESULT([$have_alitrdrecoparam_r41621])
978 CPPFLAGS="$save_CPPFLAGS"
982 if test "x$enable_trd" = "xyes" ; then
984 ALITRD_LIBS=$ALIHLTMODULE_LIBS
986 enable_module=$enable_trd
988 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
989 AC_MSG_CHECKING([whether to compile TRD library])
990 AC_MSG_RESULT([$enable_module])
991 AC_SUBST([ALITRD_LIBS])
993 dnl ------------------------------------------------------------------
994 AH_TEMPLATE([HLT_FMD],[hlt fmd library])
996 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
997 CHECK_HLTMODULE([fmd],
999 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1000 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1001 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1003 if test "x$enable_module" = "xmissheader"; then
1004 enable_module="no...missing.headers"
1005 enable_fmd=$enable_module
1006 elif test "x$enable_module" = "xforce"; then
1009 enable_fmd=$enable_module
1012 if test "x$enable_fmd" = "xyes" ; then
1014 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
1016 enable_module=$enable_fmd
1018 AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
1019 AC_MSG_CHECKING([whether to compile FMD library])
1020 AC_MSG_RESULT([$enable_module])
1021 AC_SUBST([ALIFMD_LIBS])
1023 dnl ------------------------------------------------------------------
1024 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
1027 CHECK_HLTMODULE([dimuon],
1028 [AliMpExMap.h AliMUONTriggerIO.h],
1029 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
1030 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1031 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1032 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1034 if test "x$enable_module" = "xmissheader"; then
1035 enable_module="no...requires.AliRoot>=v4-08-Release"
1036 enable_muon=$enable_module
1037 elif test "x$enable_module" = "xforce"; then
1040 enable_muon=$enable_module
1043 if test "x$enable_muon" = "xyes" ; then
1045 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
1047 save_CPPFLAGS="$CPPFLAGS"
1050 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
1052 have_muon_digitmaker_getrawstream=no
1053 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
1054 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
1055 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1056 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1057 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
1058 [AliMUONDigitMaker dm;
1059 dm.GetRawStreamTracker();])],
1060 [have_muon_digitmaker_getrawstream=yes],
1061 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
1063 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
1066 dnl Check for AliMpPad::GetPositionX/Y
1067 dnl change of implementation in MUON code
1068 dnl revision 31769, Wed Apr 1 2009
1070 have_muon_alimppad_getposition=no
1071 AC_MSG_CHECKING(for GetPosition methods of AliMpPad)
1072 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON/mapping"
1073 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1074 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1075 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMpPad.h>],
1077 pad.GetPositionX();])],
1078 [have_muon_alimppad_getposition=yes],
1079 [AC_DEFINE(HAVE_NOT_MUON_ALIMPPAD_GETPOSITION)])
1081 AC_MSG_RESULT([$have_muon_alimppad_getposition])
1083 CPPFLAGS="$save_CPPFLAGS"
1087 enable_module=$enable_muon
1089 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
1090 AC_MSG_CHECKING([whether to compile MUON library])
1091 AC_MSG_RESULT([$enable_module])
1092 AC_SUBST([ALIMUON_LIBS])
1094 dnl ------------------------------------------------------------------
1095 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
1098 CHECK_HLTMODULE([trigger],
1099 [], [$ALIROOT_CPPFLAGS],
1100 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1101 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1102 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1104 if test "x$enable_module" = "xmissheader"; then
1105 enable_module="no...header.missing"
1106 enable_trigger=$enable_module
1107 elif test "x$enable_module" = "xforce"; then
1108 enable_trigger="yes"
1110 enable_trigger=$enable_module
1113 if test "x$enable_trigger" = "xyes" ; then
1114 AC_DEFINE(HLT_TRIGGER)
1115 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
1117 enable_module=$enable_trigger
1119 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
1120 AC_MSG_CHECKING([whether to compile Trigger library])
1121 AC_MSG_RESULT([$enable_module])
1122 AC_SUBST([ALITRIGGER_LIBS])
1124 dnl ------------------------------------------------------------------
1125 AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
1128 CHECK_HLTMODULE([global],
1129 [], [$ALIROOT_CPPFLAGS],
1130 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1131 [PHOSUtils ], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1132 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1134 if test "x$enable_module" = "xmissheader"; then
1135 enable_module="no...header.missing"
1136 enable_global=$enable_module
1137 elif test "x$enable_module" = "xforce"; then
1140 enable_global=$enable_module
1141 if test "x$enable_global" = "xyes" ; then
1143 save_CPPFLAGS="$CPPFLAGS"
1144 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
1145 AC_MSG_CHECKING([for required functions in AliESDtrack])
1146 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>],
1148 t.SetGlobalChi2(0)])],
1150 [enable_global="no...requires.AliRoot>v4-17-Release"])
1151 AC_MSG_RESULT([$enable_global])
1153 CPPFLAGS="$save_CPPFLAGS"
1157 if test "x$enable_global" = "xyes" ; then
1158 AC_DEFINE(HLT_GLOBAL)
1159 ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
1161 enable_module=$enable_global
1163 AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
1164 AC_MSG_CHECKING([whether to compile Global library])
1165 AC_MSG_RESULT([$enable_module])
1166 AC_SUBST([ALIGLOBAL_LIBS])
1168 dnl ------------------------------------------------------------------
1169 AH_TEMPLATE([HLT_JET],[hlt jet library])
1172 ALIFASTJET_INCFLAGS=
1175 AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
1176 [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
1177 [ test -n $FASTJET && with_fastjet=$FASTJET ])
1179 if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
1180 ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
1181 ALIFASTJET_HEADER="fastjet/PseudoJet.hh"
1182 ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
1183 ALIFASTJET_LIBS="CGAL fastjet"
1188 CHECK_HLTMODULE([jet],
1189 [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
1190 [$ALIFASTJET_LIBS], [$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
1191 [AOD ESD ANALYSIS ANALYSISalice JETAN],
1192 [-L$ROOTLIBDIR $ALIROOT_LDFLAGS $ALIFASTJET_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
1193 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1195 if test "x$enable_module" = "xmissheader"; then
1196 enable_module="no...header.missing"
1197 enable_jet=$enable_module
1198 elif test "x$enable_module" = "xforce"; then
1201 enable_jet=$enable_module
1204 if test "x$enable_jet" = "xyes" ; then
1206 ALIJET_LIBS="$ALIHLTMODULE_LIBS"
1208 if test "x$with_fastjet" != "xno"; then
1209 AC_DEFINE(HAVE_FASTJET)
1210 AC_DEFINE(WITHFASTJET)
1211 ALIJET_LIBS="$ALIJET_LIBS $FASTJET_LDFLAGS"
1213 AC_MSG_CHECKING([compilation with FASTJET package])
1214 AC_MSG_RESULT($with_fastjet)
1217 enable_module=$enable_jet
1220 AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
1221 AC_MSG_CHECKING([whether to compile Jet library])
1222 AC_MSG_RESULT([$enable_module])
1223 AC_SUBST([ALIJET_LIBS])
1225 dnl ------------------------------------------------------------------
1226 AH_TEMPLATE([HLT_ITS],[hlt its library])
1229 CHECK_HLTMODULE([its],
1230 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
1231 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1232 [ITSbase ITSrec ITSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1233 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1235 if test "x$enable_module" = "xmissheader"; then
1236 enable_module="no...header.missing"
1237 enable_its=$enable_module
1238 elif test "x$enable_module" = "xforce"; then
1241 enable_its=$enable_module
1242 if test "x$enable_its" = "xyes" ; then
1244 save_CPPFLAGS="$CPPFLAGS"
1245 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
1246 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
1247 # require AliVertexer::GetNominalPos()
1248 AC_MSG_CHECKING([for required functions in AliITSVertexer])
1249 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
1251 v.GetNominalPos()])],
1253 [enable_its="no...requires.AliRoot>v4-13-Release"])
1254 AC_MSG_RESULT([$enable_its])
1256 CPPFLAGS="$save_CPPFLAGS"
1260 if test "x$enable_its" = "xyes" ; then
1262 ALIITS_LIBS=$ALIHLTMODULE_LIBS
1264 enable_module=$enable_its
1266 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
1267 AC_MSG_CHECKING([whether to compile ITS library])
1268 AC_MSG_RESULT([$enable_module])
1269 AC_SUBST([ALIITS_LIBS])
1271 dnl ------------------------------------------------------------------
1272 AH_TEMPLATE([HLT_COMP],[hlt comp library])
1275 CHECK_HLTMODULE([comp],
1276 [], [$ALIROOT_CPPFLAGS],
1277 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1278 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1279 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1281 if test "x$enable_module" = "xmissheader"; then
1282 enable_module="no...header.missing"
1283 enable_comp=$enable_module
1284 elif test "x$enable_module" = "xforce"; then
1287 enable_comp=$enable_module
1290 if test "x$enable_comp" = "xyes" ; then
1292 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
1294 enable_module=$enable_comp
1296 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
1297 AC_MSG_CHECKING([whether to compile comp library])
1298 AC_MSG_RESULT([$enable_module])
1299 AC_SUBST([ALICOMP_LIBS])
1301 dnl ------------------------------------------------------------------
1302 AC_MSG_CHECKING([whether to disable AliRoot logging])
1303 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
1304 AC_ARG_ENABLE(aliroot-logging,
1305 [AC_HELP_STRING([--disable-aliroot-logging],
1306 [disable logging through AliRoot logging methods])],
1307 [],[enable_aliroot_logging=no])
1308 if test "x$have_aliroot" = "xno" ; then
1309 enable_aliroot_logging=yes # this means 'disable'
1311 if test "x$enable_aliroot_logging" != "xno" ; then
1312 AC_DEFINE(NOALIROOT_LOGGING)
1314 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1315 AC_MSG_RESULT([$enable_aliroot_logging])
1317 dnl ------------------------------------------------------------------
1318 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1319 AH_TEMPLATE([DOMC],[MC saving])
1320 AC_ARG_ENABLE(mc-saving,
1321 [AC_HELP_STRING([--enable-mc-saving],
1322 [enable saving MC data through the chain])],
1323 [],[enable_mc_saving=no])
1324 if test "x$enable_mc_saving" = "xyes" ; then
1327 AC_MSG_RESULT([$enable_mc_saving])
1329 dnl ------------------------------------------------------------------
1330 dnl certainly something old, but we keep the define
1331 AC_MSG_CHECKING([whether to use ROWHOUGH])
1332 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1333 AC_ARG_ENABLE(rowhough,
1334 [AC_HELP_STRING([--enable-rowhough],
1336 [],[enable_rowhough=no])
1337 if test "x$enable_rowhough" = "xyes" ; then
1338 AC_DEFINE(USEROWHOUGH)
1340 AC_MSG_RESULT([$enable_rowhough])
1342 dnl ------------------------------------------------------------------
1343 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1344 dnl stand-alone build system. This is most likely something old we can
1345 dnl get rid off later, or do something more reasonable. Since the define
1346 dnl needs the quotes they have to be escaped. This works well for the
1347 dnl Makefile but not for the configure script. So we have to add the
1348 dnl defines after all the other checks.
1349 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1350 if test ! "x$have_aliroot" = "xno" ; then
1351 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1354 dnl ------------------------------------------------------------------
1358 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1359 AC_PATH_PROG(PERL, perl)
1360 AC_PATH_PROG(DOXYGEN, doxygen)
1362 [AC_HELP_STRING([--enable-dot],
1363 [enable dot documentation generator])],
1367 AC_PATH_PROG(DOT, dot)
1368 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
1370 DOT_PATH=`dirname $DOT`
1373 AC_MSG_CHECKING([for documentation mode])
1375 [AC_HELP_STRING([--disable-doc],
1376 [disable documentation build; monolithic build --enable-doc=mono ])],
1377 [],[enable_doc=modules])
1379 if test "x$DOXYGEN" = "x" ; then
1380 enable_doc=no.doxygen
1381 elif test "x$enable_doc" = "xyes" ; then
1383 elif test ! "x$enable_doc" = "xmono" && \
1384 test ! "x$enable_doc" = "xmodules" && \
1385 test ! "x$enable_doc" = "xno"; then
1387 AC_MSG_WARN([unknown option])
1389 if test "x$enable_doc" = "xno" ; then
1394 AC_MSG_RESULT([$enable_doc])
1395 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1396 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
1397 AC_SUBST([HAVE_DOT])
1398 AC_SUBST([DOT_PATH])
1400 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1401 dnl echo $HAVE_SRC_SUBDIR
1402 dnl if ! test -d $HAVE_SRC_SUBDIR; then
1403 dnl HAVE_SRC_SUBDIR=
1405 dnl AC_SUBST([HAVE_SRC_SUBDIR])
1407 dnl ------------------------------------------------------------------
1408 AC_MSG_NOTICE([---------------------------------------------- ])
1409 AC_MSG_NOTICE([ build summary ])
1410 AC_MSG_NOTICE([---------------------------------------------- ])
1412 AC_CONFIG_FILES([Makefile
1418 BASE/util/test/Makefile
1419 BASE/interface/Makefile
1421 BASE/interface/test/Makefile
1424 doc/doxymodule.conf])
1426 dnl AliRoot and installation directory for libraries
1428 AC_MSG_NOTICE([AliRoot: $have_aliroot])
1429 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1430 if test "x$have_aliroot" != "xno"; then
1431 AC_CONFIG_FILES([sim/Makefile
1434 rec/startAliEVE-barrel-tracks.sh
1441 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1442 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1443 AC_MSG_NOTICE([libdir set to $libdir])
1446 AC_MSG_NOTICE([compile sample library: $enable_sample])
1447 if test "x$enable_sample" = "xyes"; then
1448 AC_CONFIG_FILES([SampleLib/Makefile])
1451 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1452 if test "x$enable_rcu" = "xyes"; then
1453 AC_CONFIG_FILES([RCU/Makefile
1458 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1459 if test "x$enable_tpc" = "xyes"; then
1460 AC_CONFIG_FILES([TPCLib/Makefile
1461 TPCLib/test/Makefile
1462 TPCLib/mapping2array.cxx
1464 TPCLib/calibration/Makefile
1468 AC_MSG_NOTICE([compile CALO library: $enable_calo])
1469 if test "x$enable_calo" = "xyes"; then
1470 AC_CONFIG_FILES([CALO/Makefile
1471 CALO/test/Makefile])
1474 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1475 if test "x$enable_phos" = "xyes"; then
1476 AC_CONFIG_FILES([PHOS/Makefile])
1479 AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1480 if test "x$enable_emcal" = "xyes"; then
1481 AC_CONFIG_FILES([EMCAL/Makefile])
1484 AC_MSG_NOTICE([compile TRD library: $enable_trd])
1485 if test "x$enable_trd" = "xyes"; then
1486 AC_CONFIG_FILES([TRD/Makefile])
1489 AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1490 if test "x$enable_fmd" = "xyes"; then
1491 AC_CONFIG_FILES([FMD/Makefile])
1494 AC_MSG_NOTICE([compile MUON library: $enable_muon])
1495 if test "x$enable_muon" = "xyes"; then
1496 AC_CONFIG_FILES([MUON/Makefile])
1499 AC_MSG_NOTICE([compile ITS library: $enable_its])
1500 if test "x$enable_its" = "xyes"; then
1501 AC_CONFIG_FILES([ITS/Makefile])
1504 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1505 if test "x$enable_trigger" = "xyes"; then
1506 AC_CONFIG_FILES([trigger/Makefile
1507 trigger/test/Makefile])
1510 AC_MSG_NOTICE([compile global library: $enable_global])
1511 if test "x$enable_global" = "xyes"; then
1512 AC_CONFIG_FILES([global/Makefile])
1515 AC_MSG_NOTICE([compile jet library: $enable_jet])
1516 if test "x$enable_jet" = "xyes"; then
1517 AC_CONFIG_FILES([JET/Makefile])
1520 AC_MSG_NOTICE([compile comp library: $enable_comp])
1521 if test "x$enable_comp" = "xyes"; then
1522 AC_CONFIG_FILES([comp/Makefile])