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_ALITRD_RECOPARAM_r41621)],
974 [AC_DEFINE(HAVE_NOT_ALITRD_RECOPARAM_r41621)])
975 AC_MSG_RESULT([$have_alitrdrecoparam_r41621])
979 CPPFLAGS="$save_CPPFLAGS"
983 if test "x$enable_trd" = "xyes" ; then
985 ALITRD_LIBS=$ALIHLTMODULE_LIBS
987 enable_module=$enable_trd
989 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
990 AC_MSG_CHECKING([whether to compile TRD library])
991 AC_MSG_RESULT([$enable_module])
992 AC_SUBST([ALITRD_LIBS])
994 dnl ------------------------------------------------------------------
995 AH_TEMPLATE([HLT_FMD],[hlt fmd library])
997 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
998 CHECK_HLTMODULE([fmd],
1000 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1001 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1002 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1004 if test "x$enable_module" = "xmissheader"; then
1005 enable_module="no...missing.headers"
1006 enable_fmd=$enable_module
1007 elif test "x$enable_module" = "xforce"; then
1010 enable_fmd=$enable_module
1013 if test "x$enable_fmd" = "xyes" ; then
1015 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
1017 enable_module=$enable_fmd
1019 AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
1020 AC_MSG_CHECKING([whether to compile FMD library])
1021 AC_MSG_RESULT([$enable_module])
1022 AC_SUBST([ALIFMD_LIBS])
1024 dnl ------------------------------------------------------------------
1025 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
1028 CHECK_HLTMODULE([dimuon],
1029 [AliMpExMap.h AliMUONTriggerIO.h],
1030 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
1031 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1032 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1033 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1035 if test "x$enable_module" = "xmissheader"; then
1036 enable_module="no...requires.AliRoot>=v4-08-Release"
1037 enable_muon=$enable_module
1038 elif test "x$enable_module" = "xforce"; then
1041 enable_muon=$enable_module
1044 if test "x$enable_muon" = "xyes" ; then
1046 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
1048 save_CPPFLAGS="$CPPFLAGS"
1051 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
1053 have_muon_digitmaker_getrawstream=no
1054 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
1055 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
1056 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1057 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1058 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
1059 [AliMUONDigitMaker dm;
1060 dm.GetRawStreamTracker();])],
1061 [have_muon_digitmaker_getrawstream=yes],
1062 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
1064 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
1067 dnl Check for AliMpPad::GetPositionX/Y
1068 dnl change of implementation in MUON code
1069 dnl revision 31769, Wed Apr 1 2009
1071 have_muon_alimppad_getposition=no
1072 AC_MSG_CHECKING(for GetPosition methods of AliMpPad)
1073 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON/mapping"
1074 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1075 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1076 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMpPad.h>],
1078 pad.GetPositionX();])],
1079 [have_muon_alimppad_getposition=yes],
1080 [AC_DEFINE(HAVE_NOT_MUON_ALIMPPAD_GETPOSITION)])
1082 AC_MSG_RESULT([$have_muon_alimppad_getposition])
1084 CPPFLAGS="$save_CPPFLAGS"
1088 enable_module=$enable_muon
1090 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
1091 AC_MSG_CHECKING([whether to compile MUON library])
1092 AC_MSG_RESULT([$enable_module])
1093 AC_SUBST([ALIMUON_LIBS])
1095 dnl ------------------------------------------------------------------
1096 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
1099 CHECK_HLTMODULE([trigger],
1100 [], [$ALIROOT_CPPFLAGS],
1101 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1102 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1103 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1105 if test "x$enable_module" = "xmissheader"; then
1106 enable_module="no...header.missing"
1107 enable_trigger=$enable_module
1108 elif test "x$enable_module" = "xforce"; then
1109 enable_trigger="yes"
1111 enable_trigger=$enable_module
1114 if test "x$enable_trigger" = "xyes" ; then
1115 AC_DEFINE(HLT_TRIGGER)
1116 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
1118 enable_module=$enable_trigger
1120 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
1121 AC_MSG_CHECKING([whether to compile Trigger library])
1122 AC_MSG_RESULT([$enable_module])
1123 AC_SUBST([ALITRIGGER_LIBS])
1125 dnl ------------------------------------------------------------------
1126 AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
1129 CHECK_HLTMODULE([global],
1130 [], [$ALIROOT_CPPFLAGS],
1131 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1132 [PHOSUtils ], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1133 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1135 if test "x$enable_module" = "xmissheader"; then
1136 enable_module="no...header.missing"
1137 enable_global=$enable_module
1138 elif test "x$enable_module" = "xforce"; then
1141 enable_global=$enable_module
1142 if test "x$enable_global" = "xyes" ; then
1144 save_CPPFLAGS="$CPPFLAGS"
1145 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
1146 AC_MSG_CHECKING([for required functions in AliESDtrack])
1147 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>],
1149 t.SetGlobalChi2(0)])],
1151 [enable_global="no...requires.AliRoot>v4-17-Release"])
1152 AC_MSG_RESULT([$enable_global])
1154 CPPFLAGS="$save_CPPFLAGS"
1158 if test "x$enable_global" = "xyes" ; then
1159 AC_DEFINE(HLT_GLOBAL)
1160 ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
1162 enable_module=$enable_global
1164 AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
1165 AC_MSG_CHECKING([whether to compile Global library])
1166 AC_MSG_RESULT([$enable_module])
1167 AC_SUBST([ALIGLOBAL_LIBS])
1169 dnl ------------------------------------------------------------------
1170 AH_TEMPLATE([HLT_JET],[hlt jet library])
1173 ALIFASTJET_INCFLAGS=
1176 AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
1177 [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
1178 [ test -n $FASTJET && with_fastjet=$FASTJET ])
1180 if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
1181 ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
1182 ALIFASTJET_HEADER="fastjet/PseudoJet.hh"
1183 ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
1184 ALIFASTJET_LIBS="CGAL fastjet"
1189 CHECK_HLTMODULE([jet],
1190 [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
1191 [$ALIFASTJET_LIBS], [$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
1192 [AOD ESD ANALYSIS ANALYSISalice JETAN],
1193 [-L$ROOTLIBDIR $ALIROOT_LDFLAGS $ALIFASTJET_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
1194 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1196 if test "x$enable_module" = "xmissheader"; then
1197 enable_module="no...header.missing"
1198 enable_jet=$enable_module
1199 elif test "x$enable_module" = "xforce"; then
1202 enable_jet=$enable_module
1205 if test "x$enable_jet" = "xyes" ; then
1207 ALIJET_LIBS="$ALIHLTMODULE_LIBS"
1209 if test "x$with_fastjet" != "xno"; then
1210 AC_DEFINE(HAVE_FASTJET)
1211 AC_DEFINE(WITHFASTJET)
1212 ALIJET_LIBS="$ALIJET_LIBS $FASTJET_LDFLAGS"
1214 AC_MSG_CHECKING([compilation with FASTJET package])
1215 AC_MSG_RESULT($with_fastjet)
1218 enable_module=$enable_jet
1221 AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
1222 AC_MSG_CHECKING([whether to compile Jet library])
1223 AC_MSG_RESULT([$enable_module])
1224 AC_SUBST([ALIJET_LIBS])
1226 dnl ------------------------------------------------------------------
1227 AH_TEMPLATE([HLT_ITS],[hlt its library])
1230 CHECK_HLTMODULE([its],
1231 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
1232 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1233 [ITSbase ITSrec ITSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1234 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1236 if test "x$enable_module" = "xmissheader"; then
1237 enable_module="no...header.missing"
1238 enable_its=$enable_module
1239 elif test "x$enable_module" = "xforce"; then
1242 enable_its=$enable_module
1243 if test "x$enable_its" = "xyes" ; then
1245 save_CPPFLAGS="$CPPFLAGS"
1246 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
1247 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
1248 # require AliVertexer::GetNominalPos()
1249 AC_MSG_CHECKING([for required functions in AliITSVertexer])
1250 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
1252 v.GetNominalPos()])],
1254 [enable_its="no...requires.AliRoot>v4-13-Release"])
1255 AC_MSG_RESULT([$enable_its])
1257 CPPFLAGS="$save_CPPFLAGS"
1261 if test "x$enable_its" = "xyes" ; then
1263 ALIITS_LIBS=$ALIHLTMODULE_LIBS
1265 enable_module=$enable_its
1267 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
1268 AC_MSG_CHECKING([whether to compile ITS library])
1269 AC_MSG_RESULT([$enable_module])
1270 AC_SUBST([ALIITS_LIBS])
1272 dnl ------------------------------------------------------------------
1273 AH_TEMPLATE([HLT_COMP],[hlt comp library])
1276 CHECK_HLTMODULE([comp],
1277 [], [$ALIROOT_CPPFLAGS],
1278 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1279 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1280 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1282 if test "x$enable_module" = "xmissheader"; then
1283 enable_module="no...header.missing"
1284 enable_comp=$enable_module
1285 elif test "x$enable_module" = "xforce"; then
1288 enable_comp=$enable_module
1291 if test "x$enable_comp" = "xyes" ; then
1293 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
1295 enable_module=$enable_comp
1297 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
1298 AC_MSG_CHECKING([whether to compile comp library])
1299 AC_MSG_RESULT([$enable_module])
1300 AC_SUBST([ALICOMP_LIBS])
1302 dnl ------------------------------------------------------------------
1303 AC_MSG_CHECKING([whether to disable AliRoot logging])
1304 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
1305 AC_ARG_ENABLE(aliroot-logging,
1306 [AC_HELP_STRING([--disable-aliroot-logging],
1307 [disable logging through AliRoot logging methods])],
1308 [],[enable_aliroot_logging=no])
1309 if test "x$have_aliroot" = "xno" ; then
1310 enable_aliroot_logging=yes # this means 'disable'
1312 if test "x$enable_aliroot_logging" != "xno" ; then
1313 AC_DEFINE(NOALIROOT_LOGGING)
1315 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1316 AC_MSG_RESULT([$enable_aliroot_logging])
1318 dnl ------------------------------------------------------------------
1319 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1320 AH_TEMPLATE([DOMC],[MC saving])
1321 AC_ARG_ENABLE(mc-saving,
1322 [AC_HELP_STRING([--enable-mc-saving],
1323 [enable saving MC data through the chain])],
1324 [],[enable_mc_saving=no])
1325 if test "x$enable_mc_saving" = "xyes" ; then
1328 AC_MSG_RESULT([$enable_mc_saving])
1330 dnl ------------------------------------------------------------------
1331 dnl certainly something old, but we keep the define
1332 AC_MSG_CHECKING([whether to use ROWHOUGH])
1333 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1334 AC_ARG_ENABLE(rowhough,
1335 [AC_HELP_STRING([--enable-rowhough],
1337 [],[enable_rowhough=no])
1338 if test "x$enable_rowhough" = "xyes" ; then
1339 AC_DEFINE(USEROWHOUGH)
1341 AC_MSG_RESULT([$enable_rowhough])
1343 dnl ------------------------------------------------------------------
1344 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1345 dnl stand-alone build system. This is most likely something old we can
1346 dnl get rid off later, or do something more reasonable. Since the define
1347 dnl needs the quotes they have to be escaped. This works well for the
1348 dnl Makefile but not for the configure script. So we have to add the
1349 dnl defines after all the other checks.
1350 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1351 if test ! "x$have_aliroot" = "xno" ; then
1352 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1355 dnl ------------------------------------------------------------------
1359 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1360 AC_PATH_PROG(PERL, perl)
1361 AC_PATH_PROG(DOXYGEN, doxygen)
1363 [AC_HELP_STRING([--enable-dot],
1364 [enable dot documentation generator])],
1368 AC_PATH_PROG(DOT, dot)
1369 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
1371 DOT_PATH=`dirname $DOT`
1374 AC_MSG_CHECKING([for documentation mode])
1376 [AC_HELP_STRING([--disable-doc],
1377 [disable documentation build; monolithic build --enable-doc=mono ])],
1378 [],[enable_doc=modules])
1380 if test "x$DOXYGEN" = "x" ; then
1381 enable_doc=no.doxygen
1382 elif test "x$enable_doc" = "xyes" ; then
1384 elif test ! "x$enable_doc" = "xmono" && \
1385 test ! "x$enable_doc" = "xmodules" && \
1386 test ! "x$enable_doc" = "xno"; then
1388 AC_MSG_WARN([unknown option])
1390 if test "x$enable_doc" = "xno" ; then
1395 AC_MSG_RESULT([$enable_doc])
1396 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1397 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
1398 AC_SUBST([HAVE_DOT])
1399 AC_SUBST([DOT_PATH])
1401 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1402 dnl echo $HAVE_SRC_SUBDIR
1403 dnl if ! test -d $HAVE_SRC_SUBDIR; then
1404 dnl HAVE_SRC_SUBDIR=
1406 dnl AC_SUBST([HAVE_SRC_SUBDIR])
1408 dnl ------------------------------------------------------------------
1409 AC_MSG_NOTICE([---------------------------------------------- ])
1410 AC_MSG_NOTICE([ build summary ])
1411 AC_MSG_NOTICE([---------------------------------------------- ])
1413 AC_CONFIG_FILES([Makefile
1419 BASE/util/test/Makefile
1420 BASE/interface/Makefile
1422 BASE/interface/test/Makefile
1425 doc/doxymodule.conf])
1427 dnl AliRoot and installation directory for libraries
1429 AC_MSG_NOTICE([AliRoot: $have_aliroot])
1430 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1431 if test "x$have_aliroot" != "xno"; then
1432 AC_CONFIG_FILES([sim/Makefile
1435 rec/startAliEVE-barrel-tracks.sh
1442 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1443 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1444 AC_MSG_NOTICE([libdir set to $libdir])
1447 AC_MSG_NOTICE([compile sample library: $enable_sample])
1448 if test "x$enable_sample" = "xyes"; then
1449 AC_CONFIG_FILES([SampleLib/Makefile])
1452 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1453 if test "x$enable_rcu" = "xyes"; then
1454 AC_CONFIG_FILES([RCU/Makefile
1459 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1460 if test "x$enable_tpc" = "xyes"; then
1461 AC_CONFIG_FILES([TPCLib/Makefile
1462 TPCLib/test/Makefile
1463 TPCLib/mapping2array.cxx
1465 TPCLib/calibration/Makefile
1469 AC_MSG_NOTICE([compile CALO library: $enable_calo])
1470 if test "x$enable_calo" = "xyes"; then
1471 AC_CONFIG_FILES([CALO/Makefile
1472 CALO/test/Makefile])
1475 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1476 if test "x$enable_phos" = "xyes"; then
1477 AC_CONFIG_FILES([PHOS/Makefile])
1480 AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1481 if test "x$enable_emcal" = "xyes"; then
1482 AC_CONFIG_FILES([EMCAL/Makefile])
1485 AC_MSG_NOTICE([compile TRD library: $enable_trd])
1486 if test "x$enable_trd" = "xyes"; then
1487 AC_CONFIG_FILES([TRD/Makefile])
1490 AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1491 if test "x$enable_fmd" = "xyes"; then
1492 AC_CONFIG_FILES([FMD/Makefile])
1495 AC_MSG_NOTICE([compile MUON library: $enable_muon])
1496 if test "x$enable_muon" = "xyes"; then
1497 AC_CONFIG_FILES([MUON/Makefile])
1500 AC_MSG_NOTICE([compile ITS library: $enable_its])
1501 if test "x$enable_its" = "xyes"; then
1502 AC_CONFIG_FILES([ITS/Makefile])
1505 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1506 if test "x$enable_trigger" = "xyes"; then
1507 AC_CONFIG_FILES([trigger/Makefile
1508 trigger/test/Makefile])
1511 AC_MSG_NOTICE([compile global library: $enable_global])
1512 if test "x$enable_global" = "xyes"; then
1513 AC_CONFIG_FILES([global/Makefile])
1516 AC_MSG_NOTICE([compile jet library: $enable_jet])
1517 if test "x$enable_jet" = "xyes"; then
1518 AC_CONFIG_FILES([JET/Makefile])
1521 AC_MSG_NOTICE([compile comp library: $enable_comp])
1522 if test "x$enable_comp" = "xyes"; then
1523 AC_CONFIG_FILES([comp/Makefile])