]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HLT/configure.ac
remove defnition of cluster correction
[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
36AC_PROG_CC
37AC_PROG_CXX
38AC_PROG_LIBTOOL
39
40AC_DEBUG
41AC_OPTIMIZATION
42AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
43
44dnl ------------------------------------------------------------------
45dnl A warning posted into the auto-generated files
46dnl Does NOT concern this file ;-)
47AUTOGENERATED_WARNING="!!!!!!! DO NOT EDIT THIS FILE !!!!!!"
48AC_SUBST([AUTOGENERATED_WARNING])
49
50dnl ------------------------------------------------------------------
51dnl
52dnl Check for ROOT
53dnl
54ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
55AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
56AC_SUBST([ROOTSYS])
57ROOTBINDIR=`dirname $ROOTEXEC`
58AC_SUBST([ROOTBINDIR])
59
60dnl test for additional required root libraries and headers
61LIBS='-ldl'
62if test "x$have_root" = "x1"; then
63 AC_LANG_PUSH(C++)
64 save_CPPFLAGS=$CPPFLAGS
65 save_LDFLAGS=$LDFLAGS
66 save_LIBS=$LIBS
67 CPPFLAGS=`echo $save_CPPFLAGS; for i in ${ROOTINCDIR}; do echo -n "-I$i " ; done`
68
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
74 # libTreePlayer.so
75 # - from Jan 07 libESD also depends on libXMLIO
76 # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
77 # - libCDB.so depends on libXMLParser since Mar 11 2009 r 31411
78 ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer XMLParser'
79 for CHECKLIB in $ROOT_CHECKLIBS ; do
80 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
81 LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
82 AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
83 done
84
85 # TBuffer.h has been made pure virtual in root v5-15-02 and one
86 # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
87 AC_CHECK_HEADER([TBufferFile.h], [], [HAVE_NOT_TBUFFERFILE])
88
89 # TView.h has been made pure virtual right after root v5-15-02 and one
90 # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
91 AC_CHECK_HEADER([TView3D.h], [], [HAVE_NOT_TVIEW3D])
92
93 CPPFLAGS=$save_CPPFLAGS
94 LDFLAGS=$save_LDFLAGS
95 LIBS=$save_LIBS
96 AC_LANG_POP(C++)
97fi
98
99dnl ------------------------------------------------------------------
100# TODO: make this configurable through arguments
101#Define whether you want to run with ALIROOT or only ROOT
102AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
103ALIHLT_USEPACKAGE=ALIROOT
104#ALIHLT_USEPACKAGE=ROOT
105#ALIHLT_USEPACKAGE=STANDALONE
106AC_DEFINE(use_aliroot)
107AC_DEFINE(use_root)
108CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
109save_CPPFLAGS=$CPPFLAGS
110save_LDFLAGS=$LDFLAGS
111save_LIBS=$LIBS
112
113dnl ------------------------------------------------------------------
114dnl check for AliRoot features
115AC_LANG_PUSH(C++)
116have_aliroot=no
117AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation],
118 [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
119 [])
120
121if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
122 dnl ------------------------------------------------------------------
123 dnl Try to estimate the system architecture
124 case $host_os:$host_cpu in
125 linux*:x86_64*) alice_target='linuxx8664gcc' ;;
126 linux*) alice_target='linux' ;;
127 *) alice_target='unknown' ;;
128 esac
129 if test "x$alice_target" = "xunknown" ; then
130 if test -z $ALICE_TARGET ; then
131 AC_MSG_ERROR([Can not estimate system architecture.
132 To avoid the problem, set the ALICE_TARGET variable appropriately.
133 Please send the following information to Matthias.Richter@ift.uib.no:
134 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
135 else
136 AC_MSG_NOTICE([Unknown system architecture.
137 Please send the following information to Matthias.Richter@ift.uib.no:
138 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
139 fi
140 else
141 if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
142 AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
143 overriding $ALICE_TARGET by $alice_target])
144 fi
145 ALICE_TARGET=$alice_target
146 fi
147 ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
148 ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
149 ALIROOTINCDIR=${ALICE_ROOT}/include
150 test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
151 test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
152 test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
153fi
154
155AC_MSG_CHECKING([for AliRoot])
156if test "x$ALICE_ROOT" != "x" \
157 && test -d ${ALIROOTBINDIR} \
158 && test -d ${ALIROOTLIBDIR} \
159 && test -d ${ALIROOTINCDIR}; then
160 have_aliroot=$ALICE_ROOT
161else
162 ALIROOTBINDIR=
163 ALIROOTLIBDIR=
164 ALIROOTINCDIR=
165fi
166AC_MSG_RESULT([$have_aliroot])
167
168if test ! "x$have_aliroot" = "xno" ; then
169 ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
170 ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
171 ALIROOT_LIBS="$ADD_ROOTLIBS"
172 save_CPPFLAGS=$CPPFLAGS
173 save_LDFLAGS=$LDFLAGS
174 save_LIBS=$LIBS
175 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
176 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
177
178 # check for certain AliRoot libraries/files/features
179 # libSTEERBase present since Aug 7 2007
180 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
181 CHECKLIB=STEERBase
182 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
183
184 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
185 CHECKLIB=AOD
186 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
187
188 # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
189 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
190 CHECKLIB=CDB
191 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
192
193 # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
194 have_alirawdata=no
195 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
196 CHECKLIB=RAWDatabase
197 AC_CHECK_LIB([$CHECKLIB],[_init],
198 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
199 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lESD -lSTEER"
200 CHECKLIB=RAWDatarec
201 AC_CHECK_LIB([$CHECKLIB],[_init],
202 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
203 have_alirawdata=$CHECKLIB])],
204 [# second pass with -RAWData
205 CHECKLIB="-lRAWData"
206 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
207 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
208 #include <AliRawReaderFile.h>
209 #include <AliRawReaderDate.h>
210 #include <AliRawReaderRoot.h>],
211 [AliRawReaderMemory mreader;
212 AliRawReaderFile freader;
213 AliRawReaderDate dreader(NULL,0);
214 AliRawReaderRoot rreader(NULL,0);])],
215 [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
216 have_alirawdata=$CHECKLIB],
217 [have_alirawdata=no])
218 ]) dnl AC_CHECK_LIB RAWDatabase
219 AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
220 AC_MSG_RESULT([$have_alirawdata])
221
222 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
223 CHECKLIB=ESD
224 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
225
226 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
227 CHECKLIB=STEER
228 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
229
230 dnl
231 dnl check whether AliLog supports notification callback
232 dnl
233 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
234 have_alilog_notification=no
235 if test ! "x$have_aliroot" = "xno" ; then
236 AC_MSG_CHECKING([whether AliLog supports notification callback])
237 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
238 [AliLog::AliLogNotification fct])],
239 [have_alilog_notification=yes],
240 [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
241 AC_MSG_RESULT([$have_alilog_notification])
242 fi
243
244 if test "x$have_aliroot" = "xno" ; then
245 # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
246 # but library dependencies might not be resolved completely
247 #ALIROOT_CPPFLAGS=
248 AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
249 This can happen from time to time due to development in AliRoot. You can
250 force compilation of detector libs by --enable-<detector>, but be aware
251 of unresolved references at runtime.])
252 AC_MSG_WARN([ ------------------------------------------ ])
253 AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
254 AC_MSG_WARN([ please include config.log ])
255 AC_MSG_WARN([ ------------------------------------------ ])
256 ALIROOT_LDFLAGS=
257 ALIROOT_LIBS=
258 fi
259
260 dnl
261 dnl ESD supports non-std content
262 dnl
263 have_esd_nonstd=no
264 AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>
265 #include <AliExternalTrackParam.h>
266 #include <TTree.h>
267 #include <TClonesArray.h>],
268 [AliESDEvent esd;
269 esd.CreateStdContent();
270 TTree* tree=new TTree("esdTree", "Tree with HLT ESD objects");
271 TClonesArray* a=new TClonesArray("AliExternalTrackParam");
272 a->SetName("SomeObject");
273 esd.AddObject(a);
274 esd.WriteToTree(tree);
275 if (!tree->FindBranch("SomeObject")) return 1;
276 return 0;])],
277 [have_esd_nonstd=yes],
278 [AC_DEFINE(HAVE_NOT_ESD_NONSTD)])
279 AC_MSG_CHECKING(whether ESD supports non standard content)
280 AC_MSG_RESULT([$have_esd_nonstd])
281
282 dnl
283 dnl ESD copy function added May 9 2008 rev 25667
284 dnl
285 if test "x$have_esd_nonstd" != "xyes"; then
286 have_esd_copy=no
287 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
288 [AliESDEvent esd1;
289 AliESDEvent esd2;
290 esd2=esd1;])],
291 [have_esd_copy=yes],
292 [AC_DEFINE(HAVE_NOT_ESD_COPY)])
293 AC_MSG_CHECKING(for ESD assignment operator)
294 AC_MSG_RESULT([$have_esd_copy])
295 fi
296
297 dnl
298 dnl AliRawReaderMemory support for multiple buffers added
299 dnl revision 26829 Jun 2008
300 dnl
301 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
302 have_rawreadermemory_multbuffers=no
303 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
304 [AliRawReaderMemory rr;
305 rr.AddBuffer(NULL, 0, 0);])],
306 [have_rawreadermemory_multbuffers=yes],
307 [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
308 AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
309 AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
310
311 dnl
312 dnl required header files and libraries for modules
313 dnl
314
315 dnl
316 dnl Check for the interface of AliExternalTrackParam which has been changed
317 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
318 dnl or higher)
319 externaltrackparam_version=1
320 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
321 [AliExternalTrackParam trackparam;
322 Double_t param[[5]]; Double_t covar[[15]];
323 trackparam.Set(0., 0., param, covar);])],
324 [externaltrackparam_version=2],
325 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
326 AC_MSG_CHECKING(for version of AliExternalTrackParam)
327 AC_MSG_RESULT($externaltrackparam_version)
328
329 dnl The AliShuttleInterface was changed in rev 29388. Some return types
330 dnl had been const, now changed according to gcc 4.3 warnings
331 AC_MSG_CHECKING(for version of AliShuttleInterface.h)
332 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/"
333 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
334 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
335 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliShuttleInterface.h>],
336 [class dummy : public AliShuttleInterface {
337 public:
338 const UInt_t GetStartTimeDCSQuery() {;}
339 };])],
340 [AC_DEFINE(SHUTTLE_PRE_REV29388_INTERFACE)
341 alishuttleinterface_version=pre.rev.29388],
342 [alishuttleinterface_version=up.to.date])
343 AC_MSG_RESULT([$alishuttleinterface_version])
344
345 CPPFLAGS=$save_CPPFLAGS
346 LDFLAGS=$save_LDFLAGS
347 LIBS=$save_LIBS
348fi # if test ! "x$have_aliroot" = "xno"
349
350AC_LANG_POP(C++)
351AC_SUBST([ALICE_ROOT])
352AC_SUBST([ALIROOT_CPPFLAGS])
353AC_SUBST([ALIROOT_LDFLAGS])
354AC_SUBST([ALIROOTBINDIR])
355AC_SUBST([ALIROOTLIBDIR])
356AC_SUBST([ALIROOT_LIBS])
357AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
358
359HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
360HLTBASE_LDFLAGS=
361AC_SUBST([HLTBASE_CPPFLAGS])
362AC_SUBST([HLTBASE_LDFLAGS])
363
364dnl ------------------------------------------------------------------
365dnl check for the HLT PubSub Framework
366dnl namely for the existence of the HOMER library
367dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
368dnl package. It os though possible to choose an external. library
369dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
370dnl got the name libAliHLTHOMER
371AC_MSG_CHECKING([for HLT PubSub Framework])
372AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
373 [],
374 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
375if test -z $with_pubsub || ! test -d $with_pubsub ; then
376 with_pubsub=no
377fi
378AC_MSG_RESULT([$with_pubsub])
379HOMER_VERSION=2
380HOMER_LIBS=
381
382AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
383if test "x$with_pubsub" != "xno" ; then
384 save_CPPFLAGS=$CPPFLAGS
385 save_LDFLAGS=$LDFLAGS
386 save_LIBS=$LIBS
387 # currently the different versions of the HLT PubSub framework have a different
388 # directory layout
389 if test -d ${with_pubsub}/include/HOMER ; then
390 # the 'early' location of the include files with separated HOMER sub dirs
391 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
392 elif test -d ${with_pubsub}/include/Util/HOMER ; then
393 # location for HLT Framework versions after Sep 2006
394 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
395 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
396 # fall back if include files were not installed (versions after Sep 06)
397 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
398 else
399 # fall back if include files were not installed (versions before Sep 06)
400 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
401 fi
402 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
403
404 AC_ARG_ENABLE(pubsub-debug,
405 [AC_HELP_STRING([--disable-pubsub-debug],
406 [force the production version of the PubSub framework])],
407 [],[enable_pubsub_debug=yes])
408 homer_type="none"
409 HOMER_TARGET="`uname -s`-`uname -m`"
410 AC_MSG_CHECKING([for HLT PubSub Framework release type])
411 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
412 homer_type="production"
413 HOMER_TARGET="${HOMER_TARGET}-release"
414 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
415 homer_type="debug"
416 HOMER_TARGET="${HOMER_TARGET}-debug"
417 fi
418 AC_MSG_RESULT([${homer_type}])
419 HOMERREADER_HEADER=HOMERReader.h
420 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
421 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
422 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
423 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
424 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
425 LIBS="$save_LIBS "
426 with_homer=no
427 AC_LANG_PUSH(C++)
428 AC_CHECK_HEADER([$HOMERREADER_HEADER],
429 [ AC_CHECK_LIB([HOMER],[_init],
430 [with_homer=yes
431 HOMER_LIBS="-lHOMER"],
432 [ AC_CHECK_LIB([HOMERReader],[_init],
433 [with_homer=yes
434 HOMER_LIBS="-lHOMERReader"])])
435 LIBS="$LIBS $HOMER_LIBS"
436 AC_MSG_CHECKING([version of HOMER library])
437 dnl The Homer library has no versioning, so we do our own
438 dnl version description
439 dnl ----------------------------------------------------------------------
440 dnl 1 inintial version
441 dnl 2 GetBlockStatusFlags added to the interface
442 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
443 [HOMERReader reader("dummy", 0);
444 reader.GetBlockStatusFlags(0);])],
445 [],
446 [HOMER_VERSION=1])
447 AC_MSG_RESULT([$HOMER_VERSION])
448 ],
449 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
450 AC_LANG_POP(C++)
451 HOMER_INBUILT_LIB=
452else
453dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
454 topdir=`dirname $0`
455 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
456 HOMERREADER_HEADER=AliHLTHOMERReader.h
457 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
458 HOMER_BINDIR=
459 HOMER_LIBDIR=
460 HOMER_LDFLAGS=
461fi
462
463 if test "x$with_homer" = "xno" ; then
464 HOMER_CPPFLAGS=
465 HOMER_LDFLAGS=
466 HOMER_LIBS=
467 else
468 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
469 AC_DEFINE(HAVE_HOMERREADER)
470 fi
471 CPPFLAGS="$save_CPPFLAGS"
472 LDFLAGS="$save_LDFLAGS"
473 LIBS="$save_LIBS"
474
475AC_SUBST([HOMERREADER_HEADER])
476AC_SUBST([HOMER_INBUILT_LIB])
477AC_SUBST([HOMER_CPPFLAGS])
478AC_SUBST([HOMER_LDFLAGS])
479AC_SUBST([HOMER_LIBDIR])
480AC_SUBST([HOMER_BINDIR])
481AC_SUBST([HOMER_LIBS])
482
483dnl ------------------------------------------------------------------
484AC_ARG_ENABLE(all,
485 [AC_HELP_STRING([--disable-all],
486 [disable all detector modules, individual modules can be switched on by --enable-det])],
487 [disable_all=yes],[])
488
489dnl ------------------------------------------------------------------
490AC_MSG_CHECKING([whether to impose strict coding conventions])
491AC_ARG_ENABLE(strict,
492 [AC_HELP_STRING([--disable-strict],
493 [disable coding convention checks ])],
494 [],[enable_strict=yes])
495if test "x$enable_strict" = "xyes" ; then
496 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
497fi
498AC_MSG_RESULT([$enable_strict])
499
500dnl ------------------------------------------------------------------
501AC_MSG_CHECKING([whether to enable component statistics])
502AC_ARG_ENABLE(component-stat,
503 [AC_HELP_STRING([--enable-component-stat],
504 [enable component statistics ])],
505 [],[enable_component_stat=no])
506if test "x$enable_component_stat" = "xyes" ; then
507 AC_DEFINE(HLT_COMPONENT_STATISTICS)
508fi
509AC_MSG_RESULT([$enable_component_stat])
510
511dnl ------------------------------------------------------------------
512dnl ---- module checks
513dnl ------------------------------------------------------------------
514save_CPPFLAGS=$CPPFLAGS
515save_LDFLAGS=$LDFLAGS
516save_LIBS=$LIBS
517
518dnl ------------------------------------------------------------------
519AC_MSG_CHECKING([whether to compile sample library])
520AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
521AC_ARG_ENABLE(sample,
522 [AC_HELP_STRING([--disable-sample],
523 [compile the sample library ])],
524 [],
525 [if test "x$have_aliroot" = "xno" ; then
526 enable_sample="no...requires.AliRoot"
527 else
528 enable_sample=yes
529 fi
530 ])
531
532if test "x$enable_sample" = "xyes" ; then
533 AC_DEFINE(HLT_SAMPLE)
534fi
535AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
536AC_MSG_RESULT([$enable_sample])
537
538dnl ------------------------------------------------------------------
539AC_MSG_CHECKING([whether to compile util library])
540AH_TEMPLATE([HLT_UTIL],[HLT utility library])
541AC_ARG_ENABLE(util,
542 [AC_HELP_STRING([--disable-util],
543 [compile the util library ])],
544 [],
545 [if test "x$have_aliroot" = "xno" ; then
546 enable_util="no...requires.AliRoot"
547 else
548 enable_util=yes
549 fi
550 ])
551
552if test "x$enable_util" = "xyes" ; then
553 AC_DEFINE(HLT_UTIL)
554fi
555AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
556AC_MSG_RESULT([$enable_util])
557
558dnl ------------------------------------------------------------------
559AH_TEMPLATE([HLT_TPC],[hlt tpc library])
560
561ALITPC_LIBS=
562CHECK_HLTMODULE([tpc],
563 [AliTPCRawStream.h],
564 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
565 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
566 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
567 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
568
569if test "x$enable_module" = "xmissheader"; then
570 enable_module="no...missing.headers"
571 enable_tpc=$enable_module
572elif test "x$enable_module" = "xforce"; then
573 enable_tpc="yes"
574else
575 enable_tpc=$enable_module
576fi
577
578if test "x$enable_tpc" = "xyes" ; then
579 AC_LANG_PUSH(C++)
580 AC_DEFINE(HLT_TPC)
581 ALITPC_LIBS=$ALIHLTMODULE_LIBS
582 dnl
583 dnl Check for functionality in the TPC reconstruction required for online
584 dnl processing
585 dnl
586 have_tpc_hltoffline_rec=no
587 AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
588 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
589 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
590 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
591 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
592 #include <AliTPCclustererMI.h>
593 #include <TObjArray.h>],
594 [AliTPCtrackerMI tracker;
595 TObjArray* array=NULL;
596 tracker.LoadClusters(array);
597 AliTPCclustererMI cl(NULL, NULL);
598 cl.GetOutputClonesArray();])],
599 [have_tpc_hltoffline_rec=yes],
600 [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
601 LIBS=$save_LIBS
602 AC_MSG_RESULT([$have_tpc_hltoffline_rec])
603
604 AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
605 AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
606
607 have_tpc_mapping=no
608 if test ! "x$have_aliroot" = "xno" ; then
609 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
610 # which is stored in the TPC/mapping/Patchx.data files from
611 # AliRoot version v4-04-Release (May 2006)
612 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
613 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
614 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
615 [have_tpc_mapping=yes
616 AC_SUBST(TPC_PAD_MAPPING_PATH)
617 AC_DEFINE(HAVE_TPC_MAPPING)],
618 [])
619
620 fi
621 AC_MSG_CHECKING([for TPC mapping layout])
622 AC_MSG_RESULT([$have_tpc_mapping])
623 AC_LANG_POP(C++)
624
625else
626 enable_module=$enable_tpc
627fi
628AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
629AC_MSG_CHECKING([whether to compile TPC library])
630AC_MSG_RESULT([$enable_module])
631AC_SUBST([ALITPC_LIBS])
632
633dnl ------------------------------------------------------------------
634AH_TEMPLATE([HLT_RCU],[hlt rcu library])
635
636CHECK_HLTMODULE([rcu],
637 [AliAltroDecoder.h],
638 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
639 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
640 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
641 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
642
643if test "x$enable_module" = "xmissheader"; then
644 enable_module="no...missing.headers"
645 enable_rcu=$enable_module
646elif test "x$enable_module" = "xforce"; then
647 enable_rcu="yes"
648else
649 AC_LANG_PUSH(C++)
650 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
651 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
652 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
653 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
654 [AliAltroDecoder decoder;
655 decoder.CopyBackward(NULL, 0);])],
656 [enable_rcu=$enable_module],
657 [enable_module="no...requires.AliRoot>v4-10-Release"
658 enable_rcu="no...requires.AliRoot>v4-10-Release"])
659 CPPFLAGS=$save_CPPFLAGS
660 LDFLAGS=$save_LDFLAGS
661 LIBS=$save_LIBS
662 AC_LANG_POP(C++)
663fi
664
665if test "x$enable_rcu" = "xyes" ; then
666 AC_DEFINE(HLT_RCU)
667else
668 enable_module=$enable_rcu
669fi
670AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
671AC_MSG_CHECKING([whether to compile RCU library])
672AC_MSG_RESULT([$enable_module])
673AC_SUBST([ALIRCU_LIBS])
674
675dnl ------------------------------------------------------------------
676AH_TEMPLATE([HLT_PHOS],[hlt phos library])
677
678ALIPHOS_LIBS=
679CHECK_HLTMODULE([phos],
680 [], [$ALIROOT_CPPFLAGS],
681 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
682 [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
683 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
684
685if test "x$enable_module" = "xmissheader"; then
686 enable_module="no...requires.AliRoot>v4-05-07"
687 enable_phos=$enable_module
688elif test "x$enable_module" = "xforce"; then
689 enable_phos="yes"
690else
691 have_alicalorawstream=no
692 if test ! "x$have_aliroot" = "xno" ; then
693 AC_LANG_PUSH(C++)
694 save_CPPFLAGS="$CPPFLAGS"
695 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
696 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
697 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
698 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
699 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
700 #include <AliCaloRawStream.h>],
701 [int i])],
702 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
703 have_alicalorawstream=yes],
704 [])
705 AC_MSG_RESULT([$have_aliphosrecoparam])
706 AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
707 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
708 [AliPHOSRecoParam param;
709 param.GetEMCClusteringThreshold()])],
710 [have_aliphosrecoparam=yes],
711 [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
712 AC_MSG_RESULT([$have_alicalorawstream])
713 AC_LANG_POP(C++)
714 CPPFLAGS="$save_CPPFLAGS"
715 fi
716 if test "x$have_alicalorawstream" != "xyes"; then
717 enable_phos="no...requires.AliRoot>v4-05-07"
718 else
719 enable_phos=$enable_module
720 fi
721fi
722
723if test "x$enable_phos" = "xyes" ; then
724 AC_DEFINE(HLT_PHOS)
725 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
726else
727 enable_module=$enable_phos
728fi
729AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
730AC_MSG_CHECKING([whether to compile PHOS library])
731AC_MSG_RESULT([$enable_module])
732AC_SUBST([ALIPHOS_LIBS])
733
734dnl ------------------------------------------------------------------
735AH_TEMPLATE([HLT_TRD],[hlt trd library])
736
737ALITRD_LIBS=
738CHECK_HLTMODULE([trd],
739 [], [],
740 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
741 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
742 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
743
744if test "x$enable_module" = "xmissheader"; then
745 enable_module="no...requires.AliRoot>v4-07-Release"
746 enable_trd=$enable_module
747elif test "x$enable_module" = "xforce"; then
748 enable_trd="yes"
749else
750 enable_trd=$enable_module
751 if test "x$enable_trd" = "xyes" ; then
752 AC_LANG_PUSH(C++)
753 save_CPPFLAGS="$CPPFLAGS"
754 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
755 # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
756 # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
757 # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
758 # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
759 # changed to AliTRDCluster according to revision 30461, Thu Dec 18 2008
760 AC_MSG_CHECKING([for required functions in AliTRDCluster])
761 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDcluster.h>],
762 [AliTRDcluster c;
763 c.SetDetector(0)])],
764 [],
765 [enable_trd="no...requires.AliRoot>v4-16-Release"])
766 AC_MSG_RESULT([$enable_trd])
767 AC_LANG_POP(C++)
768 CPPFLAGS="$save_CPPFLAGS"
769 fi
770fi
771
772if test "x$enable_trd" = "xyes" ; then
773 AC_DEFINE(HLT_TRD)
774 ALITRD_LIBS=$ALIHLTMODULE_LIBS
775else
776 enable_module=$enable_trd
777fi
778AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
779AC_MSG_CHECKING([whether to compile TRD library])
780AC_MSG_RESULT([$enable_module])
781AC_SUBST([ALITRD_LIBS])
782
783dnl ------------------------------------------------------------------
784AH_TEMPLATE([HLT_FMD],[hlt fmd library])
785
786ALIFMD_LIBS=$ALIHLTMODULE_LIBS
787CHECK_HLTMODULE([fmd],
788 [], [],
789 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
790 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
791 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
792
793if test "x$enable_module" = "xmissheader"; then
794 enable_module="no...missing.headers"
795 enable_fmd=$enable_module
796elif test "x$enable_module" = "xforce"; then
797 enable_fmd="yes"
798else
799 enable_fmd=$enable_module
800fi
801
802if test "x$enable_fmd" = "xyes" ; then
803 AC_DEFINE(HLT_FMD)
804 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
805else
806 enable_module=$enable_fmd
807fi
808AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
809AC_MSG_CHECKING([whether to compile FMD library])
810AC_MSG_RESULT([$enable_module])
811AC_SUBST([ALIFMD_LIBS])
812
813dnl ------------------------------------------------------------------
814AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
815
816ALIMUON_LIBS=
817CHECK_HLTMODULE([dimuon],
818 [AliMpExMap.h AliMUONTriggerIO.h],
819 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
820 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
821 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
822 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
823
824if test "x$enable_module" = "xmissheader"; then
825 enable_module="no...requires.AliRoot>=v4-08-Release"
826 enable_muon=$enable_module
827elif test "x$enable_module" = "xforce"; then
828 enable_muon="yes"
829else
830 enable_muon=$enable_module
831fi
832
833if test "x$enable_muon" = "xyes" ; then
834 AC_DEFINE(HLT_MUON)
835 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
836 AC_LANG_PUSH(C++)
837 save_CPPFLAGS="$CPPFLAGS"
838
839 dnl
840 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
841 dnl
842 have_muon_digitmaker_getrawstream=no
843 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
844 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
845 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
846 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
847 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
848 [AliMUONDigitMaker dm;
849 dm.GetRawStreamTracker();])],
850 [have_muon_digitmaker_getrawstream=yes],
851 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
852 LIBS=$save_LIBS
853 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
854 CPPFLAGS="$save_CPPFLAGS"
855
856 AC_LANG_POP(C++)
857else
858 enable_module=$enable_muon
859fi
860AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
861AC_MSG_CHECKING([whether to compile MUON library])
862AC_MSG_RESULT([$enable_module])
863AC_SUBST([ALIMUON_LIBS])
864
865dnl ------------------------------------------------------------------
866AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
867
868ALITRIGGER_LIBS=
869CHECK_HLTMODULE([trigger],
870 [], [$ALIROOT_CPPFLAGS],
871 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
872 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
873 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
874
875if test "x$enable_module" = "xmissheader"; then
876 enable_module="no...header.missing"
877 enable_trigger=$enable_module
878elif test "x$enable_module" = "xforce"; then
879 enable_trigger="yes"
880else
881 enable_trigger=$enable_module
882fi
883
884if test "x$enable_trigger" = "xyes" ; then
885 AC_DEFINE(HLT_TRIGGER)
886 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
887else
888 enable_module=$enable_trigger
889fi
890AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
891AC_MSG_CHECKING([whether to compile Trigger library])
892AC_MSG_RESULT([$enable_module])
893AC_SUBST([ALITRIGGER_LIBS])
894
895dnl ------------------------------------------------------------------
896AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
897
898ALIGLOBAL_LIBS=
899CHECK_HLTMODULE([global],
900 [], [$ALIROOT_CPPFLAGS],
901 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
902 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
903 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
904
905if test "x$enable_module" = "xmissheader"; then
906 enable_module="no...header.missing"
907 enable_global=$enable_module
908elif test "x$enable_module" = "xforce"; then
909 enable_global="yes"
910else
911 enable_global=$enable_module
912 if test "x$enable_global" = "xyes" ; then
913 AC_LANG_PUSH(C++)
914 save_CPPFLAGS="$CPPFLAGS"
915 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
916 AC_MSG_CHECKING([for required functions in AliESDtrack])
917 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>],
918 [AliESDtrack t;
919 t.SetGlobalChi2(0)])],
920 [],
921 [enable_global="no...requires.AliRoot>v4-17-Release"])
922 AC_MSG_RESULT([$enable_global])
923 AC_LANG_POP(C++)
924 CPPFLAGS="$save_CPPFLAGS"
925 fi
926fi
927
928if test "x$enable_global" = "xyes" ; then
929 AC_DEFINE(HLT_GLOBAL)
930 ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
931else
932 enable_module=$enable_global
933fi
934AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
935AC_MSG_CHECKING([whether to compile Global library])
936AC_MSG_RESULT([$enable_module])
937AC_SUBST([ALIGLOBAL_LIBS])
938
939dnl ------------------------------------------------------------------
940AH_TEMPLATE([HLT_JET],[hlt jet library])
941
942ALIFASTJET_HEADER=
943ALIFASTJET_INCFLAGS=
944ALIFASTJET_LIBS=
945ALIFASTJET_LDFLAGS=
946AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
947 [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
948 [ test -n $FASTJET && with_fastjet=$FASTJET ])
949
950if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
951 ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
952 ALIFASTJET_HEADER="PseudoJet.hh"
953 ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
954 ALIFASTJET_LIBS="CGAL fastjet"
955else
956 with_fastjet=no
957fi
958
959CHECK_HLTMODULE([jet],
960 [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
961 [$ALIFASTJET_LIBS], [-L$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
962 [AOD ESD ANALYSIS ANALYSISalice JETAN JETANMC],
963 [-L$ROOTLIBDIR $ALIROOT_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
964 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
965
966if test "x$enable_module" = "xmissheader"; then
967 enable_module="no...header.missing"
968 enable_jet=$enable_module
969elif test "x$enable_module" = "xforce"; then
970 enable_jet="yes"
971else
972 enable_jet=$enable_module
973fi
974
975if test "x$enable_jet" = "xyes" ; then
976 AC_DEFINE(HLT_JET)
977 ALIJET_LIBS="$ALIHLTMODULE_LIBS"
978
979 if test "x$with_fastjet" != "xno"; then
980 AC_DEFINE(HAVE_FASTJET)
981 AC_DEFINE(WITHFASTJET)
982 ALIJET_LIBS="$ALIJET_LIBS -L$FASTJET_LDFLAGS"
983 fi
984 AC_MSG_CHECKING([compilation with FASTJET package])
985 AC_MSG_RESULT($with_fastjet)
986
987else
988 enable_module=$enable_jet
989fi
990
991AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
992AC_MSG_CHECKING([whether to compile Jet library])
993AC_MSG_RESULT([$enable_module])
994AC_SUBST([ALIJET_LIBS])
995
996dnl ------------------------------------------------------------------
997AH_TEMPLATE([HLT_ITS],[hlt its library])
998
999ALIITS_LIBS=
1000CHECK_HLTMODULE([its],
1001 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
1002 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1003 [ITSbase ITSrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1004 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1005
1006if test "x$enable_module" = "xmissheader"; then
1007 enable_module="no...header.missing"
1008 enable_its=$enable_module
1009elif test "x$enable_module" = "xforce"; then
1010 enable_its="yes"
1011else
1012 enable_its=$enable_module
1013 if test "x$enable_its" = "xyes" ; then
1014 AC_LANG_PUSH(C++)
1015 save_CPPFLAGS="$CPPFLAGS"
1016 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
1017 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
1018 # require AliVertexer::GetNominalPos()
1019 AC_MSG_CHECKING([for required functions in AliITSVertexer])
1020 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
1021 [AliITSVertexerZ v;
1022 v.GetNominalPos()])],
1023 [],
1024 [enable_its="no...requires.AliRoot>v4-13-Release"])
1025 AC_MSG_RESULT([$enable_its])
1026 AC_LANG_POP(C++)
1027 CPPFLAGS="$save_CPPFLAGS"
1028 fi
1029fi
1030
1031if test "x$enable_its" = "xyes" ; then
1032 AC_DEFINE(HLT_ITS)
1033 ALIITS_LIBS=$ALIHLTMODULE_LIBS
1034else
1035 enable_module=$enable_its
1036fi
1037AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
1038AC_MSG_CHECKING([whether to compile ITS library])
1039AC_MSG_RESULT([$enable_module])
1040AC_SUBST([ALIITS_LIBS])
1041
1042dnl ------------------------------------------------------------------
1043AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
1044
1045ALIEMCAL_LIBS=
1046CHECK_HLTMODULE([emcal],
1047 [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL],
1048 [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1049 [EMCALrec EMCALsim EMCALbase], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1050 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1051
1052if test "x$enable_module" = "xmissheader"; then
1053 enable_module="no...header.missing"
1054 enable_emcal=$enable_module
1055elif test "x$enable_module" = "xforce"; then
1056 enable_emcal="yes"
1057else
1058 enable_emcal=$enable_module
1059fi
1060
1061if test "x$enable_emcal" = "xyes" ; then
1062 AC_DEFINE(HLT_EMCAL)
1063 ALIEMCAL_LIBS=$ALIHLTMODULE_LIBS
1064else
1065 enable_module=$enable_emcal
1066fi
1067AM_CONDITIONAL(EN_HLT_EMCAL, test x$enable_emcal = xyes)
1068AC_MSG_CHECKING([whether to compile EMCAL library])
1069AC_MSG_RESULT([$enable_module])
1070AC_SUBST([ALIEMCAL_LIBS])
1071
1072dnl ------------------------------------------------------------------
1073AH_TEMPLATE([HLT_COMP],[hlt comp library])
1074
1075ALICOMP_LIBS=
1076CHECK_HLTMODULE([comp],
1077 [], [$ALIROOT_CPPFLAGS],
1078 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1079 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1080 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1081
1082if test "x$enable_module" = "xmissheader"; then
1083 enable_module="no...header.missing"
1084 enable_comp=$enable_module
1085elif test "x$enable_module" = "xforce"; then
1086 enable_comp="yes"
1087else
1088 enable_comp=$enable_module
1089fi
1090
1091if test "x$enable_comp" = "xyes" ; then
1092 AC_DEFINE(HLT_COMP)
1093 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
1094else
1095 enable_module=$enable_comp
1096fi
1097AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
1098AC_MSG_CHECKING([whether to compile comp library])
1099AC_MSG_RESULT([$enable_module])
1100AC_SUBST([ALICOMP_LIBS])
1101
1102dnl ------------------------------------------------------------------
1103AC_MSG_CHECKING([whether to disable AliRoot logging])
1104AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
1105AC_ARG_ENABLE(aliroot-logging,
1106 [AC_HELP_STRING([--disable-aliroot-logging],
1107 [disable logging through AliRoot logging methods])],
1108 [],[enable_aliroot_logging=no])
1109if test "x$have_aliroot" = "xno" ; then
1110 enable_aliroot_logging=yes # this means 'disable'
1111fi
1112if test "x$enable_aliroot_logging" != "xno" ; then
1113 AC_DEFINE(NOALIROOT_LOGGING)
1114fi
1115AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1116AC_MSG_RESULT([$enable_aliroot_logging])
1117
1118dnl ------------------------------------------------------------------
1119AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1120AH_TEMPLATE([DOMC],[MC saving])
1121AC_ARG_ENABLE(mc-saving,
1122 [AC_HELP_STRING([--enable-mc-saving],
1123 [enable saving MC data through the chain])],
1124 [],[enable_mc_saving=no])
1125if test "x$enable_mc_saving" = "xyes" ; then
1126 AC_DEFINE(DOMC)
1127fi
1128AC_MSG_RESULT([$enable_mc_saving])
1129
1130dnl ------------------------------------------------------------------
1131dnl certainly something old, but we keep the define
1132AC_MSG_CHECKING([whether to use ROWHOUGH])
1133AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1134AC_ARG_ENABLE(rowhough,
1135 [AC_HELP_STRING([--enable-rowhough],
1136 [use ROWHOUGH ])],
1137 [],[enable_rowhough=no])
1138if test "x$enable_rowhough" = "xyes" ; then
1139 AC_DEFINE(USEROWHOUGH)
1140fi
1141AC_MSG_RESULT([$enable_rowhough])
1142
1143dnl ------------------------------------------------------------------
1144dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1145dnl stand-alone build system. This is most likely something old we can
1146dnl get rid off later, or do something more reasonable. Since the define
1147dnl needs the quotes they have to be escaped. This works well for the
1148dnl Makefile but not for the configure script. So we have to add the
1149dnl defines after all the other checks.
1150CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1151if test ! "x$have_aliroot" = "xno" ; then
1152 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1153fi
1154
1155dnl ------------------------------------------------------------------
1156dnl
1157dnl Documentation
1158dnl
1159AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1160AC_PATH_PROG(PERL, perl)
1161AC_PATH_PROG(DOXYGEN, doxygen)
1162AC_ARG_ENABLE(dot,
1163 [AC_HELP_STRING([--enable-dot],
1164 [enable dot documentation generator])],
1165 [],[enable_dot=no])
1166HAVE_DOT=NO
1167DOT_PATH=
1168AC_PATH_PROG(DOT, dot)
1169if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
1170 HAVE_DOT=YES
1171 DOT_PATH=`dirname $DOT`
1172fi
1173
1174AC_MSG_CHECKING([for documentation mode])
1175AC_ARG_ENABLE(doc,
1176 [AC_HELP_STRING([--disable-doc],
1177 [disable documentation build; monolithic build --enable-doc=mono ])],
1178 [],[enable_doc=modules])
1179
1180if test "x$DOXYGEN" = "x" ; then
1181 enable_doc=no.doxygen
1182elif test "x$enable_doc" = "xyes" ; then
1183 enable_doc=yes
1184elif test ! "x$enable_doc" = "xmono" && \
1185 test ! "x$enable_doc" = "xmodules" && \
1186 test ! "x$enable_doc" = "xno"; then
1187 enable_doc=no
1188 AC_MSG_WARN([unknown option])
1189fi
1190if test "x$enable_doc" = "xno" ; then
1191 enable_doc=off
1192 DOXYGEN=
1193fi
1194
1195AC_MSG_RESULT([$enable_doc])
1196AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1197AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
1198AC_SUBST([HAVE_DOT])
1199AC_SUBST([DOT_PATH])
1200
1201dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1202dnl echo $HAVE_SRC_SUBDIR
1203dnl if ! test -d $HAVE_SRC_SUBDIR; then
1204dnl HAVE_SRC_SUBDIR=
1205dnl fi
1206dnl AC_SUBST([HAVE_SRC_SUBDIR])
1207
1208dnl ------------------------------------------------------------------
1209AC_MSG_NOTICE([---------------------------------------------- ])
1210AC_MSG_NOTICE([ build summary ])
1211AC_MSG_NOTICE([---------------------------------------------- ])
1212
1213AC_CONFIG_FILES([Makefile
1214 BASE/Makefile
1215 BASE/setenv.sh
1216 BASE/setenv.csh
1217 BASE/HOMER/Makefile
1218 BASE/util/Makefile
1219 BASE/util/test/Makefile
1220 BASE/interface/Makefile
1221 BASE/test/Makefile
1222 BASE/interface/test/Makefile
1223 doc/Makefile
1224 doc/doxygen.conf
1225 doc/doxymodule.conf])
1226
1227dnl AliRoot and installation directory for libraries
1228dnl
1229AC_MSG_NOTICE([AliRoot: $have_aliroot])
1230AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1231if test "x$have_aliroot" != "xno"; then
1232 AC_CONFIG_FILES([sim/Makefile
1233 rec/Makefile
1234 rec/test/Makefile
1235 rec/startAliEVE-barrel-tracks.sh
1236 shuttle/Makefile
1237 pendolino/Makefile
1238 benchmark/Makefile
1239 ])
1240fi
1241if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1242libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1243AC_MSG_NOTICE([libdir set to $libdir])
1244fi
1245
1246AC_MSG_NOTICE([compile sample library: $enable_sample])
1247if test "x$enable_sample" = "xyes"; then
1248 AC_CONFIG_FILES([SampleLib/Makefile])
1249fi
1250
1251AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1252if test "x$enable_rcu" = "xyes"; then
1253 AC_CONFIG_FILES([RCU/Makefile
1254 RCU/test/Makefile
1255 ])
1256fi
1257
1258AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1259if test "x$enable_tpc" = "xyes"; then
1260 AC_CONFIG_FILES([TPCLib/Makefile
1261 TPCLib/test/Makefile
1262 TPCLib/mapping2array.cxx
1263 TPCLib/EVE/Makefile
1264 ])
1265fi
1266
1267AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1268if test "x$enable_phos" = "xyes"; then
1269 AC_CONFIG_FILES([PHOS/Makefile])
1270fi
1271
1272AC_MSG_NOTICE([compile TRD library: $enable_trd])
1273if test "x$enable_trd" = "xyes"; then
1274 AC_CONFIG_FILES([TRD/Makefile])
1275fi
1276
1277AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1278if test "x$enable_fmd" = "xyes"; then
1279 AC_CONFIG_FILES([FMD/Makefile])
1280fi
1281
1282AC_MSG_NOTICE([compile MUON library: $enable_muon])
1283if test "x$enable_muon" = "xyes"; then
1284 AC_CONFIG_FILES([MUON/Makefile])
1285fi
1286
1287AC_MSG_NOTICE([compile ITS library: $enable_its])
1288if test "x$enable_its" = "xyes"; then
1289 AC_CONFIG_FILES([ITS/Makefile])
1290fi
1291
1292AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1293if test "x$enable_emcal" = "xyes"; then
1294 AC_CONFIG_FILES([EMCAL/Makefile])
1295fi
1296
1297AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1298if test "x$enable_trigger" = "xyes"; then
1299 AC_CONFIG_FILES([trigger/Makefile
1300 trigger/test/Makefile])
1301fi
1302
1303AC_MSG_NOTICE([compile global library: $enable_global])
1304if test "x$enable_global" = "xyes"; then
1305 AC_CONFIG_FILES([global/Makefile])
1306fi
1307
1308AC_MSG_NOTICE([compile jet library: $enable_jet])
1309if test "x$enable_jet" = "xyes"; then
1310 AC_CONFIG_FILES([JET/Makefile])
1311fi
1312
1313AC_MSG_NOTICE([compile comp library: $enable_comp])
1314if test "x$enable_comp" = "xyes"; then
1315 AC_CONFIG_FILES([comp/Makefile])
1316fi
1317
1318AC_OUTPUT
1319dnl
1320dnl EOF
1321dnl
1322