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 required header files and libraries for modules
258 if test ! "x$have_aliroot" = "xno" ; then
259 # the HLTTPCLib needs to link agains TPCbase and TPCrec
260 # TPC library for AliTPCParam and AliSimDigits used in
261 # AliHLTTPCFileHandler.h and AliHLTTPCDisplay.cxx
262 # from May 07 TPCbase depends on libGui.so
263 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
265 AC_MSG_CHECKING(for required classes in TPC libraries)
266 if test ! "x$have_alitpc" = "xno" ; then
267 ALITPC_LIBS="-lGui -lTPCbase -lTPCrec"
268 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
269 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliSimDigits.h>
270 #include <AliTPCParam.h>
271 #include <AliTPCParamSR.h>
272 #include <AliTPCDigitsArray.h>
273 #include <AliTPCClustersArray.h>
274 #include <AliTPCcluster.h>
275 #include <AliTPCClustersRow.h>],
278 AliTPCParamSR paramsr;
279 AliTPCDigitsArray digarray;
280 AliTPCClustersArray clustarray;
282 AliTPCClustersRow row])],
283 [AC_DEFINE(HAVE_ALITPC)],
287 AC_MSG_RESULT($have_alitpc)
289 AC_CHECK_HEADERS([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
290 AC_CHECK_HEADERS([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
293 if test ! "x$have_aliroot" = "xno" ; then
294 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
295 # which is stored in the TPC/mapping/Patchx.data files from
296 # AliRoot version v4-04-Release (May 2006)
297 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
298 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
299 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
300 [have_tpc_mapping=yes
301 AC_SUBST(TPC_PAD_MAPPING_PATH)
302 AC_DEFINE(HAVE_TPC_MAPPING)],
306 AC_MSG_CHECKING([for TPC mapping layout])
307 AC_MSG_RESULT([$have_tpc_mapping])
310 dnl Check for the interface of AliExternalTrackParam which has been changed
311 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
313 externaltrackparam_version=1
314 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
315 [AliExternalTrackParam trackparam;
316 Double_t param[[5]]; Double_t covar[[15]];
317 trackparam.Set(0., 0., param, covar);])],
318 [externaltrackparam_version=2],
319 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
320 AC_MSG_CHECKING(for version of AliExternalTrackParam)
321 AC_MSG_RESULT($externaltrackparam_version)
323 CPPFLAGS=$save_CPPFLAGS
324 LDFLAGS=$save_LDFLAGS
326 fi # if test ! "x$have_aliroot" = "xno"
329 AC_SUBST([ALICE_ROOT])
330 AC_SUBST([ALIROOT_CPPFLAGS])
331 AC_SUBST([ALIROOT_LDFLAGS])
332 AC_SUBST([ALIROOTBINDIR])
333 AC_SUBST([ALIROOTLIBDIR])
334 AC_SUBST([ALIROOT_LIBS])
335 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
337 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
339 AC_SUBST([HLTBASE_CPPFLAGS])
340 AC_SUBST([HLTBASE_LDFLAGS])
342 dnl ------------------------------------------------------------------
343 dnl check for the HLT PubSub Framework
344 dnl namely for the existence of the HOMER library
345 dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
346 dnl package. It os though possible to choose an external. library
347 dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
348 dnl got the name libAliHLTHOMER
349 AC_MSG_CHECKING([for HLT PubSub Framework])
350 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
352 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
353 if test -z $with_pubsub || ! test -d $with_pubsub ; then
356 AC_MSG_RESULT([$with_pubsub])
360 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
361 if test "x$with_pubsub" != "xno" ; then
362 save_CPPFLAGS=$CPPFLAGS
363 save_LDFLAGS=$LDFLAGS
365 # currently the different versions of the HLT PubSub framework have a different
367 if test -d ${with_pubsub}/include/HOMER ; then
368 # the 'early' location of the include files with separated HOMER sub dirs
369 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
370 elif test -d ${with_pubsub}/include/Util/HOMER ; then
371 # location for HLT Framework versions after Sep 2006
372 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
373 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
374 # fall back if include files were not installed (versions after Sep 06)
375 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
377 # fall back if include files were not installed (versions before Sep 06)
378 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
380 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
382 AC_ARG_ENABLE(pubsub-debug,
383 [AC_HELP_STRING([--disable-pubsub-debug],
384 [force the production version of the PubSub framework])],
385 [],[enable_pubsub_debug=yes])
387 HOMER_TARGET="`uname -s`-`uname -m`"
388 AC_MSG_CHECKING([for HLT PubSub Framework release type])
389 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
390 homer_type="production"
391 HOMER_TARGET="${HOMER_TARGET}-release"
392 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
394 HOMER_TARGET="${HOMER_TARGET}-debug"
396 AC_MSG_RESULT([${homer_type}])
397 HOMERREADER_HEADER=HOMERReader.h
398 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
399 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
400 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
401 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
402 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
406 AC_CHECK_HEADER([$HOMERREADER_HEADER],
407 [ AC_CHECK_LIB([HOMER],[_init],
409 HOMER_LIBS="-lHOMER"],
410 [ AC_CHECK_LIB([HOMERReader],[_init],
412 HOMER_LIBS="-lHOMERReader"])])
413 LIBS="$LIBS $HOMER_LIBS"
414 AC_MSG_CHECKING([version of HOMER library])
415 dnl The Homer library has no versioning, so we do our own
416 dnl version description
417 dnl ----------------------------------------------------------------------
418 dnl 1 inintial version
419 dnl 2 GetBlockStatusFlags added to the interface
420 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
421 [HOMERReader reader("dummy", 0);
422 reader.GetBlockStatusFlags(0);])],
425 AC_MSG_RESULT([$HOMER_VERSION])
427 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
431 dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
433 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
434 HOMERREADER_HEADER=AliHLTHOMERReader.h
435 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
441 if test "x$with_homer" = "xno" ; then
446 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
447 AC_DEFINE(HAVE_HOMERREADER)
449 CPPFLAGS="$save_CPPFLAGS"
450 LDFLAGS="$save_LDFLAGS"
453 AC_SUBST([HOMERREADER_HEADER])
454 AC_SUBST([HOMER_INBUILT_LIB])
455 AC_SUBST([HOMER_CPPFLAGS])
456 AC_SUBST([HOMER_LDFLAGS])
457 AC_SUBST([HOMER_LIBDIR])
458 AC_SUBST([HOMER_BINDIR])
459 AC_SUBST([HOMER_LIBS])
461 dnl ------------------------------------------------------------------
463 [AC_HELP_STRING([--disable-all],
464 [disable all detector modules, individual modules can be switched on by --enable-det])],
465 [disable_all=yes],[])
467 dnl ------------------------------------------------------------------
468 AC_MSG_CHECKING([whether to impose strict coding conventions])
469 AC_ARG_ENABLE(strict,
470 [AC_HELP_STRING([--disable-strict],
471 [disable coding convention checks ])],
472 [],[enable_strict=yes])
473 if test "x$enable_strict" = "xyes" ; then
474 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall"
476 AC_MSG_RESULT([$enable_strict])
478 dnl ------------------------------------------------------------------
479 AC_MSG_CHECKING([whether to compile sample library])
480 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
481 AC_ARG_ENABLE(sample,
482 [AC_HELP_STRING([--disable-sample],
483 [compile the sample library ])],
485 [if test "x$have_aliroot" = "xno" ; then
486 enable_sample="no...requires.AliRoot"
492 if test "x$enable_sample" = "xyes" ; then
493 AC_DEFINE(HLT_SAMPLE)
495 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
496 AC_MSG_RESULT([$enable_sample])
498 dnl ------------------------------------------------------------------
499 AC_MSG_CHECKING([whether to compile util library])
500 AH_TEMPLATE([HLT_UTIL],[HLT utility library])
502 [AC_HELP_STRING([--disable-util],
503 [compile the util library ])],
505 [if test "x$have_aliroot" = "xno" ; then
506 enable_util="no...requires.AliRoot"
512 if test "x$enable_util" = "xyes" ; then
515 AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
516 AC_MSG_RESULT([$enable_util])
518 dnl ------------------------------------------------------------------
519 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
521 CHECK_HLTMODULE([tpc],
523 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
524 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
525 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
526 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
528 if test "x$enable_module" = "xmissheader"; then
529 enable_module="no...missing.headers"
530 enable_tpc="no...missing.headers"
531 elif test "x$have_alitpc" = "xno" ; then
532 enable_module="no...requires.AliRoot.TPC.libraries"
533 enable_tpc="no...requires.AliRoot.TPC.libraries"
534 elif test "x$enable_module" = "xforce"; then
537 enable_tpc=$enable_module
540 if test "x$enable_tpc" = "xyes" ; then
543 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
544 AC_MSG_CHECKING([whether to compile TPC library])
545 AC_MSG_RESULT([$enable_module])
546 AC_SUBST([ALITPC_LIBS])
548 dnl ------------------------------------------------------------------
549 AH_TEMPLATE([HLT_RCU],[hlt rcu library])
551 CHECK_HLTMODULE([rcu],
553 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
554 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
555 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
556 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
558 if test "x$enable_module" = "xmissheader"; then
559 enable_module="no...missing.headers"
560 enable_rcu="no...missing.headers"
561 elif test "x$have_alircu" = "xno" ; then
562 enable_module="no...requires.AliRoot.RAW.libraries"
563 enable_rcu="no...requires.AliRoot.RAW.libraries"
564 elif test "x$enable_module" = "xforce"; then
568 save_CPPFLAGS=$CPPFLAGS
569 save_LDFLAGS=$LDFLAGS
571 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
572 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
573 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
574 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
575 [AliAltroDecoder decoder;
576 decoder.CopyBackward(NULL, 0);])],
577 [enable_rcu=$enable_module],
578 [enable_module="no...requires.AliRoot>v4-10-Release"
579 enable_rcu="no...requires.AliRoot>v4-10-Release"])
580 CPPFLAGS=$save_CPPFLAGS
581 LDFLAGS=$save_LDFLAGS
586 if test "x$enable_rcu" = "xyes" ; then
589 AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
590 AC_MSG_CHECKING([whether to compile RCU library])
591 AC_MSG_RESULT([$enable_module])
592 AC_SUBST([ALIRCU_LIBS])
594 dnl ------------------------------------------------------------------
595 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
598 CHECK_HLTMODULE([phos],
599 [], [$ALIROOT_CPPFLAGS],
600 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
601 [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
602 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
604 if test "x$enable_module" = "xmissheader"; then
605 enable_module="no...requires.AliRoot>v4-05-07"
606 enable_phos="no...requires.AliRoot>v4-05-07"
607 elif test "x$enable_module" = "xforce"; then
610 have_alicalorawstream=no
611 if test ! "x$have_aliroot" = "xno" ; then
613 save_CPPFLAGS="$CPPFLAGS"
614 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
615 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
616 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
617 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
618 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
619 #include <AliCaloRawStream.h>],
621 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
622 have_alicalorawstream=yes],
624 AC_MSG_RESULT([$have_alicalorawstream])
626 CPPFLAGS="$save_CPPFLAGS"
628 if test "x$have_alicalorawstream" != "xyes"; then
629 enable_phos="no...requires.AliRoot>v4-05-07"
631 enable_phos=$enable_module
635 if test "x$enable_phos" = "xyes" ; then
637 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
639 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
640 AC_MSG_CHECKING([whether to compile PHOS library])
641 AC_MSG_RESULT([$enable_module])
642 AC_SUBST([ALIPHOS_LIBS])
644 dnl ------------------------------------------------------------------
645 AH_TEMPLATE([HLT_TRD],[hlt trd library])
648 CHECK_HLTMODULE([trd],
650 [MLP], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
651 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
652 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
654 if test "x$enable_module" = "xmissheader"; then
655 enable_module="no...requires.AliRoot>v4-07-Release"
656 enable_trd="no...requires.AliRoot>v4-07-Release"
657 elif test "x$enable_module" = "xforce"; then
660 enable_trd=$enable_module
661 if test "x$enable_trd" = "xyes" ; then
663 save_CPPFLAGS="$CPPFLAGS"
664 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
665 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
666 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
667 [AliTRDclusterizer c;
668 c.SetRawVersion(0)])],
670 [enable_trd="no...requires.AliRoot>v4-07-Release"])
671 AC_MSG_RESULT([$enable_trd])
673 CPPFLAGS="$save_CPPFLAGS"
677 if test "x$enable_trd" = "xyes" ; then
679 ALITRD_LIBS=$ALIHLTMODULE_LIBS
681 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
682 AC_MSG_CHECKING([whether to compile TRD library])
683 AC_MSG_RESULT([$enable_module])
684 AC_SUBST([ALITRD_LIBS])
686 dnl ------------------------------------------------------------------
687 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
690 CHECK_HLTMODULE([dimuon],
691 [AliMpExMap.h AliMUONTriggerIO.h],
692 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
693 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
694 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
695 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
697 if test "x$enable_module" = "xmissheader"; then
698 enable_module="no...requires.AliRoot>=v4-08-Release"
699 enable_muon="no...requires.AliRoot>=v4-08-Release"
700 elif test "x$enable_module" = "xforce"; then
703 enable_muon=$enable_module
706 if test "x$enable_muon" = "xyes" ; then
708 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
710 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
711 AC_MSG_CHECKING([whether to compile MUON library])
712 AC_MSG_RESULT([$enable_module])
713 AC_SUBST([ALIMUON_LIBS])
715 dnl ------------------------------------------------------------------
716 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
719 CHECK_HLTMODULE([trigger],
720 [], [$ALIROOT_CPPFLAGS],
721 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
722 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
723 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
725 if test "x$enable_module" = "xmissheader"; then
726 enable_module="no...header.missing"
727 enable_trigger="no...header.missing"
728 elif test "x$enable_module" = "xforce"; then
731 enable_trigger=$enable_module
734 if test "x$enable_trigger" = "xyes" ; then
735 AC_DEFINE(HLT_TRIGGER)
736 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
738 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
739 AC_MSG_CHECKING([whether to compile Trigger library])
740 AC_MSG_RESULT([$enable_module])
741 AC_SUBST([ALITRIGGER_LIBS])
743 dnl ------------------------------------------------------------------
744 AH_TEMPLATE([HLT_ITS],[hlt its library])
747 CHECK_HLTMODULE([its],
748 [], [$ALIROOT_CPPFLAGS],
749 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
750 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
751 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
753 if test "x$enable_module" = "xmissheader"; then
754 enable_module="no...header.missing"
755 enable_its="no...header.missing"
756 elif test "x$enable_module" = "xforce"; then
759 enable_its=$enable_module
762 if test "x$enable_its" = "xyes" ; then
764 ALIITS_LIBS=$ALIHLTMODULE_LIBS
766 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
767 AC_MSG_CHECKING([whether to compile ITS library])
768 AC_MSG_RESULT([$enable_module])
769 AC_SUBST([ALIITS_LIBS])
771 dnl ------------------------------------------------------------------
772 AH_TEMPLATE([HLT_COMP],[hlt comp library])
775 CHECK_HLTMODULE([comp],
776 [], [$ALIROOT_CPPFLAGS],
777 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
778 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
779 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
781 if test "x$enable_module" = "xmissheader"; then
782 enable_module="no...header.missing"
783 enable_comp="no...header.missing"
784 elif test "x$enable_module" = "xforce"; then
787 enable_comp=$enable_module
790 if test "x$enable_comp" = "xyes" ; then
792 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
794 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
795 AC_MSG_CHECKING([whether to compile comp library])
796 AC_MSG_RESULT([$enable_module])
797 AC_SUBST([ALICOMP_LIBS])
799 dnl ------------------------------------------------------------------
800 AC_MSG_CHECKING([whether to disable AliRoot logging])
801 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
802 AC_ARG_ENABLE(aliroot-logging,
803 [AC_HELP_STRING([--disable-aliroot-logging],
804 [disable logging through AliRoot logging methods])],
805 [],[enable_aliroot_logging=no])
806 if test "x$have_aliroot" = "xno" ; then
807 enable_aliroot_logging=yes # this means 'disable'
809 if test "x$enable_aliroot_logging" != "xno" ; then
810 AC_DEFINE(NOALIROOT_LOGGING)
812 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
813 AC_MSG_RESULT([$enable_aliroot_logging])
815 dnl ------------------------------------------------------------------
816 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
817 AH_TEMPLATE([DOMC],[MC saving])
818 AC_ARG_ENABLE(mc-saving,
819 [AC_HELP_STRING([--enable-mc-saving],
820 [enable saving MC data through the chain])],
821 [],[enable_mc_saving=no])
822 if test "x$enable_mc_saving" = "xyes" ; then
825 AC_MSG_RESULT([$enable_mc_saving])
827 dnl ------------------------------------------------------------------
828 dnl certainly something old, but we keep the define
829 AC_MSG_CHECKING([whether to use ROWHOUGH])
830 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
831 AC_ARG_ENABLE(rowhough,
832 [AC_HELP_STRING([--enable-rowhough],
834 [],[enable_rowhough=no])
835 if test "x$enable_rowhough" = "xyes" ; then
836 AC_DEFINE(USEROWHOUGH)
838 AC_MSG_RESULT([$enable_rowhough])
840 dnl ------------------------------------------------------------------
841 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
842 dnl stand-alone build system. This is most likely something old we can
843 dnl get rid off later, or do something more reasonable. Since the define
844 dnl needs the quotes they have to be escaped. This works well for the
845 dnl Makefile but not for the configure script. So we have to add the
846 dnl defines after all the other checks.
847 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
848 if test ! "x$have_aliroot" = "xno" ; then
849 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
852 dnl ------------------------------------------------------------------
856 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
857 AC_PATH_PROG(PERL, perl)
858 AC_PATH_PROG(DOXYGEN, doxygen)
859 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
861 [AC_HELP_STRING([--enable-dot],
862 [enable dot documentation generator])],
866 AC_PATH_PROG(DOT, dot)
867 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
869 DOT_PATH=`dirname $DOT`
874 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
875 dnl echo $HAVE_SRC_SUBDIR
876 dnl if ! test -d $HAVE_SRC_SUBDIR; then
879 dnl AC_SUBST([HAVE_SRC_SUBDIR])
881 dnl ------------------------------------------------------------------
882 AC_MSG_NOTICE([---------------------------------------------- ])
883 AC_MSG_NOTICE([ build summary ])
884 AC_MSG_NOTICE([---------------------------------------------- ])
886 AC_CONFIG_FILES([Makefile
892 BASE/interface/Makefile
896 doc/doxymodule.conf])
898 dnl AliRoot and installation directory for libraries
900 AC_MSG_NOTICE([AliRoot: $have_aliroot])
901 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
902 if test "x$have_aliroot" != "xno"; then
903 AC_CONFIG_FILES([sim/Makefile
909 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
910 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
911 AC_MSG_NOTICE([libdir set to $libdir])
914 AC_MSG_NOTICE([compile sample library: $enable_sample])
915 if test "x$enable_sample" = "xyes"; then
916 AC_CONFIG_FILES([SampleLib/Makefile])
919 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
920 if test "x$enable_rcu" = "xyes"; then
921 AC_CONFIG_FILES([RCU/Makefile
926 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
927 if test "x$enable_tpc" = "xyes"; then
928 AC_CONFIG_FILES([TPCLib/Makefile
930 TPCLib/mapping2array.cxx
931 TPCLib/OnlineDisplay/Makefile
935 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
936 if test "x$enable_phos" = "xyes"; then
937 AC_CONFIG_FILES([PHOS/Makefile])
940 AC_MSG_NOTICE([compile TRD library: $enable_trd])
941 if test "x$enable_trd" = "xyes"; then
942 AC_CONFIG_FILES([TRD/Makefile])
945 AC_MSG_NOTICE([compile MUON library: $enable_muon])
946 if test "x$enable_muon" = "xyes"; then
947 AC_CONFIG_FILES([MUON/Makefile])
950 AC_MSG_NOTICE([compile ITS library: $enable_its])
951 if test "x$enable_its" = "xyes"; then
952 AC_CONFIG_FILES([ITS/Makefile])
955 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
956 if test "x$enable_trigger" = "xyes"; then
957 AC_CONFIG_FILES([trigger/Makefile])
960 AC_MSG_NOTICE([compile comp library: $enable_comp])
961 if test "x$enable_comp" = "xyes"; then
962 AC_CONFIG_FILES([comp/Makefile])