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>],
263 [AC_DEFINE(HAVE_ESD_COPY)
266 AC_MSG_CHECKING(for ESD assignment operator)
267 AC_MSG_RESULT([$have_esd_copy])
270 dnl required header files and libraries for modules
272 if test ! "x$have_aliroot" = "xno" ; then
273 # the HLTTPCLib needs to link agains TPCbase and TPCrec
274 # TPC library for AliTPCParam and AliSimDigits used in
275 # AliHLTTPCFileHandler.h and AliHLTTPCDisplay.cxx
276 # from May 07 TPCbase depends on libGui.so
277 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
279 AC_MSG_CHECKING(for required classes in TPC libraries)
280 if test ! "x$have_alitpc" = "xno" ; then
281 ALITPC_LIBS="-lGui -lTPCbase -lTPCrec"
282 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
283 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliSimDigits.h>
284 #include <AliTPCParam.h>
285 #include <AliTPCParamSR.h>
286 #include <AliTPCDigitsArray.h>
287 #include <AliTPCClustersArray.h>
288 #include <AliTPCcluster.h>
289 #include <AliTPCClustersRow.h>],
292 AliTPCParamSR paramsr;
293 AliTPCDigitsArray digarray;
294 AliTPCClustersArray clustarray;
296 AliTPCClustersRow row])],
297 [AC_DEFINE(HAVE_ALITPC)],
301 AC_MSG_RESULT([$have_alitpc])
303 AC_CHECK_HEADERS([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
304 AC_CHECK_HEADERS([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
307 if test ! "x$have_aliroot" = "xno" ; then
308 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
309 # which is stored in the TPC/mapping/Patchx.data files from
310 # AliRoot version v4-04-Release (May 2006)
311 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
312 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
313 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
314 [have_tpc_mapping=yes
315 AC_SUBST(TPC_PAD_MAPPING_PATH)
316 AC_DEFINE(HAVE_TPC_MAPPING)],
320 AC_MSG_CHECKING([for TPC mapping layout])
321 AC_MSG_RESULT([$have_tpc_mapping])
324 dnl Check for the interface of AliExternalTrackParam which has been changed
325 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
327 externaltrackparam_version=1
328 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
329 [AliExternalTrackParam trackparam;
330 Double_t param[[5]]; Double_t covar[[15]];
331 trackparam.Set(0., 0., param, covar);])],
332 [externaltrackparam_version=2],
333 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
334 AC_MSG_CHECKING(for version of AliExternalTrackParam)
335 AC_MSG_RESULT($externaltrackparam_version)
337 CPPFLAGS=$save_CPPFLAGS
338 LDFLAGS=$save_LDFLAGS
340 fi # if test ! "x$have_aliroot" = "xno"
343 AC_SUBST([ALICE_ROOT])
344 AC_SUBST([ALIROOT_CPPFLAGS])
345 AC_SUBST([ALIROOT_LDFLAGS])
346 AC_SUBST([ALIROOTBINDIR])
347 AC_SUBST([ALIROOTLIBDIR])
348 AC_SUBST([ALIROOT_LIBS])
349 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
351 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
353 AC_SUBST([HLTBASE_CPPFLAGS])
354 AC_SUBST([HLTBASE_LDFLAGS])
356 dnl ------------------------------------------------------------------
357 dnl check for the HLT PubSub Framework
358 dnl namely for the existence of the HOMER library
359 dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
360 dnl package. It os though possible to choose an external. library
361 dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
362 dnl got the name libAliHLTHOMER
363 AC_MSG_CHECKING([for HLT PubSub Framework])
364 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
366 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
367 if test -z $with_pubsub || ! test -d $with_pubsub ; then
370 AC_MSG_RESULT([$with_pubsub])
374 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
375 if test "x$with_pubsub" != "xno" ; then
376 save_CPPFLAGS=$CPPFLAGS
377 save_LDFLAGS=$LDFLAGS
379 # currently the different versions of the HLT PubSub framework have a different
381 if test -d ${with_pubsub}/include/HOMER ; then
382 # the 'early' location of the include files with separated HOMER sub dirs
383 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
384 elif test -d ${with_pubsub}/include/Util/HOMER ; then
385 # location for HLT Framework versions after Sep 2006
386 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
387 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
388 # fall back if include files were not installed (versions after Sep 06)
389 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
391 # fall back if include files were not installed (versions before Sep 06)
392 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
394 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
396 AC_ARG_ENABLE(pubsub-debug,
397 [AC_HELP_STRING([--disable-pubsub-debug],
398 [force the production version of the PubSub framework])],
399 [],[enable_pubsub_debug=yes])
401 HOMER_TARGET="`uname -s`-`uname -m`"
402 AC_MSG_CHECKING([for HLT PubSub Framework release type])
403 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
404 homer_type="production"
405 HOMER_TARGET="${HOMER_TARGET}-release"
406 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
408 HOMER_TARGET="${HOMER_TARGET}-debug"
410 AC_MSG_RESULT([${homer_type}])
411 HOMERREADER_HEADER=HOMERReader.h
412 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
413 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
414 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
415 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
416 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
420 AC_CHECK_HEADER([$HOMERREADER_HEADER],
421 [ AC_CHECK_LIB([HOMER],[_init],
423 HOMER_LIBS="-lHOMER"],
424 [ AC_CHECK_LIB([HOMERReader],[_init],
426 HOMER_LIBS="-lHOMERReader"])])
427 LIBS="$LIBS $HOMER_LIBS"
428 AC_MSG_CHECKING([version of HOMER library])
429 dnl The Homer library has no versioning, so we do our own
430 dnl version description
431 dnl ----------------------------------------------------------------------
432 dnl 1 inintial version
433 dnl 2 GetBlockStatusFlags added to the interface
434 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
435 [HOMERReader reader("dummy", 0);
436 reader.GetBlockStatusFlags(0);])],
439 AC_MSG_RESULT([$HOMER_VERSION])
441 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
445 dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
447 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
448 HOMERREADER_HEADER=AliHLTHOMERReader.h
449 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
455 if test "x$with_homer" = "xno" ; then
460 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
461 AC_DEFINE(HAVE_HOMERREADER)
463 CPPFLAGS="$save_CPPFLAGS"
464 LDFLAGS="$save_LDFLAGS"
467 AC_SUBST([HOMERREADER_HEADER])
468 AC_SUBST([HOMER_INBUILT_LIB])
469 AC_SUBST([HOMER_CPPFLAGS])
470 AC_SUBST([HOMER_LDFLAGS])
471 AC_SUBST([HOMER_LIBDIR])
472 AC_SUBST([HOMER_BINDIR])
473 AC_SUBST([HOMER_LIBS])
475 dnl ------------------------------------------------------------------
477 [AC_HELP_STRING([--disable-all],
478 [disable all detector modules, individual modules can be switched on by --enable-det])],
479 [disable_all=yes],[])
481 dnl ------------------------------------------------------------------
482 AC_MSG_CHECKING([whether to impose strict coding conventions])
483 AC_ARG_ENABLE(strict,
484 [AC_HELP_STRING([--disable-strict],
485 [disable coding convention checks ])],
486 [],[enable_strict=yes])
487 if test "x$enable_strict" = "xyes" ; then
488 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall"
490 AC_MSG_RESULT([$enable_strict])
492 dnl ------------------------------------------------------------------
493 AC_MSG_CHECKING([whether to compile sample library])
494 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
495 AC_ARG_ENABLE(sample,
496 [AC_HELP_STRING([--disable-sample],
497 [compile the sample library ])],
499 [if test "x$have_aliroot" = "xno" ; then
500 enable_sample="no...requires.AliRoot"
506 if test "x$enable_sample" = "xyes" ; then
507 AC_DEFINE(HLT_SAMPLE)
509 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
510 AC_MSG_RESULT([$enable_sample])
512 dnl ------------------------------------------------------------------
513 AC_MSG_CHECKING([whether to compile util library])
514 AH_TEMPLATE([HLT_UTIL],[HLT utility library])
516 [AC_HELP_STRING([--disable-util],
517 [compile the util library ])],
519 [if test "x$have_aliroot" = "xno" ; then
520 enable_util="no...requires.AliRoot"
526 if test "x$enable_util" = "xyes" ; then
529 AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
530 AC_MSG_RESULT([$enable_util])
532 dnl ------------------------------------------------------------------
533 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
535 CHECK_HLTMODULE([tpc],
537 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
538 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
539 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
540 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
542 if test "x$enable_module" = "xmissheader"; then
543 enable_module="no...missing.headers"
544 enable_tpc="no...missing.headers"
545 elif test "x$have_alitpc" = "xno" ; then
546 enable_module="no...requires.AliRoot.TPC.libraries"
547 enable_tpc="no...requires.AliRoot.TPC.libraries"
548 elif test "x$enable_module" = "xforce"; then
551 enable_tpc=$enable_module
554 if test "x$enable_tpc" = "xyes" ; then
557 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
558 AC_MSG_CHECKING([whether to compile TPC library])
559 AC_MSG_RESULT([$enable_module])
560 AC_SUBST([ALITPC_LIBS])
562 dnl ------------------------------------------------------------------
563 AH_TEMPLATE([HLT_RCU],[hlt rcu library])
565 CHECK_HLTMODULE([rcu],
567 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
568 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
569 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
570 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
572 if test "x$enable_module" = "xmissheader"; then
573 enable_module="no...missing.headers"
574 enable_rcu="no...missing.headers"
575 elif test "x$have_alircu" = "xno" ; then
576 enable_module="no...requires.AliRoot.RAW.libraries"
577 enable_rcu="no...requires.AliRoot.RAW.libraries"
578 elif test "x$enable_module" = "xforce"; then
582 save_CPPFLAGS=$CPPFLAGS
583 save_LDFLAGS=$LDFLAGS
585 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
586 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
587 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
588 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
589 [AliAltroDecoder decoder;
590 decoder.CopyBackward(NULL, 0);])],
591 [enable_rcu=$enable_module],
592 [enable_module="no...requires.AliRoot>v4-10-Release"
593 enable_rcu="no...requires.AliRoot>v4-10-Release"])
594 CPPFLAGS=$save_CPPFLAGS
595 LDFLAGS=$save_LDFLAGS
600 if test "x$enable_rcu" = "xyes" ; then
603 AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
604 AC_MSG_CHECKING([whether to compile RCU library])
605 AC_MSG_RESULT([$enable_module])
606 AC_SUBST([ALIRCU_LIBS])
608 dnl ------------------------------------------------------------------
609 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
612 CHECK_HLTMODULE([phos],
613 [], [$ALIROOT_CPPFLAGS],
614 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
615 [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
616 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
618 if test "x$enable_module" = "xmissheader"; then
619 enable_module="no...requires.AliRoot>v4-05-07"
620 enable_phos="no...requires.AliRoot>v4-05-07"
621 elif test "x$enable_module" = "xforce"; then
624 have_alicalorawstream=no
625 if test ! "x$have_aliroot" = "xno" ; then
627 save_CPPFLAGS="$CPPFLAGS"
628 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
629 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
630 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
631 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
632 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
633 #include <AliCaloRawStream.h>],
635 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
636 have_alicalorawstream=yes],
638 AC_MSG_RESULT([$have_alicalorawstream])
640 CPPFLAGS="$save_CPPFLAGS"
642 if test "x$have_alicalorawstream" != "xyes"; then
643 enable_phos="no...requires.AliRoot>v4-05-07"
645 enable_phos=$enable_module
649 if test "x$enable_phos" = "xyes" ; then
651 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
653 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
654 AC_MSG_CHECKING([whether to compile PHOS library])
655 AC_MSG_RESULT([$enable_module])
656 AC_SUBST([ALIPHOS_LIBS])
658 dnl ------------------------------------------------------------------
659 AH_TEMPLATE([HLT_TRD],[hlt trd library])
662 CHECK_HLTMODULE([trd],
664 [MLP], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
665 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
666 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
668 if test "x$enable_module" = "xmissheader"; then
669 enable_module="no...requires.AliRoot>v4-07-Release"
670 enable_trd="no...requires.AliRoot>v4-07-Release"
671 elif test "x$enable_module" = "xforce"; then
674 enable_trd=$enable_module
675 if test "x$enable_trd" = "xyes" ; then
677 save_CPPFLAGS="$CPPFLAGS"
678 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
679 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
680 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
681 [AliTRDclusterizer c;
682 c.SetRawVersion(0)])],
684 [enable_trd="no...requires.AliRoot>v4-07-Release"])
685 AC_MSG_RESULT([$enable_trd])
687 CPPFLAGS="$save_CPPFLAGS"
691 if test "x$enable_trd" = "xyes" ; then
693 ALITRD_LIBS=$ALIHLTMODULE_LIBS
695 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
696 AC_MSG_CHECKING([whether to compile TRD library])
697 AC_MSG_RESULT([$enable_module])
698 AC_SUBST([ALITRD_LIBS])
700 dnl ------------------------------------------------------------------
701 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
704 CHECK_HLTMODULE([dimuon],
705 [AliMpExMap.h AliMUONTriggerIO.h],
706 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
707 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
708 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
709 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
711 if test "x$enable_module" = "xmissheader"; then
712 enable_module="no...requires.AliRoot>=v4-08-Release"
713 enable_muon="no...requires.AliRoot>=v4-08-Release"
714 elif test "x$enable_module" = "xforce"; then
717 enable_muon=$enable_module
720 if test "x$enable_muon" = "xyes" ; then
722 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
724 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
725 AC_MSG_CHECKING([whether to compile MUON library])
726 AC_MSG_RESULT([$enable_module])
727 AC_SUBST([ALIMUON_LIBS])
729 dnl ------------------------------------------------------------------
730 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
733 CHECK_HLTMODULE([trigger],
734 [], [$ALIROOT_CPPFLAGS],
735 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
736 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
737 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
739 if test "x$enable_module" = "xmissheader"; then
740 enable_module="no...header.missing"
741 enable_trigger="no...header.missing"
742 elif test "x$enable_module" = "xforce"; then
745 enable_trigger=$enable_module
748 if test "x$enable_trigger" = "xyes" ; then
749 AC_DEFINE(HLT_TRIGGER)
750 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
752 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
753 AC_MSG_CHECKING([whether to compile Trigger library])
754 AC_MSG_RESULT([$enable_module])
755 AC_SUBST([ALITRIGGER_LIBS])
757 dnl ------------------------------------------------------------------
758 AH_TEMPLATE([HLT_ITS],[hlt its library])
761 CHECK_HLTMODULE([its],
762 [], [$ALIROOT_CPPFLAGS],
763 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
764 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
765 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
767 if test "x$enable_module" = "xmissheader"; then
768 enable_module="no...header.missing"
769 enable_its="no...header.missing"
770 elif test "x$enable_module" = "xforce"; then
773 enable_its=$enable_module
776 if test "x$enable_its" = "xyes" ; then
778 ALIITS_LIBS=$ALIHLTMODULE_LIBS
780 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
781 AC_MSG_CHECKING([whether to compile ITS library])
782 AC_MSG_RESULT([$enable_module])
783 AC_SUBST([ALIITS_LIBS])
785 dnl ------------------------------------------------------------------
786 AH_TEMPLATE([HLT_COMP],[hlt comp library])
789 CHECK_HLTMODULE([comp],
790 [], [$ALIROOT_CPPFLAGS],
791 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
792 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
793 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
795 if test "x$enable_module" = "xmissheader"; then
796 enable_module="no...header.missing"
797 enable_comp="no...header.missing"
798 elif test "x$enable_module" = "xforce"; then
801 enable_comp=$enable_module
804 if test "x$enable_comp" = "xyes" ; then
806 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
808 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
809 AC_MSG_CHECKING([whether to compile comp library])
810 AC_MSG_RESULT([$enable_module])
811 AC_SUBST([ALICOMP_LIBS])
813 dnl ------------------------------------------------------------------
814 AC_MSG_CHECKING([whether to disable AliRoot logging])
815 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
816 AC_ARG_ENABLE(aliroot-logging,
817 [AC_HELP_STRING([--disable-aliroot-logging],
818 [disable logging through AliRoot logging methods])],
819 [],[enable_aliroot_logging=no])
820 if test "x$have_aliroot" = "xno" ; then
821 enable_aliroot_logging=yes # this means 'disable'
823 if test "x$enable_aliroot_logging" != "xno" ; then
824 AC_DEFINE(NOALIROOT_LOGGING)
826 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
827 AC_MSG_RESULT([$enable_aliroot_logging])
829 dnl ------------------------------------------------------------------
830 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
831 AH_TEMPLATE([DOMC],[MC saving])
832 AC_ARG_ENABLE(mc-saving,
833 [AC_HELP_STRING([--enable-mc-saving],
834 [enable saving MC data through the chain])],
835 [],[enable_mc_saving=no])
836 if test "x$enable_mc_saving" = "xyes" ; then
839 AC_MSG_RESULT([$enable_mc_saving])
841 dnl ------------------------------------------------------------------
842 dnl certainly something old, but we keep the define
843 AC_MSG_CHECKING([whether to use ROWHOUGH])
844 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
845 AC_ARG_ENABLE(rowhough,
846 [AC_HELP_STRING([--enable-rowhough],
848 [],[enable_rowhough=no])
849 if test "x$enable_rowhough" = "xyes" ; then
850 AC_DEFINE(USEROWHOUGH)
852 AC_MSG_RESULT([$enable_rowhough])
854 dnl ------------------------------------------------------------------
855 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
856 dnl stand-alone build system. This is most likely something old we can
857 dnl get rid off later, or do something more reasonable. Since the define
858 dnl needs the quotes they have to be escaped. This works well for the
859 dnl Makefile but not for the configure script. So we have to add the
860 dnl defines after all the other checks.
861 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
862 if test ! "x$have_aliroot" = "xno" ; then
863 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
866 dnl ------------------------------------------------------------------
870 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
871 AC_PATH_PROG(PERL, perl)
872 AC_PATH_PROG(DOXYGEN, doxygen)
873 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
875 [AC_HELP_STRING([--enable-dot],
876 [enable dot documentation generator])],
880 AC_PATH_PROG(DOT, dot)
881 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
883 DOT_PATH=`dirname $DOT`
888 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
889 dnl echo $HAVE_SRC_SUBDIR
890 dnl if ! test -d $HAVE_SRC_SUBDIR; then
893 dnl AC_SUBST([HAVE_SRC_SUBDIR])
895 dnl ------------------------------------------------------------------
896 AC_MSG_NOTICE([---------------------------------------------- ])
897 AC_MSG_NOTICE([ build summary ])
898 AC_MSG_NOTICE([---------------------------------------------- ])
900 AC_CONFIG_FILES([Makefile
906 BASE/interface/Makefile
910 doc/doxymodule.conf])
912 dnl AliRoot and installation directory for libraries
914 AC_MSG_NOTICE([AliRoot: $have_aliroot])
915 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
916 if test "x$have_aliroot" != "xno"; then
917 AC_CONFIG_FILES([sim/Makefile
923 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
924 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
925 AC_MSG_NOTICE([libdir set to $libdir])
928 AC_MSG_NOTICE([compile sample library: $enable_sample])
929 if test "x$enable_sample" = "xyes"; then
930 AC_CONFIG_FILES([SampleLib/Makefile])
933 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
934 if test "x$enable_rcu" = "xyes"; then
935 AC_CONFIG_FILES([RCU/Makefile
940 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
941 if test "x$enable_tpc" = "xyes"; then
942 AC_CONFIG_FILES([TPCLib/Makefile
944 TPCLib/mapping2array.cxx
945 TPCLib/OnlineDisplay/Makefile
949 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
950 if test "x$enable_phos" = "xyes"; then
951 AC_CONFIG_FILES([PHOS/Makefile])
954 AC_MSG_NOTICE([compile TRD library: $enable_trd])
955 if test "x$enable_trd" = "xyes"; then
956 AC_CONFIG_FILES([TRD/Makefile])
959 AC_MSG_NOTICE([compile MUON library: $enable_muon])
960 if test "x$enable_muon" = "xyes"; then
961 AC_CONFIG_FILES([MUON/Makefile])
964 AC_MSG_NOTICE([compile ITS library: $enable_its])
965 if test "x$enable_its" = "xyes"; then
966 AC_CONFIG_FILES([ITS/Makefile])
969 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
970 if test "x$enable_trigger" = "xyes"; then
971 AC_CONFIG_FILES([trigger/Makefile])
974 AC_MSG_NOTICE([compile comp library: $enable_comp])
975 if test "x$enable_comp" = "xyes"; then
976 AC_CONFIG_FILES([comp/Makefile])