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)
42 AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
44 dnl ------------------------------------------------------------------
45 dnl A warning posted into the auto-generated files
46 dnl Does NOT concern this file ;-)
47 AUTOGENERATED_WARNING="!!!!!!! DO NOT EDIT THIS FILE !!!!!!"
48 AC_SUBST([AUTOGENERATED_WARNING])
50 dnl ------------------------------------------------------------------
54 ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
55 AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
57 ROOTBINDIR=`dirname $ROOTEXEC`
58 AC_SUBST([ROOTBINDIR])
60 dnl test for additional required root libraries and headers
62 if test "x$have_root" = "x1"; then
64 save_CPPFLAGS=$CPPFLAGS
67 CPPFLAGS=`echo $save_CPPFLAGS; for i in ${ROOTINCDIR}; do echo -n "-I$i " ; done`
69 # we check for the libSTEER library which is linked to
70 # - the ROOT libs libGeom libMinuit libVMC libEG
71 # - the AliRoot libESD libRAWData (libRAWDatarec from v4-04-Rev-07)
72 # - ROOT libCint needs also libdl
73 # - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires
75 # - from Jan 07 libESD also depends on libXMLIO
76 # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
77 ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer'
78 for CHECKLIB in $ROOT_CHECKLIBS ; do
79 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
80 LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
81 AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
84 # TBuffer.h has been made pure virtual in root v5-15-02 and one
85 # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
86 AC_CHECK_HEADERS([TBufferFile.h])
88 # TView.h has been made pure virtual right after root v5-15-02 and one
89 # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
90 AC_CHECK_HEADERS([TView3D.h])
92 CPPFLAGS=$save_CPPFLAGS
98 dnl ------------------------------------------------------------------
99 # TODO: make this configurable through arguments
100 #Define whether you want to run with ALIROOT or only ROOT
101 AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
102 ALIHLT_USEPACKAGE=ALIROOT
103 #ALIHLT_USEPACKAGE=ROOT
104 #ALIHLT_USEPACKAGE=STANDALONE
105 AC_DEFINE(use_aliroot)
107 CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
108 save_CPPFLAGS=$CPPFLAGS
109 save_LDFLAGS=$LDFLAGS
112 dnl ------------------------------------------------------------------
113 dnl check for AliRoot features
116 AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation],
117 [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
120 if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
121 dnl ------------------------------------------------------------------
122 dnl Try to estimate the system architecture
123 case $host_os:$host_cpu in
124 linux*:x86_64*) alice_target='linuxx8664gcc' ;;
125 linux*) alice_target='linux' ;;
126 *) alice_target='unknown' ;;
128 if test "x$alice_target" = "xunknown" ; then
129 if test -z $ALICE_TARGET ; then
130 AC_MSG_ERROR([Can not estimate system architecture.
131 To avoid the problem, set the ALICE_TARGET variable appropriately.
132 Please send the following information to Matthias.Richter@ift.uib.no:
133 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
135 AC_MSG_NOTICE([Unknown system architecture.
136 Please send the following information to Matthias.Richter@ift.uib.no:
137 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
140 if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
141 AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
142 overriding $ALICE_TARGET by $alice_target])
144 ALICE_TARGET=$alice_target
146 ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
147 ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
148 ALIROOTINCDIR=${ALICE_ROOT}/include
149 test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
150 test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
151 test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
154 AC_MSG_CHECKING([for AliRoot])
155 if test "x$ALICE_ROOT" != "x" \
156 && test -d ${ALIROOTBINDIR} \
157 && test -d ${ALIROOTLIBDIR} \
158 && test -d ${ALIROOTINCDIR}; then
159 have_aliroot=$ALICE_ROOT
165 AC_MSG_RESULT([$have_aliroot])
167 if test ! "x$have_aliroot" = "xno" ; then
168 ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
169 ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
170 ALIROOT_LIBS="-lESD $ADD_ROOTLIBS"
171 save_CPPFLAGS=$CPPFLAGS
172 save_LDFLAGS=$LDFLAGS
174 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
175 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
177 # check for certain AliRoot libraries/files/features
178 # libSTEERBase present since Aug 7 2007
179 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
181 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
183 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
185 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
187 # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
189 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
191 AC_CHECK_LIB([$CHECKLIB],[_init],
192 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
193 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
195 AC_CHECK_LIB([$CHECKLIB],[_init],
196 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
197 have_alirawdata=$CHECKLIB])],
198 [# second pass with -RAWData
200 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
201 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
202 #include <AliRawReaderFile.h>
203 #include <AliRawReaderDate.h>
204 #include <AliRawReaderRoot.h>],
205 [AliRawReaderMemory mreader;
206 AliRawReaderFile freader;
207 AliRawReaderDate dreader(NULL,0);
208 AliRawReaderRoot rreader(NULL,0);])],
209 [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
210 have_alirawdata=$CHECKLIB],
211 [have_alirawdata=no])
212 ]) dnl AC_CHECK_LIB RAWDatabase
213 AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
214 AC_MSG_RESULT([$have_alirawdata])
216 # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
217 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
219 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
221 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
223 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
226 dnl check whether AliLog supports notification callback
228 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
229 have_alilog_notification=no
230 if test ! "x$have_aliroot" = "xno" ; then
231 AC_MSG_CHECKING([whether AliLog supports notification callback])
232 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
233 [AliLog::AliLogNotification fct])],
234 [have_alilog_notification=yes],
235 [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
236 AC_MSG_RESULT([$have_alilog_notification])
239 if test "x$have_aliroot" = "xno" ; then
240 # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
241 # but library dependencies might not be resolved completely
243 AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
244 This can happen from time to time due to development in AliRoot. You can
245 force compilation of detector libs by --enable-<detector>, but be aware
246 of unresolved references at runtime.])
247 AC_MSG_WARN([ ------------------------------------------ ])
248 AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
249 AC_MSG_WARN([ please include config.log ])
250 AC_MSG_WARN([ ------------------------------------------ ])
256 dnl ESD copy function added May 9 2008 rev 25667
259 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
264 [AC_DEFINE(HAVE_NOT_ESD_COPY)])
265 AC_MSG_CHECKING(for ESD assignment operator)
266 AC_MSG_RESULT([$have_esd_copy])
269 dnl required header files and libraries for modules
271 if test ! "x$have_aliroot" = "xno" ; then
272 # the HLTTPCLib needs to link agains TPCbase and TPCrec
273 # TPC library for AliTPCParam and AliSimDigits used in
274 # AliHLTTPCFileHandler.h and AliHLTTPCDisplay.cxx
275 # from May 07 TPCbase depends on libGui.so
276 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
278 AC_MSG_CHECKING(for required classes in TPC libraries)
279 if test ! "x$have_alitpc" = "xno" ; then
280 ALITPC_LIBS="-lGui -lTPCbase -lTPCrec"
281 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
282 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliSimDigits.h>
283 #include <AliTPCParam.h>
284 #include <AliTPCParamSR.h>
285 #include <AliTPCDigitsArray.h>
286 #include <AliTPCClustersArray.h>
287 #include <AliTPCcluster.h>
288 #include <AliTPCClustersRow.h>],
291 AliTPCParamSR paramsr;
292 AliTPCDigitsArray digarray;
293 AliTPCClustersArray clustarray;
295 AliTPCClustersRow row])],
296 [AC_DEFINE(HAVE_ALITPC)],
300 AC_MSG_RESULT([$have_alitpc])
302 have_tpc_load_clusters=no
303 AC_MSG_CHECKING(for on-line features of TPC offline tracker)
304 ALITPC_LIBS="-lGui -lTPCbase -lTPCrec"
305 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
306 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
307 #include <TObjArray.h>],
308 [AliTPCtrackerMI tracker;
309 TObjArray* array=NULL;
310 tracker.LoadClusters(array);])],
311 [have_tpc_load_clusters=yes],
312 [AC_DEFINE(HAVE_NOT_TPC_LOAD_CLUSTERS)])
313 AC_MSG_RESULT([$have_tpc_load_clusters])
316 AC_CHECK_HEADERS([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
317 AC_CHECK_HEADERS([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
320 if test ! "x$have_aliroot" = "xno" ; then
321 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
322 # which is stored in the TPC/mapping/Patchx.data files from
323 # AliRoot version v4-04-Release (May 2006)
324 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
325 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
326 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
327 [have_tpc_mapping=yes
328 AC_SUBST(TPC_PAD_MAPPING_PATH)
329 AC_DEFINE(HAVE_TPC_MAPPING)],
333 AC_MSG_CHECKING([for TPC mapping layout])
334 AC_MSG_RESULT([$have_tpc_mapping])
337 dnl Check for the interface of AliExternalTrackParam which has been changed
338 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
340 externaltrackparam_version=1
341 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
342 [AliExternalTrackParam trackparam;
343 Double_t param[[5]]; Double_t covar[[15]];
344 trackparam.Set(0., 0., param, covar);])],
345 [externaltrackparam_version=2],
346 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
347 AC_MSG_CHECKING(for version of AliExternalTrackParam)
348 AC_MSG_RESULT($externaltrackparam_version)
350 CPPFLAGS=$save_CPPFLAGS
351 LDFLAGS=$save_LDFLAGS
353 fi # if test ! "x$have_aliroot" = "xno"
356 AC_SUBST([ALICE_ROOT])
357 AC_SUBST([ALIROOT_CPPFLAGS])
358 AC_SUBST([ALIROOT_LDFLAGS])
359 AC_SUBST([ALIROOTBINDIR])
360 AC_SUBST([ALIROOTLIBDIR])
361 AC_SUBST([ALIROOT_LIBS])
362 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
364 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
366 AC_SUBST([HLTBASE_CPPFLAGS])
367 AC_SUBST([HLTBASE_LDFLAGS])
369 dnl ------------------------------------------------------------------
370 dnl check for the HLT PubSub Framework
371 dnl namely for the existence of the HOMER library
372 dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
373 dnl package. It os though possible to choose an external. library
374 dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
375 dnl got the name libAliHLTHOMER
376 AC_MSG_CHECKING([for HLT PubSub Framework])
377 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
379 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
380 if test -z $with_pubsub || ! test -d $with_pubsub ; then
383 AC_MSG_RESULT([$with_pubsub])
387 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
388 if test "x$with_pubsub" != "xno" ; then
389 save_CPPFLAGS=$CPPFLAGS
390 save_LDFLAGS=$LDFLAGS
392 # currently the different versions of the HLT PubSub framework have a different
394 if test -d ${with_pubsub}/include/HOMER ; then
395 # the 'early' location of the include files with separated HOMER sub dirs
396 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
397 elif test -d ${with_pubsub}/include/Util/HOMER ; then
398 # location for HLT Framework versions after Sep 2006
399 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
400 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
401 # fall back if include files were not installed (versions after Sep 06)
402 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
404 # fall back if include files were not installed (versions before Sep 06)
405 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
407 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
409 AC_ARG_ENABLE(pubsub-debug,
410 [AC_HELP_STRING([--disable-pubsub-debug],
411 [force the production version of the PubSub framework])],
412 [],[enable_pubsub_debug=yes])
414 HOMER_TARGET="`uname -s`-`uname -m`"
415 AC_MSG_CHECKING([for HLT PubSub Framework release type])
416 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
417 homer_type="production"
418 HOMER_TARGET="${HOMER_TARGET}-release"
419 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
421 HOMER_TARGET="${HOMER_TARGET}-debug"
423 AC_MSG_RESULT([${homer_type}])
424 HOMERREADER_HEADER=HOMERReader.h
425 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
426 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
427 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
428 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
429 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
433 AC_CHECK_HEADER([$HOMERREADER_HEADER],
434 [ AC_CHECK_LIB([HOMER],[_init],
436 HOMER_LIBS="-lHOMER"],
437 [ AC_CHECK_LIB([HOMERReader],[_init],
439 HOMER_LIBS="-lHOMERReader"])])
440 LIBS="$LIBS $HOMER_LIBS"
441 AC_MSG_CHECKING([version of HOMER library])
442 dnl The Homer library has no versioning, so we do our own
443 dnl version description
444 dnl ----------------------------------------------------------------------
445 dnl 1 inintial version
446 dnl 2 GetBlockStatusFlags added to the interface
447 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
448 [HOMERReader reader("dummy", 0);
449 reader.GetBlockStatusFlags(0);])],
452 AC_MSG_RESULT([$HOMER_VERSION])
454 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
458 dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
460 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
461 HOMERREADER_HEADER=AliHLTHOMERReader.h
462 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
468 if test "x$with_homer" = "xno" ; then
473 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
474 AC_DEFINE(HAVE_HOMERREADER)
476 CPPFLAGS="$save_CPPFLAGS"
477 LDFLAGS="$save_LDFLAGS"
480 AC_SUBST([HOMERREADER_HEADER])
481 AC_SUBST([HOMER_INBUILT_LIB])
482 AC_SUBST([HOMER_CPPFLAGS])
483 AC_SUBST([HOMER_LDFLAGS])
484 AC_SUBST([HOMER_LIBDIR])
485 AC_SUBST([HOMER_BINDIR])
486 AC_SUBST([HOMER_LIBS])
488 dnl ------------------------------------------------------------------
490 [AC_HELP_STRING([--disable-all],
491 [disable all detector modules, individual modules can be switched on by --enable-det])],
492 [disable_all=yes],[])
494 dnl ------------------------------------------------------------------
495 AC_MSG_CHECKING([whether to impose strict coding conventions])
496 AC_ARG_ENABLE(strict,
497 [AC_HELP_STRING([--disable-strict],
498 [disable coding convention checks ])],
499 [],[enable_strict=yes])
500 if test "x$enable_strict" = "xyes" ; then
501 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
503 AC_MSG_RESULT([$enable_strict])
505 dnl ------------------------------------------------------------------
506 AC_MSG_CHECKING([whether to compile sample library])
507 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
508 AC_ARG_ENABLE(sample,
509 [AC_HELP_STRING([--disable-sample],
510 [compile the sample library ])],
512 [if test "x$have_aliroot" = "xno" ; then
513 enable_sample="no...requires.AliRoot"
519 if test "x$enable_sample" = "xyes" ; then
520 AC_DEFINE(HLT_SAMPLE)
522 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
523 AC_MSG_RESULT([$enable_sample])
525 dnl ------------------------------------------------------------------
526 AC_MSG_CHECKING([whether to compile util library])
527 AH_TEMPLATE([HLT_UTIL],[HLT utility library])
529 [AC_HELP_STRING([--disable-util],
530 [compile the util library ])],
532 [if test "x$have_aliroot" = "xno" ; then
533 enable_util="no...requires.AliRoot"
539 if test "x$enable_util" = "xyes" ; then
542 AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
543 AC_MSG_RESULT([$enable_util])
545 dnl ------------------------------------------------------------------
546 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
548 CHECK_HLTMODULE([tpc],
550 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
551 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
552 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
553 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
555 if test "x$enable_module" = "xmissheader"; then
556 enable_module="no...missing.headers"
557 enable_tpc="no...missing.headers"
558 elif test "x$have_alitpc" = "xno" ; then
559 enable_module="no...requires.AliRoot.TPC.libraries"
560 enable_tpc="no...requires.AliRoot.TPC.libraries"
561 elif test "x$enable_module" = "xforce"; then
564 enable_tpc=$enable_module
567 if test "x$enable_tpc" = "xyes" ; then
570 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
571 AC_MSG_CHECKING([whether to compile TPC library])
572 AC_MSG_RESULT([$enable_module])
573 AC_SUBST([ALITPC_LIBS])
575 dnl ------------------------------------------------------------------
576 AH_TEMPLATE([HLT_RCU],[hlt rcu library])
578 CHECK_HLTMODULE([rcu],
580 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
581 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
582 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
583 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
585 if test "x$enable_module" = "xmissheader"; then
586 enable_module="no...missing.headers"
587 enable_rcu="no...missing.headers"
588 elif test "x$have_alircu" = "xno" ; then
589 enable_module="no...requires.AliRoot.RAW.libraries"
590 enable_rcu="no...requires.AliRoot.RAW.libraries"
591 elif test "x$enable_module" = "xforce"; then
595 save_CPPFLAGS=$CPPFLAGS
596 save_LDFLAGS=$LDFLAGS
598 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
599 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
600 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
601 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
602 [AliAltroDecoder decoder;
603 decoder.CopyBackward(NULL, 0);])],
604 [enable_rcu=$enable_module],
605 [enable_module="no...requires.AliRoot>v4-10-Release"
606 enable_rcu="no...requires.AliRoot>v4-10-Release"])
607 CPPFLAGS=$save_CPPFLAGS
608 LDFLAGS=$save_LDFLAGS
613 if test "x$enable_rcu" = "xyes" ; then
616 AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
617 AC_MSG_CHECKING([whether to compile RCU library])
618 AC_MSG_RESULT([$enable_module])
619 AC_SUBST([ALIRCU_LIBS])
621 dnl ------------------------------------------------------------------
622 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
625 CHECK_HLTMODULE([phos],
626 [], [$ALIROOT_CPPFLAGS],
627 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
628 [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
629 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
631 if test "x$enable_module" = "xmissheader"; then
632 enable_module="no...requires.AliRoot>v4-05-07"
633 enable_phos="no...requires.AliRoot>v4-05-07"
634 elif test "x$enable_module" = "xforce"; then
637 have_alicalorawstream=no
638 if test ! "x$have_aliroot" = "xno" ; then
640 save_CPPFLAGS="$CPPFLAGS"
641 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
642 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
643 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
644 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
645 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
646 #include <AliCaloRawStream.h>],
648 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
649 have_alicalorawstream=yes],
651 AC_MSG_RESULT([$have_alicalorawstream])
653 CPPFLAGS="$save_CPPFLAGS"
655 if test "x$have_alicalorawstream" != "xyes"; then
656 enable_phos="no...requires.AliRoot>v4-05-07"
658 enable_phos=$enable_module
662 if test "x$enable_phos" = "xyes" ; then
664 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
666 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
667 AC_MSG_CHECKING([whether to compile PHOS library])
668 AC_MSG_RESULT([$enable_module])
669 AC_SUBST([ALIPHOS_LIBS])
671 dnl ------------------------------------------------------------------
672 AH_TEMPLATE([HLT_TRD],[hlt trd library])
675 CHECK_HLTMODULE([trd],
677 [MLP], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
678 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
679 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
681 if test "x$enable_module" = "xmissheader"; then
682 enable_module="no...requires.AliRoot>v4-07-Release"
683 enable_trd="no...requires.AliRoot>v4-07-Release"
684 elif test "x$enable_module" = "xforce"; then
687 enable_trd=$enable_module
688 if test "x$enable_trd" = "xyes" ; then
690 save_CPPFLAGS="$CPPFLAGS"
691 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
692 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
693 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
694 [AliTRDclusterizer c;
695 c.SetRawVersion(0)])],
697 [enable_trd="no...requires.AliRoot>v4-07-Release"])
698 AC_MSG_RESULT([$enable_trd])
700 CPPFLAGS="$save_CPPFLAGS"
704 if test "x$enable_trd" = "xyes" ; then
706 ALITRD_LIBS=$ALIHLTMODULE_LIBS
708 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
709 AC_MSG_CHECKING([whether to compile TRD library])
710 AC_MSG_RESULT([$enable_module])
711 AC_SUBST([ALITRD_LIBS])
713 dnl ------------------------------------------------------------------
714 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
717 CHECK_HLTMODULE([dimuon],
718 [AliMpExMap.h AliMUONTriggerIO.h],
719 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
720 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
721 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
722 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
724 if test "x$enable_module" = "xmissheader"; then
725 enable_module="no...requires.AliRoot>=v4-08-Release"
726 enable_muon="no...requires.AliRoot>=v4-08-Release"
727 elif test "x$enable_module" = "xforce"; then
730 enable_muon=$enable_module
733 if test "x$enable_muon" = "xyes" ; then
735 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
737 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
738 AC_MSG_CHECKING([whether to compile MUON library])
739 AC_MSG_RESULT([$enable_module])
740 AC_SUBST([ALIMUON_LIBS])
742 dnl ------------------------------------------------------------------
743 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
746 CHECK_HLTMODULE([trigger],
747 [], [$ALIROOT_CPPFLAGS],
748 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
749 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
750 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
752 if test "x$enable_module" = "xmissheader"; then
753 enable_module="no...header.missing"
754 enable_trigger="no...header.missing"
755 elif test "x$enable_module" = "xforce"; then
758 enable_trigger=$enable_module
761 if test "x$enable_trigger" = "xyes" ; then
762 AC_DEFINE(HLT_TRIGGER)
763 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
765 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
766 AC_MSG_CHECKING([whether to compile Trigger library])
767 AC_MSG_RESULT([$enable_module])
768 AC_SUBST([ALITRIGGER_LIBS])
770 dnl ------------------------------------------------------------------
771 AH_TEMPLATE([HLT_ITS],[hlt its library])
774 CHECK_HLTMODULE([its],
775 [], [$ALIROOT_CPPFLAGS],
776 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
777 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
778 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
780 if test "x$enable_module" = "xmissheader"; then
781 enable_module="no...header.missing"
782 enable_its="no...header.missing"
783 elif test "x$enable_module" = "xforce"; then
786 enable_its=$enable_module
789 if test "x$enable_its" = "xyes" ; then
791 ALIITS_LIBS=$ALIHLTMODULE_LIBS
793 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
794 AC_MSG_CHECKING([whether to compile ITS library])
795 AC_MSG_RESULT([$enable_module])
796 AC_SUBST([ALIITS_LIBS])
798 dnl ------------------------------------------------------------------
799 AH_TEMPLATE([HLT_COMP],[hlt comp library])
802 CHECK_HLTMODULE([comp],
803 [], [$ALIROOT_CPPFLAGS],
804 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
805 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
806 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
808 if test "x$enable_module" = "xmissheader"; then
809 enable_module="no...header.missing"
810 enable_comp="no...header.missing"
811 elif test "x$enable_module" = "xforce"; then
814 enable_comp=$enable_module
817 if test "x$enable_comp" = "xyes" ; then
819 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
821 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
822 AC_MSG_CHECKING([whether to compile comp library])
823 AC_MSG_RESULT([$enable_module])
824 AC_SUBST([ALICOMP_LIBS])
826 dnl ------------------------------------------------------------------
827 AC_MSG_CHECKING([whether to disable AliRoot logging])
828 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
829 AC_ARG_ENABLE(aliroot-logging,
830 [AC_HELP_STRING([--disable-aliroot-logging],
831 [disable logging through AliRoot logging methods])],
832 [],[enable_aliroot_logging=no])
833 if test "x$have_aliroot" = "xno" ; then
834 enable_aliroot_logging=yes # this means 'disable'
836 if test "x$enable_aliroot_logging" != "xno" ; then
837 AC_DEFINE(NOALIROOT_LOGGING)
839 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
840 AC_MSG_RESULT([$enable_aliroot_logging])
842 dnl ------------------------------------------------------------------
843 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
844 AH_TEMPLATE([DOMC],[MC saving])
845 AC_ARG_ENABLE(mc-saving,
846 [AC_HELP_STRING([--enable-mc-saving],
847 [enable saving MC data through the chain])],
848 [],[enable_mc_saving=no])
849 if test "x$enable_mc_saving" = "xyes" ; then
852 AC_MSG_RESULT([$enable_mc_saving])
854 dnl ------------------------------------------------------------------
855 dnl certainly something old, but we keep the define
856 AC_MSG_CHECKING([whether to use ROWHOUGH])
857 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
858 AC_ARG_ENABLE(rowhough,
859 [AC_HELP_STRING([--enable-rowhough],
861 [],[enable_rowhough=no])
862 if test "x$enable_rowhough" = "xyes" ; then
863 AC_DEFINE(USEROWHOUGH)
865 AC_MSG_RESULT([$enable_rowhough])
867 dnl ------------------------------------------------------------------
868 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
869 dnl stand-alone build system. This is most likely something old we can
870 dnl get rid off later, or do something more reasonable. Since the define
871 dnl needs the quotes they have to be escaped. This works well for the
872 dnl Makefile but not for the configure script. So we have to add the
873 dnl defines after all the other checks.
874 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
875 if test ! "x$have_aliroot" = "xno" ; then
876 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
879 dnl ------------------------------------------------------------------
883 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
884 AC_PATH_PROG(PERL, perl)
885 AC_PATH_PROG(DOXYGEN, doxygen)
886 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
888 [AC_HELP_STRING([--enable-dot],
889 [enable dot documentation generator])],
893 AC_PATH_PROG(DOT, dot)
894 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
896 DOT_PATH=`dirname $DOT`
901 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
902 dnl echo $HAVE_SRC_SUBDIR
903 dnl if ! test -d $HAVE_SRC_SUBDIR; then
906 dnl AC_SUBST([HAVE_SRC_SUBDIR])
908 dnl ------------------------------------------------------------------
909 AC_MSG_NOTICE([---------------------------------------------- ])
910 AC_MSG_NOTICE([ build summary ])
911 AC_MSG_NOTICE([---------------------------------------------- ])
913 AC_CONFIG_FILES([Makefile
919 BASE/interface/Makefile
923 doc/doxymodule.conf])
925 dnl AliRoot and installation directory for libraries
927 AC_MSG_NOTICE([AliRoot: $have_aliroot])
928 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
929 if test "x$have_aliroot" != "xno"; then
930 AC_CONFIG_FILES([sim/Makefile
936 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
937 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
938 AC_MSG_NOTICE([libdir set to $libdir])
941 AC_MSG_NOTICE([compile sample library: $enable_sample])
942 if test "x$enable_sample" = "xyes"; then
943 AC_CONFIG_FILES([SampleLib/Makefile])
946 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
947 if test "x$enable_rcu" = "xyes"; then
948 AC_CONFIG_FILES([RCU/Makefile
953 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
954 if test "x$enable_tpc" = "xyes"; then
955 AC_CONFIG_FILES([TPCLib/Makefile
957 TPCLib/mapping2array.cxx
958 TPCLib/OnlineDisplay/Makefile
962 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
963 if test "x$enable_phos" = "xyes"; then
964 AC_CONFIG_FILES([PHOS/Makefile])
967 AC_MSG_NOTICE([compile TRD library: $enable_trd])
968 if test "x$enable_trd" = "xyes"; then
969 AC_CONFIG_FILES([TRD/Makefile])
972 AC_MSG_NOTICE([compile MUON library: $enable_muon])
973 if test "x$enable_muon" = "xyes"; then
974 AC_CONFIG_FILES([MUON/Makefile])
977 AC_MSG_NOTICE([compile ITS library: $enable_its])
978 if test "x$enable_its" = "xyes"; then
979 AC_CONFIG_FILES([ITS/Makefile])
982 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
983 if test "x$enable_trigger" = "xyes"; then
984 AC_CONFIG_FILES([trigger/Makefile])
987 AC_MSG_NOTICE([compile comp library: $enable_comp])
988 if test "x$enable_comp" = "xyes"; then
989 AC_CONFIG_FILES([comp/Makefile])