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