]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HLT/configure.ac
Modification in constructor
[u/mrichter/AliRoot.git] / HLT / configure.ac
... / ...
CommitLineData
1dnl -*- mode: autoconf -*-
2dnl
3dnl $Id$
4dnl template for the configuration script for the Alice HLT
5dnl framework and components
6dnl
7dnl ------------------------------------------------------------------
8
9dnl Take either the AliRoot tag as version id or the current revision
10AC_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 \
16 cat .revision; \
17 else \
18 echo -n invalid-version; \
19 fi]),
20 [Matthias.Richter@ift.uib.no],
21 [alice-hlt])
22
23dnl ------------------------------------------------------------------
24dnl the package from CVS contains the old Makefiles as well. In order to
25dnl prevent them from becoming overwritten, we require a separate build
26dnl directory
27if test "`dirname $0`" = "." ; then
28 AC_ERROR([please run the script from a separate build directory])
29fi
30
31dnl ------------------------------------------------------------------
32AC_CANONICAL_SYSTEM
33AC_PREFIX_DEFAULT(${PWD})
34AC_CONFIG_SRCDIR(BASE/AliHLTComponent.cxx)
35AM_INIT_AUTOMAKE([-Wno-portability])
36AC_PROG_CC
37AC_PROG_CXX
38AC_PROG_LIBTOOL
39
40AC_DEBUG
41AC_PROFILING
42AC_OPTIMIZATION
43AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
44
45dnl ------------------------------------------------------------------
46dnl A warning posted into the auto-generated files
47dnl Does NOT concern this file ;-)
48AUTOGENERATED_WARNING="!!!!!!! DO NOT EDIT THIS FILE !!!!!!"
49AC_SUBST([AUTOGENERATED_WARNING])
50
51dnl ------------------------------------------------------------------
52dnl
53dnl Check for ROOT
54dnl
55ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
56AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
57AC_SUBST([ROOTSYS])
58ROOTBINDIR=`dirname $ROOTEXEC`
59AC_SUBST([ROOTBINDIR])
60
61dnl test for additional required root libraries and headers
62LIBS='-ldl'
63if test "x$have_root" = "x1"; then
64 AC_LANG_PUSH(C++)
65 save_CPPFLAGS=$CPPFLAGS
66 save_LDFLAGS=$LDFLAGS
67 save_LIBS=$LIBS
68 CPPFLAGS=`echo $save_CPPFLAGS; for i in ${ROOTINCDIR}; do echo -n "-I$i " ; done`
69
70 # we check for the libSTEER library which is linked to
71 # - the ROOT libs libGeom libMinuit libVMC libEG
72 # - the AliRoot libESD libRAWData (libRAWDatarec from v4-04-Rev-07)
73 # - ROOT libCint needs also libdl
74 # - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires
75 # libTreePlayer.so
76 # - from Jan 07 libESD also depends on libXMLIO
77 # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
78 # - libCDB.so depends on libXMLParser since Mar 11 2009 r 31411
79 # - libCDB.so depends on libGui.so since May 14 2010 r 41238
80 ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer XMLParser Gui'
81 for CHECKLIB in $ROOT_CHECKLIBS ; do
82 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
83 LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
84 AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
85 done
86
87 # TBuffer.h has been made pure virtual in root v5-15-02 and one
88 # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
89 AC_CHECK_HEADER([TBufferFile.h], [], [HAVE_NOT_TBUFFERFILE])
90
91 # TView.h has been made pure virtual right after root v5-15-02 and one
92 # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
93 AC_CHECK_HEADER([TView3D.h], [], [HAVE_NOT_TVIEW3D])
94
95 CPPFLAGS=$save_CPPFLAGS
96 LDFLAGS=$save_LDFLAGS
97 LIBS=$save_LIBS
98 AC_LANG_POP(C++)
99fi
100
101dnl ------------------------------------------------------------------
102# TODO: make this configurable through arguments
103#Define whether you want to run with ALIROOT or only ROOT
104AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
105ALIHLT_USEPACKAGE=ALIROOT
106#ALIHLT_USEPACKAGE=ROOT
107#ALIHLT_USEPACKAGE=STANDALONE
108AC_DEFINE(use_aliroot)
109AC_DEFINE(use_root)
110CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
111save_CPPFLAGS=$CPPFLAGS
112save_LDFLAGS=$LDFLAGS
113save_LIBS=$LIBS
114
115dnl ------------------------------------------------------------------
116dnl check for AliRoot features
117AC_LANG_PUSH(C++)
118have_aliroot=no
119AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation],
120 [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
121 [])
122
123if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
124 dnl ------------------------------------------------------------------
125 dnl Try to estimate the system architecture
126 case $host_os:$host_cpu in
127 linux*:x86_64*) alice_target='linuxx8664gcc' ;;
128 linux*) alice_target='linux' ;;
129 *) alice_target='unknown' ;;
130 esac
131 if test "x$alice_target" = "xunknown" ; then
132 if test -z $ALICE_TARGET ; then
133 AC_MSG_ERROR([Can not estimate system architecture.
134 To avoid the problem, set the ALICE_TARGET variable appropriately.
135 Please send the following information to Matthias.Richter@ift.uib.no:
136 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
137 else
138 AC_MSG_NOTICE([Unknown system architecture.
139 Please send the following information to Matthias.Richter@ift.uib.no:
140 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
141 fi
142 else
143 if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
144 AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
145 overriding $ALICE_TARGET by $alice_target])
146 fi
147 ALICE_TARGET=$alice_target
148 fi
149 ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
150 ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
151 ALIROOTINCDIR=${ALICE_ROOT}/include
152 test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
153 test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
154 test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
155fi
156
157AC_MSG_CHECKING([for AliRoot])
158if test "x$ALICE_ROOT" != "x" \
159 && test -d ${ALIROOTBINDIR} \
160 && test -d ${ALIROOTLIBDIR} \
161 && test -d ${ALIROOTINCDIR}; then
162 have_aliroot=$ALICE_ROOT
163else
164 ALIROOTBINDIR=
165 ALIROOTLIBDIR=
166 ALIROOTINCDIR=
167fi
168AC_MSG_RESULT([$have_aliroot])
169
170if test ! "x$have_aliroot" = "xno" ; then
171 ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
172 ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
173 ALIROOT_LIBS="$ADD_ROOTLIBS"
174 save_CPPFLAGS=$CPPFLAGS
175 save_LDFLAGS=$LDFLAGS
176 save_LIBS=$LIBS
177 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
178 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
179
180 # check for certain AliRoot libraries/files/features
181 # libSTEERBase present since Aug 7 2007
182 # ###########################################
183 # temporary workaround for circular dependency libSTEERbase libSTEER
184 # https://savannah.cern.ch/bugs/index.php?49914
185 # disable the sequence of checks and load libraries in parallel
186 ALIROOT_LIBS="$ALIROOT_LIBS -lAOD -lCDB -lRAWDatabase -lRAWDatarec -lESD -lSTEER"
187 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
188 CHECKLIB=STEERBase
189 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
190
191 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
192 CHECKLIB=AOD
193 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
194
195 # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
196 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
197 CHECKLIB=CDB
198 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
199
200 # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
201 have_alirawdata=no
202 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
203 CHECKLIB=RAWDatabase
204 AC_CHECK_LIB([$CHECKLIB],[_init],
205 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
206 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lESD -lSTEER"
207 CHECKLIB=RAWDatarec
208 AC_CHECK_LIB([$CHECKLIB],[_init],
209 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
210 have_alirawdata=$CHECKLIB])],
211 [# second pass with -RAWData
212 CHECKLIB="-lRAWData"
213 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
214 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
215 #include <AliRawReaderFile.h>
216 #include <AliRawReaderDate.h>
217 #include <AliRawReaderRoot.h>],
218 [AliRawReaderMemory mreader;
219 AliRawReaderFile freader;
220 AliRawReaderDate dreader(NULL,0);
221 AliRawReaderRoot rreader(NULL,0);])],
222 [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
223 have_alirawdata=$CHECKLIB],
224 [have_alirawdata=no])
225 ]) dnl AC_CHECK_LIB RAWDatabase
226 AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
227 AC_MSG_RESULT([$have_alirawdata])
228
229 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
230 CHECKLIB=ESD
231 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
232
233 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
234 CHECKLIB=STEER
235 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
236
237 dnl
238 dnl check whether AliLog supports notification callback
239 dnl 2010-03-03: revision 38921 introduces AliLog::GetRootLogger in order to make AliLog
240 dnl a pure sigleton, introduce a 2-level check here
241 dnl
242 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
243 have_alilog_notification=no
244 if test ! "x$have_aliroot" = "xno" ; then
245 AC_MSG_CHECKING([whether AliLog supports notification callback])
246 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
247 [AliLog* logger=AliLog::GetRootLogger();])],
248 [have_alilog_notification=yes],
249 [AC_DEFINE(NO_ALILOG_GETROOTLOGGER)
250 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
251 [AliLog::AliLogNotification fct])],
252 [have_alilog_notification=yes],
253 [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
254 ])
255 AC_MSG_RESULT([$have_alilog_notification])
256 fi
257
258 if test "x$have_aliroot" = "xno" ; then
259 # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
260 # but library dependencies might not be resolved completely
261 #ALIROOT_CPPFLAGS=
262 AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
263 This can happen from time to time due to development in AliRoot. You can
264 force compilation of detector libs by --enable-<detector>, but be aware
265 of unresolved references at runtime.])
266 AC_MSG_WARN([ ------------------------------------------ ])
267 AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
268 AC_MSG_WARN([ please include config.log ])
269 AC_MSG_WARN([ ------------------------------------------ ])
270 ALIROOT_LDFLAGS=
271 ALIROOT_LIBS=
272 fi
273
274 dnl
275 dnl ESD supports non-std content
276 dnl
277 have_esd_nonstd=no
278 AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>
279 #include <AliExternalTrackParam.h>
280 #include <TTree.h>
281 #include <TClonesArray.h>],
282 [AliESDEvent esd;
283 esd.CreateStdContent();
284 TTree* tree=new TTree("esdTree", "Tree with HLT ESD objects");
285 TClonesArray* a=new TClonesArray("AliExternalTrackParam");
286 a->SetName("SomeObject");
287 esd.AddObject(a);
288 esd.WriteToTree(tree);
289 if (!tree->FindBranch("SomeObject")) return 1;
290 return 0;])],
291 [have_esd_nonstd=yes],
292 [AC_DEFINE(HAVE_NOT_ESD_NONSTD)])
293 AC_MSG_CHECKING(whether ESD supports non standard content)
294 AC_MSG_RESULT([$have_esd_nonstd])
295
296 dnl
297 dnl ESD copy function added May 9 2008 rev 25667
298 dnl
299 if test "x$have_esd_nonstd" != "xyes"; then
300 have_esd_copy=no
301 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
302 [AliESDEvent esd1;
303 AliESDEvent esd2;
304 esd2=esd1;])],
305 [have_esd_copy=yes],
306 [AC_DEFINE(HAVE_NOT_ESD_COPY)])
307 AC_MSG_CHECKING(for ESD assignment operator)
308 AC_MSG_RESULT([$have_esd_copy])
309 fi
310
311 dnl
312 dnl AliRawReaderMemory support for multiple buffers added
313 dnl revision 26829 Jun 2008
314 dnl
315 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
316 have_rawreadermemory_multbuffers=no
317 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
318 [AliRawReaderMemory rr;
319 rr.AddBuffer(NULL, 0, 0);])],
320 [have_rawreadermemory_multbuffers=yes],
321 [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
322 AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
323 AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
324
325 dnl
326 dnl Changes in the magnetic field implementation
327 dnl revision 30848 Feb 1 2009
328 dnl
329 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
330 have_alimagf30848=no
331 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMagF.h>],
332 [int test=AliMagF::k5kG;])],
333 [have_alimagf30848=yes],
334 [AC_DEFINE(HAVE_NOT_ALIMAGF30848)])
335 AC_MSG_CHECKING(AliMagF contains field definitions)
336 AC_MSG_RESULT([$have_alimagf30848])
337
338 dnl
339 dnl Cleanup of the RunLoader implementation
340 dnl revision 30859 Feb 2 2009
341 dnl
342 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
343 have_alirunloader30859=no
344 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRunLoader.h>],
345 [AliRunLoader* rl=AliRunLoader::Instance();])],
346 [have_alirunloader30859=yes],
347 [AC_DEFINE(HAVE_NOT_ALIRUNLOADER30859)])
348 AC_MSG_CHECKING(AliRunLoader::Instance)
349 AC_MSG_RESULT([$have_alirunloader30859])
350
351 have_aliqav1=no
352 AC_CHECK_HEADER([AliQAv1.h], [have_aliqav1=yes], [])
353 AM_CONDITIONAL(EN_HLT_QA, test x$have_aliqav1 = xyes)
354 AC_CHECK_HEADER([AliESDHLTDecision.h], [], [AC_DEFINE(HAVE_NOT_ALIESDHLTDECISION)])
355 AC_CHECK_HEADER([AliVCluster.h], [], [AC_DEFINE(HAVE_NOT_ALIVCLUSTER)])
356
357 dnl
358 dnl required header files and libraries for modules
359 dnl
360
361 dnl
362 dnl Check for the interface of AliExternalTrackParam which has been changed
363 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
364 dnl or higher)
365 externaltrackparam_version=1
366 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
367 [AliExternalTrackParam trackparam;
368 Double_t param[[5]]; Double_t covar[[15]];
369 trackparam.Set(0., 0., param, covar);])],
370 [externaltrackparam_version=2],
371 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
372 AC_MSG_CHECKING(for version of AliExternalTrackParam)
373 AC_MSG_RESULT($externaltrackparam_version)
374
375 dnl The AliShuttleInterface was changed in rev 29388. Some return types
376 dnl had been const, now changed according to gcc 4.3 warnings
377 AC_MSG_CHECKING(for version of AliShuttleInterface.h)
378 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/"
379 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
380 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
381 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliShuttleInterface.h>],
382 [class dummy : public AliShuttleInterface {
383 public:
384 const UInt_t GetStartTimeDCSQuery() {;}
385 };])],
386 [AC_DEFINE(SHUTTLE_PRE_REV29388_INTERFACE)
387 alishuttleinterface_version=pre.rev.29388],
388 [alishuttleinterface_version=up.to.date])
389 AC_MSG_RESULT([$alishuttleinterface_version])
390
391 CPPFLAGS=$save_CPPFLAGS
392 LDFLAGS=$save_LDFLAGS
393 LIBS=$save_LIBS
394fi # if test ! "x$have_aliroot" = "xno"
395
396AC_LANG_POP(C++)
397AC_SUBST([ALICE_ROOT])
398AC_SUBST([ALIROOT_CPPFLAGS])
399AC_SUBST([ALIROOT_LDFLAGS])
400AC_SUBST([ALIROOTBINDIR])
401AC_SUBST([ALIROOTLIBDIR])
402
403ALIROOT_LIBS="$ALIROOT_LIBS $ADD_ROOTLIBS"
404AC_SUBST([ALIROOT_LIBS])
405AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
406
407HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
408HLTBASE_LDFLAGS=
409AC_SUBST([HLTBASE_CPPFLAGS])
410AC_SUBST([HLTBASE_LDFLAGS])
411
412dnl ------------------------------------------------------------------
413dnl check for the HLT PubSub Framework
414dnl namely for the existence of the HOMER library
415dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
416dnl package. It os though possible to choose an external. library
417dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
418dnl got the name libAliHLTHOMER
419AC_MSG_CHECKING([for HLT PubSub Framework])
420AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
421 [],
422 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
423if test -z $with_pubsub || ! test -d $with_pubsub ; then
424 with_pubsub=no
425fi
426AC_MSG_RESULT([$with_pubsub])
427HOMER_VERSION=2
428HOMER_LIBS=
429
430AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
431if test "x$with_pubsub" != "xno" ; then
432 save_CPPFLAGS=$CPPFLAGS
433 save_LDFLAGS=$LDFLAGS
434 save_LIBS=$LIBS
435 # currently the different versions of the HLT PubSub framework have a different
436 # directory layout
437 if test -d ${with_pubsub}/include/HOMER ; then
438 # the 'early' location of the include files with separated HOMER sub dirs
439 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
440 elif test -d ${with_pubsub}/include/Util/HOMER ; then
441 # location for HLT Framework versions after Sep 2006
442 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
443 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
444 # fall back if include files were not installed (versions after Sep 06)
445 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
446 else
447 # fall back if include files were not installed (versions before Sep 06)
448 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
449 fi
450 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
451
452 AC_ARG_ENABLE(pubsub-debug,
453 [AC_HELP_STRING([--disable-pubsub-debug],
454 [force the production version of the PubSub framework])],
455 [],[enable_pubsub_debug=yes])
456 homer_type="none"
457 HOMER_TARGET="`uname -s`-`uname -m`"
458 AC_MSG_CHECKING([for HLT PubSub Framework release type])
459 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
460 homer_type="production"
461 HOMER_TARGET="${HOMER_TARGET}-release"
462 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
463 homer_type="debug"
464 HOMER_TARGET="${HOMER_TARGET}-debug"
465 fi
466 AC_MSG_RESULT([${homer_type}])
467 HOMERREADER_HEADER=HOMERReader.h
468 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
469 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
470 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
471 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
472 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
473 LIBS="$save_LIBS "
474 with_homer=no
475 AC_LANG_PUSH(C++)
476 AC_CHECK_HEADER([$HOMERREADER_HEADER],
477 [ AC_CHECK_LIB([HOMER],[_init],
478 [with_homer=yes
479 HOMER_LIBS="-lHOMER"],
480 [ AC_CHECK_LIB([HOMERReader],[_init],
481 [with_homer=yes
482 HOMER_LIBS="-lHOMERReader"])])
483 LIBS="$LIBS $HOMER_LIBS"
484 AC_MSG_CHECKING([version of HOMER library])
485 dnl The Homer library has no versioning, so we do our own
486 dnl version description
487 dnl ----------------------------------------------------------------------
488 dnl 1 inintial version
489 dnl 2 GetBlockStatusFlags added to the interface
490 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
491 [HOMERReader reader("dummy", 0);
492 reader.GetBlockStatusFlags(0);])],
493 [],
494 [HOMER_VERSION=1])
495 AC_MSG_RESULT([$HOMER_VERSION])
496 ],
497 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
498 AC_LANG_POP(C++)
499 HOMER_INBUILT_LIB=
500else
501dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
502 topdir=`dirname $0`
503 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
504 HOMERREADER_HEADER=AliHLTHOMERReader.h
505 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
506 HOMER_BINDIR=
507 HOMER_LIBDIR=
508 HOMER_LDFLAGS=
509fi
510
511 if test "x$with_homer" = "xno" ; then
512 HOMER_CPPFLAGS=
513 HOMER_LDFLAGS=
514 HOMER_LIBS=
515 else
516 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
517 AC_DEFINE(HAVE_HOMERREADER)
518 fi
519 CPPFLAGS="$save_CPPFLAGS"
520 LDFLAGS="$save_LDFLAGS"
521 LIBS="$save_LIBS"
522
523AC_SUBST([HOMERREADER_HEADER])
524AC_SUBST([HOMER_INBUILT_LIB])
525AC_SUBST([HOMER_CPPFLAGS])
526AC_SUBST([HOMER_LDFLAGS])
527AC_SUBST([HOMER_LIBDIR])
528AC_SUBST([HOMER_BINDIR])
529AC_SUBST([HOMER_LIBS])
530
531dnl ------------------------------------------------------------------
532AC_ARG_ENABLE(all,
533 [AC_HELP_STRING([--disable-all],
534 [disable all detector modules, individual modules can be switched on by --enable-det])],
535 [disable_all=yes],[])
536
537dnl ------------------------------------------------------------------
538AC_MSG_CHECKING([whether to impose strict coding conventions])
539AC_ARG_ENABLE(strict,
540 [AC_HELP_STRING([--disable-strict],
541 [disable coding convention checks ])],
542 [],[enable_strict=yes])
543if test "x$enable_strict" = "xyes" ; then
544 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
545fi
546AC_MSG_RESULT([$enable_strict])
547
548dnl ------------------------------------------------------------------
549AC_MSG_CHECKING([whether to enable component statistics])
550AC_ARG_ENABLE(component-stat,
551 [AC_HELP_STRING([--enable-component-stat],
552 [enable component statistics ])],
553 [],[])
554
555dnl enable component statistics if not explicitely disabled
556if test "x$enable_component_stat" != "xno" &&
557 test "x$enable_debug" = "xyes" ; then
558 enable_component_stat=yes.debug
559fi
560
561if test "x$enable_component_stat" = "x" ; then
562 enable_component_stat=no
563fi
564
565if test "x$enable_component_stat" != "xno" ; then
566 AC_DEFINE(HLT_COMPONENT_STATISTICS)
567fi
568AC_MSG_RESULT([$enable_component_stat])
569
570dnl ------------------------------------------------------------------
571dnl ---- module checks
572dnl ------------------------------------------------------------------
573save_CPPFLAGS=$CPPFLAGS
574save_LDFLAGS=$LDFLAGS
575save_LIBS=$LIBS
576
577dnl ------------------------------------------------------------------
578AC_MSG_NOTICE([-------------------------------------------------])
579AC_MSG_NOTICE([checking dependencies for HLTbase library])
580HLTBASE_CHECKLIBS='XMLParser'
581for CHECKLIB in $HLTBASE_CHECKLIBS ; do
582 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
583 LIBS="$save_LIBS $ROOTLIBS $ALIHLTBASE_LIBS"
584 AC_CHECK_LIB([$CHECKLIB],[_init], [ALIHLTBASE_LIBS="$ALIHLTBASE_LIBS -l$CHECKLIB"])
585done
586AC_SUBST([ALIHLTBASE_LIBS])
587
588dnl ------------------------------------------------------------------
589AC_MSG_CHECKING([whether to compile sample library])
590AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
591AC_ARG_ENABLE(sample,
592 [AC_HELP_STRING([--disable-sample],
593 [compile the sample library ])],
594 [],
595 [if test "x$have_aliroot" = "xno" ; then
596 enable_sample="no...requires.AliRoot"
597 else
598 enable_sample=yes
599 fi
600 ])
601
602if test "x$enable_sample" = "xyes" ; then
603 AC_DEFINE(HLT_SAMPLE)
604fi
605AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
606AC_MSG_RESULT([$enable_sample])
607
608dnl ------------------------------------------------------------------
609AH_TEMPLATE([HLT_UTIL],[HLT utility library])
610ALIUTIL_LIBS=
611CHECK_HLTMODULE([util],
612 [],
613 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/STEER -I$ALICE_ROOT/RAW -I$ALICE_ROOT/PYTHIA6 -I$ALICE_ROOT/ANALYSIS],
614 [ANALYSIS ANALYSISalice], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
615 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
616 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
617
618if test "x$enable_module" = "xmissheader"; then
619 enable_module="no...missing.headers"
620 enable_util=$enable_module
621elif test "x$enable_module" = "xforce"; then
622 enable_util="yes"
623else
624 enable_util=$enable_module
625fi
626if test "x$enable_util" = "xyes" ; then
627 AC_DEFINE(HLT_UTIL)
628 ALIUTIL_LIBS=$ALIHLTMODULE_LIBS
629fi
630AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
631AC_MSG_CHECKING([whether to compile Util library])
632AC_MSG_RESULT([$enable_module])
633AC_SUBST([ALIUTIL_LIBS])
634
635dnl ------------------------------------------------------------------
636AH_TEMPLATE([HLT_TPC],[hlt tpc library])
637
638ALITPC_LIBS=
639CHECK_HLTMODULE([tpc],
640 [AliTPCRawStream.h],
641 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
642 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
643 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
644 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
645
646if test "x$enable_module" = "xmissheader"; then
647 enable_module="no...missing.headers"
648 enable_tpc=$enable_module
649elif test "x$enable_module" = "xforce"; then
650 enable_tpc="yes"
651else
652 enable_tpc=$enable_module
653fi
654
655if test "x$enable_tpc" = "xyes" ; then
656 AC_LANG_PUSH(C++)
657 AC_DEFINE(HLT_TPC)
658 ALITPC_LIBS=$ALIHLTMODULE_LIBS
659 dnl
660 dnl Check for functionality in the TPC reconstruction required for online
661 dnl processing
662 dnl
663 have_tpc_hltoffline_rec=no
664 AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
665 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
666 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
667 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
668 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
669 #include <AliTPCclustererMI.h>
670 #include <TObjArray.h>],
671 [AliTPCtrackerMI tracker;
672 TObjArray* array=NULL;
673 tracker.LoadClusters(array);
674 AliTPCclustererMI cl(NULL, NULL);
675 cl.GetOutputClonesArray();])],
676 [have_tpc_hltoffline_rec=yes],
677 [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
678 AC_MSG_RESULT([$have_tpc_hltoffline_rec])
679
680 have_alitpcclusterparam_r40128=no
681 AC_MSG_CHECKING([checking for AliTPCClusterParam r40128])
682 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTPCClusterParam.h>],
683 [AliTPCClusterParam param;
684 float test=param.ParamS0Par(0,0,0)]);],
685 [have_alitpcclusterparam_r40128=yes],
686 [AC_DEFINE(HAVE_NOT_ALITPCCLUSTERPARAM_r40128)])
687 AC_MSG_RESULT([$have_alitpcclusterparam_r40128])
688
689 LIBS=$save_LIBS
690
691
692 AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
693 AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
694 AC_CHECK_HEADER([AliAltroRawStreamV3.h], [], [AC_DEFINE(HAVE_NOT_ALTRORAWSTREAMV3)])
695
696 have_tpc_mapping=no
697 if test ! "x$have_aliroot" = "xno" ; then
698 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
699 # which is stored in the TPC/mapping/Patchx.data files from
700 # AliRoot version v4-04-Release (May 2006)
701 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
702 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
703 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
704 [have_tpc_mapping=yes
705 AC_SUBST(TPC_PAD_MAPPING_PATH)
706 AC_DEFINE(HAVE_TPC_MAPPING)],
707 [])
708
709 fi
710 AC_MSG_CHECKING([for TPC mapping layout])
711 AC_MSG_RESULT([$have_tpc_mapping])
712 AC_LANG_POP(C++)
713
714else
715 enable_module=$enable_tpc
716fi
717AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
718AC_MSG_CHECKING([whether to compile TPC library])
719AC_MSG_RESULT([$enable_module])
720AC_SUBST([ALITPC_LIBS])
721
722dnl ------------------------------------------------------------------
723AH_TEMPLATE([HLT_RCU],[hlt rcu library])
724
725CHECK_HLTMODULE([rcu],
726 [AliAltroDecoder.h],
727 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
728 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
729 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
730 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
731
732if test "x$enable_module" = "xmissheader"; then
733 enable_module="no...missing.headers"
734 enable_rcu=$enable_module
735elif test "x$enable_module" = "xforce"; then
736 enable_rcu="yes"
737else
738 AC_LANG_PUSH(C++)
739 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
740 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
741 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
742 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
743 [AliAltroDecoder decoder;
744 decoder.CopyBackward(NULL, 0);])],
745 [enable_rcu=$enable_module],
746 [enable_module="no...requires.AliRoot>v4-10-Release"
747 enable_rcu="no...requires.AliRoot>v4-10-Release"])
748 CPPFLAGS=$save_CPPFLAGS
749 LDFLAGS=$save_LDFLAGS
750 LIBS=$save_LIBS
751 AC_LANG_POP(C++)
752fi
753
754if test "x$enable_rcu" = "xyes" ; then
755 AC_DEFINE(HLT_RCU)
756else
757 enable_module=$enable_rcu
758fi
759AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
760AC_MSG_CHECKING([whether to compile RCU library])
761AC_MSG_RESULT([$enable_module])
762AC_SUBST([ALIRCU_LIBS])
763
764dnl ------------------------------------------------------------------
765AH_TEMPLATE([HLT_CALO],[hlt calo(rimeter) library])
766
767ALICALO_LIBS=
768CHECK_HLTMODULE([calo],
769 [], [$ALIROOT_CPPFLAGS],
770 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
771 [EMCALUtils PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
772 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
773
774if test "x$enable_module" = "xmissheader"; then
775 enable_module="no...missing.headers"
776 enable_calo=$enable_module
777elif test "x$enable_module" = "xforce"; then
778 enable_calo="yes"
779else
780 have_alicalorawstream=no
781 if test ! "x$have_aliroot" = "xno" ; then
782 AC_LANG_PUSH(C++)
783 save_CPPFLAGS="$CPPFLAGS"
784 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
785 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
786 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
787 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
788 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
789 #include <AliCaloRawStream.h>],
790 [int i])],
791 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
792 have_alicalorawstream=yes],
793 [])
794 AC_MSG_RESULT([$have_alicalorawstream])
795
796 have_aliesdcalocluster_r38477=no
797 AC_MSG_CHECKING([for AliESDCaloCluster r38477])
798 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDCaloCluster.h>],
799 [AliESDCaloCluster cluster;
800 cluster.SetTrackDistance(0.0, 0.0)]);],
801 [have_aliesdcalocluster_r38477=yes],
802 [AC_DEFINE(HAVE_NOT_ALIESDCALOCLUSTER_r38477)])
803 AC_MSG_RESULT([$have_aliesdcalocluster_r38477])
804
805 AC_LANG_POP(C++)
806 CPPFLAGS="$save_CPPFLAGS"
807 fi
808 if test "x$have_alicalorawstream" != "xyes"; then
809 enable_calo="no...requires.AliRoot>v4-05-07"
810 else
811 enable_calo=$enable_module
812 fi
813fi
814
815if test "x$enable_calo" = "xyes" ; then
816 AC_DEFINE(HLT_CALO)
817 ALICALO_LIBS=$ALIHLTMODULE_LIBS
818else
819 enable_module=$enable_calo
820fi
821AM_CONDITIONAL(EN_HLT_CALO, test x$enable_calo = xyes)
822AC_MSG_CHECKING([whether to compile CALO library])
823AC_MSG_RESULT([$enable_module])
824AC_SUBST([ALICALO_LIBS])
825
826dnl ------------------------------------------------------------------
827AH_TEMPLATE([HLT_PHOS],[hlt phos library])
828
829ALIPHOS_LIBS=
830CHECK_HLTMODULE([phos],
831 [], [$ALIROOT_CPPFLAGS],
832 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
833 [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
834 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
835
836if test "x$enable_module" = "xmissheader"; then
837 enable_module="no...requires.AliRoot>v4-05-07"
838 enable_phos=$enable_module
839elif test "x$enable_module" = "xforce"; then
840 enable_phos="yes"
841else
842 have_alicalorawstream=no
843 if test ! "x$have_aliroot" = "xno" ; then
844 AC_LANG_PUSH(C++)
845 save_CPPFLAGS="$CPPFLAGS"
846 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
847 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
848 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
849 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
850 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
851 #include <AliCaloRawStream.h>],
852 [int i])],
853 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
854 have_alicalorawstream=yes],
855 [])
856 AC_MSG_RESULT([$have_alicalorawstream])
857 have_aliphosrecoparamemc=no
858 AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
859 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
860 [AliPHOSRecoParam param;
861 param.GetEMCClusteringThreshold()])],
862 [have_aliphosrecoparamemc=yes],
863 [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
864 AC_MSG_RESULT([$have_aliphosrecoparamemc])
865
866 have_aliphosreconstructor_r44091=no
867 AC_MSG_CHECKING([for AliPHOSReconstructor r44091 ])
868 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSReconstructor.h>],
869 [float e=0.0;
870 AliPHOSReconstructor::CorrectNonlinearity(e)])],
871 [have_aliphosreconstructor_r44091=yes],
872 [AC_DEFINE(HAVE_NOT_ALIPHOSRECONSTRUCTOR_r44091)])
873 AC_MSG_RESULT([$have_aliphosreconstructor_r44091])
874
875 AC_LANG_POP(C++)
876 CPPFLAGS="$save_CPPFLAGS"
877 fi
878 if test "x$have_alicalorawstream" != "xyes"; then
879 enable_phos="no...requires.AliRoot>v4-05-07"
880 else
881 enable_phos=$enable_module
882 fi
883fi
884
885if test "x$enable_phos" = "xyes" ; then
886 AC_DEFINE(HLT_PHOS)
887 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
888else
889 enable_module=$enable_phos
890fi
891AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
892AC_MSG_CHECKING([whether to compile PHOS library])
893AC_MSG_RESULT([$enable_module])
894AC_SUBST([ALIPHOS_LIBS])
895
896dnl ------------------------------------------------------------------
897AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
898
899ALIEMCAL_LIBS=
900CHECK_HLTMODULE([emcal],
901 [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/VZERO],
902 [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
903 [EMCALrec EMCALsim EMCALbase EMCALUtils VZERObase], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
904 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
905
906if test "x$enable_module" = "xmissheader"; then
907 enable_module="no...header.missing"
908 enable_emcal=$enable_module
909elif test "x$enable_module" = "xforce"; then
910 enable_emcal="yes"
911else
912 enable_emcal=$enable_module
913fi
914
915if test "x$enable_emcal" = "xyes" ; then
916 AC_DEFINE(HLT_EMCAL)
917 ALIEMCAL_LIBS=$ALIHLTMODULE_LIBS
918else
919 enable_module=$enable_emcal
920fi
921AM_CONDITIONAL(EN_HLT_EMCAL, test x$enable_emcal = xyes)
922AC_MSG_CHECKING([whether to compile EMCAL library])
923AC_MSG_RESULT([$enable_module])
924AC_SUBST([ALIEMCAL_LIBS])
925
926dnl ------------------------------------------------------------------
927AH_TEMPLATE([HLT_TRD],[hlt trd library])
928
929ALITRD_LIBS=
930CHECK_HLTMODULE([trd],
931 [], [],
932 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
933 [STAT TRDbase TRDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
934 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
935
936if test "x$enable_module" = "xmissheader"; then
937 enable_module="no...requires.AliRoot>v4-07-Release"
938 enable_trd=$enable_module
939elif test "x$enable_module" = "xforce"; then
940 enable_trd="yes"
941else
942 enable_trd=$enable_module
943 if test "x$enable_trd" = "xyes" ; then
944 AC_LANG_PUSH(C++)
945 save_CPPFLAGS="$CPPFLAGS"
946 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
947 # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
948 # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
949 # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
950 # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
951 # changed to AliTRDCluster according to revision 30461, Thu Dec 18 2008
952 # changed to AliTRDclusterizer::GetAddedClusters according to revision 31299, Wed Mar 4 2009
953 # changed to AliTRDclusterizer::GetNTimeBins according to revision 37102 Sun Nov 22 2009
954 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
955 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
956 [AliTRDclusterizer c;
957 c.GetNTimeBins()])],
958 [],
959 [enable_trd="no...requires.AliRoot>v4-18-Release"])
960 AC_MSG_RESULT([$enable_trd])
961
962 if test "x$enable_trd" = "xyes" ; then
963 have_alitrdseedv1_r39693=no
964 AC_MSG_CHECKING([checking for AliTRDseedV1 r39693])
965 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDseedV1.h>],
966 [AliTRDseedV1 seed;
967 seed.SetC(0.0, 1)]);],
968 [have_alitrdseedv1_r39693=yes],
969 [AC_DEFINE(HAVE_NOT_ALITRD_SEEDV1_r39693)])
970 AC_MSG_RESULT([$have_alitrdseedv1_r39693])
971
972 have_alitrdrawstream_r39608=no
973 AC_MSG_CHECKING([checking for AliTRDrawStream r39608])
974 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrawStreamBase.h>],
975 [AliTRDrawStreamBase::SetRawStreamVersion(AliTRDrawStreamBase::kTRDdefaultStream)]);],
976 [have_alitrdrawstream_r39608=yes],
977 [AC_DEFINE(HAVE_NOT_ALITRD_RAWSTREAM_r39608)])
978 AC_MSG_RESULT([$have_alitrdrawstream_r39608])
979
980 have_alitrdrecoparam_r41621=no
981 AC_MSG_CHECKING([checking for AliTRDrecoParam r41621])
982 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrecoParam.h>],
983 [AliTRDrecoParam::GetLowFluxHLTParam()]);],
984 [have_alitrdrecoparam_r41621=yes],
985 [AC_DEFINE(HAVE_NOT_ALITRD_RECOPARAM_r41621)])
986 AC_MSG_RESULT([$have_alitrdrecoparam_r41621])
987
988 have_alitrdclusterizer_r42837=no
989 AC_MSG_CHECKING([checking for AliTRDclusterizer r42837])
990 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
991 [AliTRDclusterizer o; o.SetSkipTransform()]);],
992 [have_alitrdclusterizer_r42837=yes],
993 [AC_DEFINE(HAVE_NOT_ALITRD_CLUSTERIZER_r42837)])
994 AC_MSG_RESULT([$have_alitrdclusterizer_r42837])
995 fi
996
997 AC_LANG_POP(C++)
998 CPPFLAGS="$save_CPPFLAGS"
999 fi
1000fi
1001
1002if test "x$enable_trd" = "xyes" ; then
1003 AC_DEFINE(HLT_TRD)
1004 ALITRD_LIBS=$ALIHLTMODULE_LIBS
1005else
1006 enable_module=$enable_trd
1007fi
1008AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
1009AC_MSG_CHECKING([whether to compile TRD library])
1010AC_MSG_RESULT([$enable_module])
1011AC_SUBST([ALITRD_LIBS])
1012
1013dnl ------------------------------------------------------------------
1014AH_TEMPLATE([HLT_FMD],[hlt fmd library])
1015
1016ALIFMD_LIBS=$ALIHLTMODULE_LIBS
1017CHECK_HLTMODULE([fmd],
1018 [], [],
1019 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1020 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1021 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1022
1023if test "x$enable_module" = "xmissheader"; then
1024 enable_module="no...missing.headers"
1025 enable_fmd=$enable_module
1026elif test "x$enable_module" = "xforce"; then
1027 enable_fmd="yes"
1028else
1029 enable_fmd=$enable_module
1030fi
1031
1032if test "x$enable_fmd" = "xyes" ; then
1033 AC_DEFINE(HLT_FMD)
1034 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
1035else
1036 enable_module=$enable_fmd
1037fi
1038AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
1039AC_MSG_CHECKING([whether to compile FMD library])
1040AC_MSG_RESULT([$enable_module])
1041AC_SUBST([ALIFMD_LIBS])
1042
1043dnl ------------------------------------------------------------------
1044AH_TEMPLATE([HLT_ZDC],[hlt zdc library])
1045
1046ALIZDC_LIBS=$ALIHLTMODULE_LIBS
1047CHECK_HLTMODULE([zdc],
1048 [], [$ALIROOT_CPPFLAGS],
1049 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1050 [ZDCbase ZDCrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1051 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1052
1053if test "x$enable_module" = "xmissheader"; then
1054 enable_module="no...missing.headers"
1055 enable_zdc=$enable_module
1056elif test "x$enable_module" = "xforce"; then
1057 enable_zdc="yes"
1058else
1059 enable_zdc=$enable_module
1060
1061 if test "x$enable_zdc" = "xyes" ; then
1062 AC_LANG_PUSH(C++)
1063 save_CPPFLAGS="$CPPFLAGS"
1064 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ZDC"
1065
1066
1067 # AliZDCReconstructor::GetZDCESDData() is needed, requires revision 43770, Wed Sep 22 2010
1068 have_alizdcreconstructor_r43770=no
1069 AC_MSG_CHECKING([checking for AliZDCReconstructor::GetZDCESDData() r43770])
1070 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliZDCReconstructor.h>],
1071 [AliZDCReconstructor rec;
1072 rec.GetZDCESDData()])],
1073 [have_alizdcreconstructor_r43770=yes],
1074 [AC_DEFINE(HAVE_NOT_ALIZDCRECONSTRUCTOR_r43770)])
1075 if test "x$have_alizdcreconstructor_r43770" != "xyes"; then
1076 enable_zdc="no...requires.r43770"
1077 fi
1078 AC_MSG_RESULT([$have_alizdcreconstructor_r43770])
1079
1080 AC_LANG_POP(C++)
1081 CPPFLAGS="$save_CPPFLAGS"
1082 fi
1083
1084fi
1085
1086if test "x$enable_zdc" = "xyes" ; then
1087 AC_DEFINE(HLT_ZDC)
1088 ALIZDC_LIBS=$ALIHLTMODULE_LIBS
1089else
1090 enable_module=$enable_zdc
1091fi
1092AM_CONDITIONAL(EN_HLT_ZDC, test x$enable_zdc = xyes)
1093AC_MSG_CHECKING([whether to compile ZDC library])
1094AC_MSG_RESULT([$enable_module])
1095AC_SUBST([ALIZDC_LIBS])
1096
1097dnl ------------------------------------------------------------------
1098AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
1099
1100ALIMUON_LIBS=
1101CHECK_HLTMODULE([dimuon],
1102 [AliMpExMap.h AliMUONTriggerIO.h],
1103 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
1104 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1105 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1106 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1107
1108if test "x$enable_module" = "xmissheader"; then
1109 enable_module="no...requires.AliRoot>=v4-08-Release"
1110 enable_muon=$enable_module
1111elif test "x$enable_module" = "xforce"; then
1112 enable_muon="yes"
1113else
1114 enable_muon=$enable_module
1115fi
1116
1117if test "x$enable_muon" = "xyes" ; then
1118 AC_DEFINE(HLT_MUON)
1119 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
1120 AC_LANG_PUSH(C++)
1121 save_CPPFLAGS="$CPPFLAGS"
1122
1123 dnl
1124 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
1125 dnl
1126 have_muon_digitmaker_getrawstream=no
1127 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
1128 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
1129 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1130 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1131 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
1132 [AliMUONDigitMaker dm;
1133 dm.GetRawStreamTracker();])],
1134 [have_muon_digitmaker_getrawstream=yes],
1135 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
1136 LIBS=$save_LIBS
1137 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
1138
1139 dnl
1140 dnl Check for AliMpPad::GetPositionX/Y
1141 dnl change of implementation in MUON code
1142 dnl revision 31769, Wed Apr 1 2009
1143 dnl
1144 have_muon_alimppad_getposition=no
1145 AC_MSG_CHECKING(for GetPosition methods of AliMpPad)
1146 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON/mapping"
1147 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1148 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1149 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMpPad.h>],
1150 [AliMpPad pad;
1151 pad.GetPositionX();])],
1152 [have_muon_alimppad_getposition=yes],
1153 [AC_DEFINE(HAVE_NOT_MUON_ALIMPPAD_GETPOSITION)])
1154 LIBS=$save_LIBS
1155 AC_MSG_RESULT([$have_muon_alimppad_getposition])
1156
1157 CPPFLAGS="$save_CPPFLAGS"
1158
1159 AC_LANG_POP(C++)
1160else
1161 enable_module=$enable_muon
1162fi
1163AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
1164AC_MSG_CHECKING([whether to compile MUON library])
1165AC_MSG_RESULT([$enable_module])
1166AC_SUBST([ALIMUON_LIBS])
1167
1168dnl ------------------------------------------------------------------
1169AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
1170
1171ALITRIGGER_LIBS=
1172CHECK_HLTMODULE([trigger],
1173 [], [$ALIROOT_CPPFLAGS],
1174 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1175 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1176 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1177
1178if test "x$enable_module" = "xmissheader"; then
1179 enable_module="no...header.missing"
1180 enable_trigger=$enable_module
1181elif test "x$enable_module" = "xforce"; then
1182 enable_trigger="yes"
1183else
1184 enable_trigger=$enable_module
1185fi
1186
1187if test "x$enable_trigger" = "xyes" ; then
1188 AC_DEFINE(HLT_TRIGGER)
1189 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
1190else
1191 enable_module=$enable_trigger
1192fi
1193AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
1194AC_MSG_CHECKING([whether to compile Trigger library])
1195AC_MSG_RESULT([$enable_module])
1196AC_SUBST([ALITRIGGER_LIBS])
1197
1198dnl ------------------------------------------------------------------
1199AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
1200
1201ALIGLOBAL_LIBS=
1202CHECK_HLTMODULE([global],
1203 [], [$ALIROOT_CPPFLAGS],
1204 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1205 [PHOSUtils ], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1206 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1207
1208if test "x$enable_module" = "xmissheader"; then
1209 enable_module="no...header.missing"
1210 enable_global=$enable_module
1211elif test "x$enable_module" = "xforce"; then
1212 enable_global="yes"
1213else
1214 enable_global=$enable_module
1215 if test "x$enable_global" = "xyes" ; then
1216 AC_LANG_PUSH(C++)
1217 save_CPPFLAGS="$CPPFLAGS"
1218 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
1219 AC_MSG_CHECKING([for required functions in AliESDtrack])
1220 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>],
1221 [AliESDtrack t;
1222 t.SetGlobalChi2(0)])],
1223 [],
1224 [enable_global="no...requires.AliRoot>v4-17-Release"])
1225 AC_MSG_RESULT([$enable_global])
1226 AC_LANG_POP(C++)
1227 CPPFLAGS="$save_CPPFLAGS"
1228 fi
1229fi
1230
1231if test "x$enable_global" = "xyes" ; then
1232 AC_DEFINE(HLT_GLOBAL)
1233 ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
1234else
1235 enable_module=$enable_global
1236fi
1237AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
1238AC_MSG_CHECKING([whether to compile Global library])
1239AC_MSG_RESULT([$enable_module])
1240AC_SUBST([ALIGLOBAL_LIBS])
1241
1242dnl ------------------------------------------------------------------
1243AH_TEMPLATE([HLT_JET],[hlt jet library])
1244
1245ALIFASTJET_HEADER=
1246ALIFASTJET_INCFLAGS=
1247ALIFASTJET_LIBS=
1248ALIFASTJET_LDFLAGS=
1249AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
1250 [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
1251 [ test -n $FASTJET && with_fastjet=$FASTJET ])
1252
1253if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
1254 ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
1255 ALIFASTJET_HEADER="fastjet/PseudoJet.hh"
1256 ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
1257 ALIFASTJET_LIBS="CGAL fastjet"
1258else
1259 with_fastjet=no
1260fi
1261
1262CHECK_HLTMODULE([jet],
1263 [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
1264 [$ALIFASTJET_LIBS], [-L$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
1265 [AOD ESD ANALYSIS ANALYSISalice JETAN],
1266 [-L$ROOTLIBDIR $ALIROOT_LDFLAGS $ALIFASTJET_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
1267 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1268
1269if test "x$enable_module" = "xmissheader"; then
1270 enable_module="no...header.missing"
1271 enable_jet=$enable_module
1272elif test "x$enable_module" = "xforce"; then
1273 enable_jet="yes"
1274else
1275 enable_jet=$enable_module
1276fi
1277
1278if test "x$enable_jet" = "xyes" ; then
1279 AC_DEFINE(HLT_JET)
1280 ALIJET_LIBS="$ALIHLTMODULE_LIBS"
1281
1282 if test "x$with_fastjet" != "xno"; then
1283 AC_DEFINE(HAVE_FASTJET)
1284 AC_DEFINE(WITHFASTJET)
1285 ALIJET_LIBS="$ALIJET_LIBS $FASTJET_LDFLAGS"
1286 fi
1287 AC_MSG_CHECKING([compilation with FASTJET package])
1288 AC_MSG_RESULT($with_fastjet)
1289
1290else
1291 enable_module=$enable_jet
1292fi
1293
1294AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
1295AC_MSG_CHECKING([whether to compile Jet library])
1296AC_MSG_RESULT([$enable_module])
1297AC_SUBST([ALIJET_LIBS])
1298
1299dnl ------------------------------------------------------------------
1300AH_TEMPLATE([HLT_VZERO],[hlt vzero library])
1301
1302ALIVZERO_LIBS=
1303CHECK_HLTMODULE([vzero],
1304 [], [$ALIROOT_CPPFLAGS],
1305 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1306 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1307 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1308
1309if test "x$enable_module" = "xmissheader"; then
1310 enable_module="no...header.missing"
1311 enable_vzero=$enable_module
1312elif test "x$enable_module" = "xforce"; then
1313 enable_vzero="yes"
1314else
1315 enable_vzero=$enable_module
1316
1317 if test "x$enable_vzero" = "xyes" ; then
1318 AC_LANG_PUSH(C++)
1319 save_CPPFLAGS="$CPPFLAGS"
1320 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/VZERO"
1321
1322 # AliVZEROReconstructor::GetESDVZERO() is needed, requires revision 43718, Tue Sep 21 2010
1323 AC_MSG_CHECKING([checking for AliVZEROReconstructor::GetESDVZERO() r43718])
1324 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliVZEROReconstructor.h>],
1325 [AliVZEROReconstructor rec;
1326 rec.GetESDVZERO()])],
1327 [],
1328 [enable_vzero="no...requires.r43718"])
1329 AC_MSG_RESULT([$enable_vzero])
1330
1331 AC_LANG_POP(C++)
1332 CPPFLAGS="$save_CPPFLAGS"
1333 fi
1334fi
1335
1336if test "x$enable_vzero" = "xyes" ; then
1337 AC_DEFINE(HLT_VZERO)
1338 ALIVZERO_LIBS=$ALIHLTMODULE_LIBS
1339else
1340 enable_module=$enable_vzero
1341fi
1342AM_CONDITIONAL(EN_HLT_VZERO, test x$enable_vzero = xyes)
1343AC_MSG_CHECKING([whether to compile VZERO library])
1344AC_MSG_RESULT([$enable_module])
1345AC_SUBST([ALIVZERO_LIBS])
1346
1347dnl ------------------------------------------------------------------
1348AH_TEMPLATE([HLT_ITS],[hlt its library])
1349
1350ALIITS_LIBS=
1351CHECK_HLTMODULE([its],
1352 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
1353 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1354 [ITSbase ITSrec ITSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1355 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1356
1357if test "x$enable_module" = "xmissheader"; then
1358 enable_module="no...header.missing"
1359 enable_its=$enable_module
1360elif test "x$enable_module" = "xforce"; then
1361 enable_its="yes"
1362else
1363 enable_its=$enable_module
1364 if test "x$enable_its" = "xyes" ; then
1365 AC_LANG_PUSH(C++)
1366 save_CPPFLAGS="$CPPFLAGS"
1367 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
1368 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
1369 # require AliVertexer::GetNominalPos()
1370 AC_MSG_CHECKING([for required functions in AliITSVertexer])
1371 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
1372 [AliITSVertexerZ v;
1373 v.GetNominalPos()])],
1374 [],
1375 [enable_its="no...requires.AliRoot>v4-13-Release"])
1376 AC_MSG_RESULT([$enable_its])
1377 AC_LANG_POP(C++)
1378 CPPFLAGS="$save_CPPFLAGS"
1379 fi
1380fi
1381
1382if test "x$enable_its" = "xyes" ; then
1383 AC_DEFINE(HLT_ITS)
1384 ALIITS_LIBS=$ALIHLTMODULE_LIBS
1385else
1386 enable_module=$enable_its
1387fi
1388AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
1389AC_MSG_CHECKING([whether to compile ITS library])
1390AC_MSG_RESULT([$enable_module])
1391AC_SUBST([ALIITS_LIBS])
1392
1393dnl ------------------------------------------------------------------
1394AH_TEMPLATE([HLT_COMP],[hlt comp library])
1395
1396ALICOMP_LIBS=
1397CHECK_HLTMODULE([comp],
1398 [], [$ALIROOT_CPPFLAGS],
1399 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1400 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1401 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1402
1403if test "x$enable_module" = "xmissheader"; then
1404 enable_module="no...header.missing"
1405 enable_comp=$enable_module
1406elif test "x$enable_module" = "xforce"; then
1407 enable_comp="yes"
1408else
1409 enable_comp=$enable_module
1410fi
1411
1412if test "x$enable_comp" = "xyes" ; then
1413 AC_DEFINE(HLT_COMP)
1414 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
1415else
1416 enable_module=$enable_comp
1417fi
1418AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
1419AC_MSG_CHECKING([whether to compile comp library])
1420AC_MSG_RESULT([$enable_module])
1421AC_SUBST([ALICOMP_LIBS])
1422
1423dnl ------------------------------------------------------------------
1424AC_MSG_CHECKING([whether to disable AliRoot logging])
1425AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
1426AC_ARG_ENABLE(aliroot-logging,
1427 [AC_HELP_STRING([--disable-aliroot-logging],
1428 [disable logging through AliRoot logging methods])],
1429 [],[enable_aliroot_logging=no])
1430if test "x$have_aliroot" = "xno" ; then
1431 enable_aliroot_logging=yes # this means 'disable'
1432fi
1433if test "x$enable_aliroot_logging" != "xno" ; then
1434 AC_DEFINE(NOALIROOT_LOGGING)
1435fi
1436AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1437AC_MSG_RESULT([$enable_aliroot_logging])
1438
1439dnl ------------------------------------------------------------------
1440AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1441AH_TEMPLATE([DOMC],[MC saving])
1442AC_ARG_ENABLE(mc-saving,
1443 [AC_HELP_STRING([--enable-mc-saving],
1444 [enable saving MC data through the chain])],
1445 [],[enable_mc_saving=no])
1446if test "x$enable_mc_saving" = "xyes" ; then
1447 AC_DEFINE(DOMC)
1448fi
1449AC_MSG_RESULT([$enable_mc_saving])
1450
1451dnl ------------------------------------------------------------------
1452dnl certainly something old, but we keep the define
1453AC_MSG_CHECKING([whether to use ROWHOUGH])
1454AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1455AC_ARG_ENABLE(rowhough,
1456 [AC_HELP_STRING([--enable-rowhough],
1457 [use ROWHOUGH ])],
1458 [],[enable_rowhough=no])
1459if test "x$enable_rowhough" = "xyes" ; then
1460 AC_DEFINE(USEROWHOUGH)
1461fi
1462AC_MSG_RESULT([$enable_rowhough])
1463
1464dnl ------------------------------------------------------------------
1465dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1466dnl stand-alone build system. This is most likely something old we can
1467dnl get rid off later, or do something more reasonable. Since the define
1468dnl needs the quotes they have to be escaped. This works well for the
1469dnl Makefile but not for the configure script. So we have to add the
1470dnl defines after all the other checks.
1471CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1472if test ! "x$have_aliroot" = "xno" ; then
1473 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1474fi
1475
1476dnl ------------------------------------------------------------------
1477dnl
1478dnl Documentation
1479dnl
1480AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1481AC_PATH_PROG(PERL, perl)
1482AC_PATH_PROG(DOXYGEN, doxygen)
1483AC_ARG_ENABLE(dot,
1484 [AC_HELP_STRING([--enable-dot],
1485 [enable dot documentation generator])],
1486 [],[enable_dot=no])
1487HAVE_DOT=NO
1488DOT_PATH=
1489AC_PATH_PROG(DOT, dot)
1490if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
1491 HAVE_DOT=YES
1492 DOT_PATH=`dirname $DOT`
1493fi
1494
1495AC_MSG_CHECKING([for documentation mode])
1496AC_ARG_ENABLE(doc,
1497 [AC_HELP_STRING([--disable-doc],
1498 [disable documentation build; monolithic build --enable-doc=mono ])],
1499 [],[enable_doc=modules])
1500
1501if test "x$DOXYGEN" = "x" ; then
1502 enable_doc=no.doxygen
1503elif test "x$enable_doc" = "xyes" ; then
1504 enable_doc=yes
1505elif test ! "x$enable_doc" = "xmono" && \
1506 test ! "x$enable_doc" = "xmodules" && \
1507 test ! "x$enable_doc" = "xno"; then
1508 enable_doc=no
1509 AC_MSG_WARN([unknown option])
1510fi
1511if test "x$enable_doc" = "xno" ; then
1512 enable_doc=off
1513 DOXYGEN=
1514fi
1515
1516AC_MSG_RESULT([$enable_doc])
1517AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1518AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
1519AC_SUBST([HAVE_DOT])
1520AC_SUBST([DOT_PATH])
1521
1522dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1523dnl echo $HAVE_SRC_SUBDIR
1524dnl if ! test -d $HAVE_SRC_SUBDIR; then
1525dnl HAVE_SRC_SUBDIR=
1526dnl fi
1527dnl AC_SUBST([HAVE_SRC_SUBDIR])
1528
1529dnl ------------------------------------------------------------------
1530AC_MSG_NOTICE([---------------------------------------------- ])
1531AC_MSG_NOTICE([ build summary ])
1532AC_MSG_NOTICE([---------------------------------------------- ])
1533
1534AC_CONFIG_FILES([Makefile
1535 BASE/Makefile
1536 BASE/setenv.sh
1537 BASE/setenv.csh
1538 BASE/HOMER/Makefile
1539 BASE/util/Makefile
1540 BASE/util/test/Makefile
1541 BASE/interface/Makefile
1542 BASE/test/Makefile
1543 BASE/interface/test/Makefile
1544 doc/Makefile
1545 doc/doxygen.conf
1546 doc/doxymodule.conf])
1547
1548dnl AliRoot and installation directory for libraries
1549dnl
1550AC_MSG_NOTICE([AliRoot: $have_aliroot])
1551AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1552if test "x$have_aliroot" != "xno"; then
1553 AC_CONFIG_FILES([sim/Makefile
1554 rec/Makefile
1555 rec/test/Makefile
1556 rec/startAliEVE-barrel-tracks.sh
1557 shuttle/Makefile
1558 pendolino/Makefile
1559 benchmark/Makefile
1560 QA/Makefile
1561 ])
1562fi
1563if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1564libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1565AC_MSG_NOTICE([libdir set to $libdir])
1566fi
1567
1568AC_MSG_NOTICE([compile sample library: $enable_sample])
1569if test "x$enable_sample" = "xyes"; then
1570 AC_CONFIG_FILES([SampleLib/Makefile])
1571fi
1572
1573AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1574if test "x$enable_rcu" = "xyes"; then
1575 AC_CONFIG_FILES([RCU/Makefile
1576 RCU/test/Makefile
1577 ])
1578fi
1579
1580AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1581if test "x$enable_tpc" = "xyes"; then
1582 AC_CONFIG_FILES([TPCLib/Makefile
1583 TPCLib/test/Makefile
1584 TPCLib/mapping2array.cxx
1585 TPCLib/EVE/Makefile
1586 TPCLib/calibration/Makefile
1587 ])
1588fi
1589
1590AC_MSG_NOTICE([compile CALO library: $enable_calo])
1591if test "x$enable_calo" = "xyes"; then
1592 AC_CONFIG_FILES([CALO/Makefile
1593 CALO/test/Makefile])
1594fi
1595
1596AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1597if test "x$enable_phos" = "xyes"; then
1598 AC_CONFIG_FILES([PHOS/Makefile])
1599fi
1600
1601AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1602if test "x$enable_emcal" = "xyes"; then
1603 AC_CONFIG_FILES([EMCAL/Makefile])
1604fi
1605
1606AC_MSG_NOTICE([compile TRD library: $enable_trd])
1607if test "x$enable_trd" = "xyes"; then
1608 AC_CONFIG_FILES([TRD/Makefile])
1609fi
1610
1611AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1612if test "x$enable_fmd" = "xyes"; then
1613 AC_CONFIG_FILES([FMD/Makefile])
1614fi
1615
1616AC_MSG_NOTICE([compile ZDC library: $enable_zdc])
1617if test "x$enable_zdc" = "xyes"; then
1618 AC_CONFIG_FILES([ZDC/Makefile])
1619fi
1620
1621AC_MSG_NOTICE([compile MUON library: $enable_muon])
1622if test "x$enable_muon" = "xyes"; then
1623 AC_CONFIG_FILES([MUON/Makefile])
1624fi
1625
1626AC_MSG_NOTICE([compile ITS library: $enable_its])
1627if test "x$enable_its" = "xyes"; then
1628 AC_CONFIG_FILES([ITS/Makefile])
1629fi
1630
1631AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1632if test "x$enable_trigger" = "xyes"; then
1633 AC_CONFIG_FILES([trigger/Makefile
1634 trigger/test/Makefile])
1635fi
1636
1637AC_MSG_NOTICE([compile global library: $enable_global])
1638if test "x$enable_global" = "xyes"; then
1639 AC_CONFIG_FILES([global/Makefile])
1640fi
1641
1642AC_MSG_NOTICE([compile jet library: $enable_jet])
1643if test "x$enable_jet" = "xyes"; then
1644 AC_CONFIG_FILES([JET/Makefile])
1645fi
1646
1647AC_MSG_NOTICE([compile vzero library: $enable_vzero])
1648if test "x$enable_vzero" = "xyes"; then
1649 AC_CONFIG_FILES([VZERO/Makefile])
1650fi
1651
1652AC_MSG_NOTICE([compile comp library: $enable_comp])
1653if test "x$enable_comp" = "xyes"; then
1654 AC_CONFIG_FILES([comp/Makefile])
1655fi
1656
1657AC_OUTPUT
1658dnl
1659dnl EOF
1660dnl
1661