]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/configure.ac
adding libEMCALUtils to libAliHLTCalo dependencies
[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
f527516f 273 dnl
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
83cb7e1d 295 dnl
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
296b5188 310 dnl
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
a553c904 324 dnl
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
f5bf5fc3 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
78b557c2 410dnl ------------------------------------------------------------------
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
7233bc62 529dnl ------------------------------------------------------------------
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
85869391 535dnl ------------------------------------------------------------------
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
5b6ab198 546dnl ------------------------------------------------------------------
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
cad2d06c 568dnl ------------------------------------------------------------------
569dnl ---- module checks
570dnl ------------------------------------------------------------------
571save_CPPFLAGS=$CPPFLAGS
572save_LDFLAGS=$LDFLAGS
573save_LIBS=$LIBS
574
c8500eef 575dnl ------------------------------------------------------------------
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
b521659f 586dnl ------------------------------------------------------------------
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
c018a1bd 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
b521659f 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)])
676 AC_MSG_RESULT([$have_tpc_hltoffline_rec])
677
0f058f3e 678 have_alitpcclusterparam_r40128=no
679 AC_MSG_CHECKING([checking for AliTPCClusterParam r40128])
680 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTPCClusterParam.h>],
681 [AliTPCClusterParam param;
682 float test=param.ParamS0Par(0,0,0)]);],
683 [have_alitpcclusterparam_r40128=yes],
684 [AC_DEFINE(HAVE_NOT_ALITPCCLUSTERPARAM_r40128)])
685 AC_MSG_RESULT([$have_alitpcclusterparam_r40128])
686
687 LIBS=$save_LIBS
688
689
e642ae99 690 AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
691 AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
a553c904 692 AC_CHECK_HEADER([AliAltroRawStreamV3.h], [], [AC_DEFINE(HAVE_NOT_ALTRORAWSTREAMV3)])
e642ae99 693
694 have_tpc_mapping=no
695 if test ! "x$have_aliroot" = "xno" ; then
696 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
697 # which is stored in the TPC/mapping/Patchx.data files from
698 # AliRoot version v4-04-Release (May 2006)
699 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
700 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
701 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
702 [have_tpc_mapping=yes
703 AC_SUBST(TPC_PAD_MAPPING_PATH)
704 AC_DEFINE(HAVE_TPC_MAPPING)],
705 [])
706
707 fi
708 AC_MSG_CHECKING([for TPC mapping layout])
709 AC_MSG_RESULT([$have_tpc_mapping])
710 AC_LANG_POP(C++)
711
adec4ad4 712else
713 enable_module=$enable_tpc
b521659f 714fi
715AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
d6e2c707 716AC_MSG_CHECKING([whether to compile TPC library])
c6b46c3f 717AC_MSG_RESULT([$enable_module])
f59fee6d 718AC_SUBST([ALITPC_LIBS])
b521659f 719
5e3820e2 720dnl ------------------------------------------------------------------
721AH_TEMPLATE([HLT_RCU],[hlt rcu library])
722
723CHECK_HLTMODULE([rcu],
724 [AliAltroDecoder.h],
725 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
726 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
727 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
728 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
729
730if test "x$enable_module" = "xmissheader"; then
731 enable_module="no...missing.headers"
50a3793d 732 enable_rcu=$enable_module
5e3820e2 733elif test "x$enable_module" = "xforce"; then
734 enable_rcu="yes"
735else
736 AC_LANG_PUSH(C++)
5e3820e2 737 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
738 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
739 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
740 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
741 [AliAltroDecoder decoder;
742 decoder.CopyBackward(NULL, 0);])],
743 [enable_rcu=$enable_module],
744 [enable_module="no...requires.AliRoot>v4-10-Release"
745 enable_rcu="no...requires.AliRoot>v4-10-Release"])
746 CPPFLAGS=$save_CPPFLAGS
747 LDFLAGS=$save_LDFLAGS
748 LIBS=$save_LIBS
749 AC_LANG_POP(C++)
750fi
751
752if test "x$enable_rcu" = "xyes" ; then
753 AC_DEFINE(HLT_RCU)
adec4ad4 754else
755 enable_module=$enable_rcu
5e3820e2 756fi
757AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
d6e2c707 758AC_MSG_CHECKING([whether to compile RCU library])
5e3820e2 759AC_MSG_RESULT([$enable_module])
760AC_SUBST([ALIRCU_LIBS])
761
fe8738cf 762dnl ------------------------------------------------------------------
763AH_TEMPLATE([HLT_CALO],[hlt calo(rimeter) library])
764
765ALICALO_LIBS=
766CHECK_HLTMODULE([calo],
767 [], [$ALIROOT_CPPFLAGS],
768 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
d194ebce 769 [EMCALUtils PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
fe8738cf 770 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
771
772if test "x$enable_module" = "xmissheader"; then
773 enable_module="no...missing.headers"
774 enable_calo=$enable_module
775elif test "x$enable_module" = "xforce"; then
776 enable_calo="yes"
777else
778 have_alicalorawstream=no
779 if test ! "x$have_aliroot" = "xno" ; then
780 AC_LANG_PUSH(C++)
781 save_CPPFLAGS="$CPPFLAGS"
782 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
783 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
784 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
785 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
786 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
787 #include <AliCaloRawStream.h>],
788 [int i])],
789 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
790 have_alicalorawstream=yes],
791 [])
792 AC_MSG_RESULT([$have_alicalorawstream])
fe571896 793
794 have_aliesdcalocluster_r38477=no
795 AC_MSG_CHECKING([for AliESDCaloCluster r38477])
796 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDCaloCluster.h>],
797 [AliESDCaloCluster cluster;
798 cluster.SetTrackDistance(0.0, 0.0)]);],
799 [have_aliesdcalocluster_r38477=yes],
800 [AC_DEFINE(HAVE_NOT_ALIESDCALOCLUSTER_r38477)])
801 AC_MSG_RESULT([$have_aliesdcalocluster_r38477])
802
fe8738cf 803 AC_LANG_POP(C++)
804 CPPFLAGS="$save_CPPFLAGS"
805 fi
806 if test "x$have_alicalorawstream" != "xyes"; then
807 enable_calo="no...requires.AliRoot>v4-05-07"
808 else
809 enable_calo=$enable_module
810 fi
811fi
812
813if test "x$enable_calo" = "xyes" ; then
814 AC_DEFINE(HLT_CALO)
815 ALICALO_LIBS=$ALIHLTMODULE_LIBS
816else
817 enable_module=$enable_calo
818fi
819AM_CONDITIONAL(EN_HLT_CALO, test x$enable_calo = xyes)
820AC_MSG_CHECKING([whether to compile CALO library])
821AC_MSG_RESULT([$enable_module])
822AC_SUBST([ALICALO_LIBS])
823
c160eda8 824dnl ------------------------------------------------------------------
c160eda8 825AH_TEMPLATE([HLT_PHOS],[hlt phos library])
f59fee6d 826
827ALIPHOS_LIBS=
828CHECK_HLTMODULE([phos],
829 [], [$ALIROOT_CPPFLAGS],
830 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
70979a80 831 [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 832 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
833
c6b46c3f 834if test "x$enable_module" = "xmissheader"; then
835 enable_module="no...requires.AliRoot>v4-05-07"
50a3793d 836 enable_phos=$enable_module
c6b46c3f 837elif test "x$enable_module" = "xforce"; then
838 enable_phos="yes"
f59fee6d 839else
840 have_alicalorawstream=no
841 if test ! "x$have_aliroot" = "xno" ; then
842 AC_LANG_PUSH(C++)
843 save_CPPFLAGS="$CPPFLAGS"
844 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
845 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
56584e00 846 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
f59fee6d 847 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
848 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
849 #include <AliCaloRawStream.h>],
850 [int i])],
851 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
852 have_alicalorawstream=yes],
853 [])
fe8738cf 854 AC_MSG_RESULT([$have_alicalorawstream])
ae1c1854 855 AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
856 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
857 [AliPHOSRecoParam param;
858 param.GetEMCClusteringThreshold()])],
859 [have_aliphosrecoparam=yes],
860 [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
fe8738cf 861 AC_MSG_RESULT([$have_aliphosrecoparam])
f59fee6d 862 AC_LANG_POP(C++)
863 CPPFLAGS="$save_CPPFLAGS"
864 fi
865 if test "x$have_alicalorawstream" != "xyes"; then
866 enable_phos="no...requires.AliRoot>v4-05-07"
867 else
868 enable_phos=$enable_module
869 fi
870fi
2e742d30 871
c160eda8 872if test "x$enable_phos" = "xyes" ; then
873 AC_DEFINE(HLT_PHOS)
f59fee6d 874 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 875else
876 enable_module=$enable_phos
c160eda8 877fi
878AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
d6e2c707 879AC_MSG_CHECKING([whether to compile PHOS library])
c6b46c3f 880AC_MSG_RESULT([$enable_module])
f59fee6d 881AC_SUBST([ALIPHOS_LIBS])
c160eda8 882
fe8738cf 883dnl ------------------------------------------------------------------
884AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
885
886ALIEMCAL_LIBS=
887CHECK_HLTMODULE([emcal],
c1482104 888 [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/VZERO],
fe8738cf 889 [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
c1482104 890 [EMCALrec EMCALsim EMCALbase EMCALUtils VZERObase], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
fe8738cf 891 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
892
893if test "x$enable_module" = "xmissheader"; then
894 enable_module="no...header.missing"
895 enable_emcal=$enable_module
896elif test "x$enable_module" = "xforce"; then
897 enable_emcal="yes"
898else
899 enable_emcal=$enable_module
900fi
901
902if test "x$enable_emcal" = "xyes" ; then
903 AC_DEFINE(HLT_EMCAL)
904 ALIEMCAL_LIBS=$ALIHLTMODULE_LIBS
905else
906 enable_module=$enable_emcal
907fi
908AM_CONDITIONAL(EN_HLT_EMCAL, test x$enable_emcal = xyes)
909AC_MSG_CHECKING([whether to compile EMCAL library])
910AC_MSG_RESULT([$enable_module])
911AC_SUBST([ALIEMCAL_LIBS])
912
c6b46c3f 913dnl ------------------------------------------------------------------
914AH_TEMPLATE([HLT_TRD],[hlt trd library])
915
f59fee6d 916ALITRD_LIBS=
917CHECK_HLTMODULE([trd],
918 [], [],
b3f74118 919 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
5b44f496 920 [STAT TRDbase TRDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 921 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
922
c6b46c3f 923if test "x$enable_module" = "xmissheader"; then
924 enable_module="no...requires.AliRoot>v4-07-Release"
50a3793d 925 enable_trd=$enable_module
c6b46c3f 926elif test "x$enable_module" = "xforce"; then
927 enable_trd="yes"
f59fee6d 928else
929 enable_trd=$enable_module
930 if test "x$enable_trd" = "xyes" ; then
931 AC_LANG_PUSH(C++)
932 save_CPPFLAGS="$CPPFLAGS"
933 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
adec4ad4 934 # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
935 # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
0d66dbf5 936 # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
ae5bf1dd 937 # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
cef8ce36 938 # changed to AliTRDCluster according to revision 30461, Thu Dec 18 2008
53eb3786 939 # changed to AliTRDclusterizer::GetAddedClusters according to revision 31299, Wed Mar 4 2009
5b44f496 940 # changed to AliTRDclusterizer::GetNTimeBins according to revision 37102 Sun Nov 22 2009
53eb3786 941 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
942 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
943 [AliTRDclusterizer c;
5b44f496 944 c.GetNTimeBins()])],
f59fee6d 945 [],
5b44f496 946 [enable_trd="no...requires.AliRoot>v4-18-Release"])
f59fee6d 947 AC_MSG_RESULT([$enable_trd])
2fc8c061 948
949 if test "x$enable_trd" = "xyes" ; then
35e2b984 950 have_alitrdseedv1_r39693=no
951 AC_MSG_CHECKING([checking for AliTRDseedV1 r39693])
952 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDseedV1.h>],
953 [AliTRDseedV1 seed;
954 seed.SetC(0.0, 1)]);],
955 [have_alitrdseedv1_r39693=yes],
956 [AC_DEFINE(HAVE_NOT_ALITRD_SEEDV1_r39693)])
957 AC_MSG_RESULT([$have_alitrdseedv1_r39693])
5b44f496 958
959 have_alitrdrawstream_r39608=no
960 AC_MSG_CHECKING([checking for AliTRDrawStream r39608])
961 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrawStreamBase.h>],
962 [AliTRDrawStreamBase::SetRawStreamVersion(AliTRDrawStreamBase::kTRDdefaultStream)]);],
963 [have_alitrdrawstream_r39608=yes],
964 [AC_DEFINE(HAVE_NOT_ALITRD_RAWSTREAM_r39608)])
965 AC_MSG_RESULT([$have_alitrdrawstream_r39608])
2fc8c061 966 fi
967
f59fee6d 968 AC_LANG_POP(C++)
969 CPPFLAGS="$save_CPPFLAGS"
970 fi
971fi
2e742d30 972
0f51f5b8 973if test "x$enable_trd" = "xyes" ; then
974 AC_DEFINE(HLT_TRD)
f59fee6d 975 ALITRD_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 976else
977 enable_module=$enable_trd
0f51f5b8 978fi
979AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
d6e2c707 980AC_MSG_CHECKING([whether to compile TRD library])
c6b46c3f 981AC_MSG_RESULT([$enable_module])
f59fee6d 982AC_SUBST([ALITRD_LIBS])
0f51f5b8 983
629266d1 984dnl ------------------------------------------------------------------
985AH_TEMPLATE([HLT_FMD],[hlt fmd library])
986
987ALIFMD_LIBS=$ALIHLTMODULE_LIBS
988CHECK_HLTMODULE([fmd],
989 [], [],
990 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
50a3793d 991 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
629266d1 992 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
993
994if test "x$enable_module" = "xmissheader"; then
50a3793d 995 enable_module="no...missing.headers"
996 enable_fmd=$enable_module
629266d1 997elif test "x$enable_module" = "xforce"; then
998 enable_fmd="yes"
999else
1000 enable_fmd=$enable_module
629266d1 1001fi
1002
1003if test "x$enable_fmd" = "xyes" ; then
1004 AC_DEFINE(HLT_FMD)
1005 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
1006else
1007 enable_module=$enable_fmd
1008fi
1009AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
1010AC_MSG_CHECKING([whether to compile FMD library])
1011AC_MSG_RESULT([$enable_module])
1012AC_SUBST([ALIFMD_LIBS])
1013
94cc9aab 1014dnl ------------------------------------------------------------------
94cc9aab 1015AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
2e742d30 1016
f59fee6d 1017ALIMUON_LIBS=
e89e6b23 1018CHECK_HLTMODULE([dimuon],
41f99620 1019 [AliMpExMap.h AliMUONTriggerIO.h],
1020 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
b3f74118 1021 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1022 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 1023 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1024
1025if test "x$enable_module" = "xmissheader"; then
a853a794 1026 enable_module="no...requires.AliRoot>=v4-08-Release"
50a3793d 1027 enable_muon=$enable_module
c6b46c3f 1028elif test "x$enable_module" = "xforce"; then
1029 enable_muon="yes"
f59fee6d 1030else
1031 enable_muon=$enable_module
1032fi
1033
1034if test "x$enable_muon" = "xyes" ; then
94cc9aab 1035 AC_DEFINE(HLT_MUON)
f59fee6d 1036 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
6ed1b948 1037 AC_LANG_PUSH(C++)
accd4c8f 1038 save_CPPFLAGS="$CPPFLAGS"
1039
6ed1b948 1040 dnl
1041 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
1042 dnl
1043 have_muon_digitmaker_getrawstream=no
1044 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
1045 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
1046 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1047 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1048 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
1049 [AliMUONDigitMaker dm;
1050 dm.GetRawStreamTracker();])],
1051 [have_muon_digitmaker_getrawstream=yes],
1052 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
1053 LIBS=$save_LIBS
1054 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
53eb3786 1055
1056 dnl
1057 dnl Check for AliMpPad::GetPositionX/Y
1058 dnl change of implementation in MUON code
1059 dnl revision 31769, Wed Apr 1 2009
1060 dnl
1061 have_muon_alimppad_getposition=no
1062 AC_MSG_CHECKING(for GetPosition methods of AliMpPad)
1063 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON/mapping"
1064 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1065 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1066 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMpPad.h>],
1067 [AliMpPad pad;
1068 pad.GetPositionX();])],
1069 [have_muon_alimppad_getposition=yes],
1070 [AC_DEFINE(HAVE_NOT_MUON_ALIMPPAD_GETPOSITION)])
1071 LIBS=$save_LIBS
1072 AC_MSG_RESULT([$have_muon_alimppad_getposition])
1073
accd4c8f 1074 CPPFLAGS="$save_CPPFLAGS"
6ed1b948 1075
1076 AC_LANG_POP(C++)
adec4ad4 1077else
1078 enable_module=$enable_muon
94cc9aab 1079fi
f59fee6d 1080AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
d6e2c707 1081AC_MSG_CHECKING([whether to compile MUON library])
c6b46c3f 1082AC_MSG_RESULT([$enable_module])
f59fee6d 1083AC_SUBST([ALIMUON_LIBS])
94cc9aab 1084
d6e2c707 1085dnl ------------------------------------------------------------------
1086AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
1087
1088ALITRIGGER_LIBS=
1089CHECK_HLTMODULE([trigger],
1090 [], [$ALIROOT_CPPFLAGS],
1091 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1092 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1093 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1094
1095if test "x$enable_module" = "xmissheader"; then
1096 enable_module="no...header.missing"
50a3793d 1097 enable_trigger=$enable_module
d6e2c707 1098elif test "x$enable_module" = "xforce"; then
1099 enable_trigger="yes"
1100else
1101 enable_trigger=$enable_module
1102fi
1103
1104if test "x$enable_trigger" = "xyes" ; then
1105 AC_DEFINE(HLT_TRIGGER)
1106 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 1107else
1108 enable_module=$enable_trigger
d6e2c707 1109fi
1110AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
1111AC_MSG_CHECKING([whether to compile Trigger library])
1112AC_MSG_RESULT([$enable_module])
1113AC_SUBST([ALITRIGGER_LIBS])
1114
ec6160d5 1115dnl ------------------------------------------------------------------
1116AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
1117
1118ALIGLOBAL_LIBS=
1119CHECK_HLTMODULE([global],
1120 [], [$ALIROOT_CPPFLAGS],
1121 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
f4b540e9 1122 [PHOSUtils ], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
ec6160d5 1123 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1124
1125if test "x$enable_module" = "xmissheader"; then
1126 enable_module="no...header.missing"
1127 enable_global=$enable_module
1128elif test "x$enable_module" = "xforce"; then
1129 enable_global="yes"
1130else
1131 enable_global=$enable_module
1132 if test "x$enable_global" = "xyes" ; then
1133 AC_LANG_PUSH(C++)
1134 save_CPPFLAGS="$CPPFLAGS"
1135 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
1136 AC_MSG_CHECKING([for required functions in AliESDtrack])
1137 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>],
1138 [AliESDtrack t;
1139 t.SetGlobalChi2(0)])],
1140 [],
1141 [enable_global="no...requires.AliRoot>v4-17-Release"])
1142 AC_MSG_RESULT([$enable_global])
1143 AC_LANG_POP(C++)
1144 CPPFLAGS="$save_CPPFLAGS"
1145 fi
1146fi
1147
1148if test "x$enable_global" = "xyes" ; then
1149 AC_DEFINE(HLT_GLOBAL)
1150 ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
1151else
1152 enable_module=$enable_global
1153fi
1154AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
1155AC_MSG_CHECKING([whether to compile Global library])
1156AC_MSG_RESULT([$enable_module])
1157AC_SUBST([ALIGLOBAL_LIBS])
1158
33daad3d 1159dnl ------------------------------------------------------------------
1160AH_TEMPLATE([HLT_JET],[hlt jet library])
1161
04cbe3ac 1162ALIFASTJET_HEADER=
1163ALIFASTJET_INCFLAGS=
1164ALIFASTJET_LIBS=
1165ALIFASTJET_LDFLAGS=
1166AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
1167 [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
1168 [ test -n $FASTJET && with_fastjet=$FASTJET ])
1169
1170if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
1171 ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
3665c6c3 1172 ALIFASTJET_HEADER="fastjet/PseudoJet.hh"
04cbe3ac 1173 ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
1174 ALIFASTJET_LIBS="CGAL fastjet"
33daad3d 1175else
04cbe3ac 1176 with_fastjet=no
33daad3d 1177fi
1178
04cbe3ac 1179CHECK_HLTMODULE([jet],
1180 [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
02bfa57b 1181 [$ALIFASTJET_LIBS], [$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
593a08ea 1182 [AOD ESD ANALYSIS ANALYSISalice JETAN],
d927dd07 1183 [-L$ROOTLIBDIR $ALIROOT_LDFLAGS $ALIFASTJET_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
04cbe3ac 1184 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
33daad3d 1185
1186if test "x$enable_module" = "xmissheader"; then
1187 enable_module="no...header.missing"
1188 enable_jet=$enable_module
1189elif test "x$enable_module" = "xforce"; then
1190 enable_jet="yes"
1191else
1192 enable_jet=$enable_module
1193fi
1194
04cbe3ac 1195if test "x$enable_jet" = "xyes" ; then
33daad3d 1196 AC_DEFINE(HLT_JET)
1197 ALIJET_LIBS="$ALIHLTMODULE_LIBS"
04cbe3ac 1198
1199 if test "x$with_fastjet" != "xno"; then
1200 AC_DEFINE(HAVE_FASTJET)
1201 AC_DEFINE(WITHFASTJET)
02bfa57b 1202 ALIJET_LIBS="$ALIJET_LIBS $FASTJET_LDFLAGS"
04cbe3ac 1203 fi
1204 AC_MSG_CHECKING([compilation with FASTJET package])
1205 AC_MSG_RESULT($with_fastjet)
1206
33daad3d 1207else
1208 enable_module=$enable_jet
1209fi
1210
33daad3d 1211AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
1212AC_MSG_CHECKING([whether to compile Jet library])
1213AC_MSG_RESULT([$enable_module])
1214AC_SUBST([ALIJET_LIBS])
1215
d6e2c707 1216dnl ------------------------------------------------------------------
1217AH_TEMPLATE([HLT_ITS],[hlt its library])
1218
1219ALIITS_LIBS=
1220CHECK_HLTMODULE([its],
ae5bf1dd 1221 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
cad2d06c 1222 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
b3ac448a 1223 [ITSbase ITSrec ITSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
d6e2c707 1224 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1225
1226if test "x$enable_module" = "xmissheader"; then
1227 enable_module="no...header.missing"
50a3793d 1228 enable_its=$enable_module
d6e2c707 1229elif test "x$enable_module" = "xforce"; then
1230 enable_its="yes"
1231else
1232 enable_its=$enable_module
adec4ad4 1233 if test "x$enable_its" = "xyes" ; then
1234 AC_LANG_PUSH(C++)
1235 save_CPPFLAGS="$CPPFLAGS"
1236 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
1237 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
1238 # require AliVertexer::GetNominalPos()
1239 AC_MSG_CHECKING([for required functions in AliITSVertexer])
1240 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
1241 [AliITSVertexerZ v;
1242 v.GetNominalPos()])],
1243 [],
1244 [enable_its="no...requires.AliRoot>v4-13-Release"])
1245 AC_MSG_RESULT([$enable_its])
1246 AC_LANG_POP(C++)
1247 CPPFLAGS="$save_CPPFLAGS"
1248 fi
d6e2c707 1249fi
1250
1251if test "x$enable_its" = "xyes" ; then
1252 AC_DEFINE(HLT_ITS)
1253 ALIITS_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 1254else
1255 enable_module=$enable_its
d6e2c707 1256fi
1257AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
1258AC_MSG_CHECKING([whether to compile ITS library])
1259AC_MSG_RESULT([$enable_module])
1260AC_SUBST([ALIITS_LIBS])
1261
e89e6b23 1262dnl ------------------------------------------------------------------
1263AH_TEMPLATE([HLT_COMP],[hlt comp library])
1264
1265ALICOMP_LIBS=
1266CHECK_HLTMODULE([comp],
1267 [], [$ALIROOT_CPPFLAGS],
1268 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1269 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
1270 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1271
1272if test "x$enable_module" = "xmissheader"; then
c6b46c3f 1273 enable_module="no...header.missing"
50a3793d 1274 enable_comp=$enable_module
c6b46c3f 1275elif test "x$enable_module" = "xforce"; then
1276 enable_comp="yes"
e89e6b23 1277else
1278 enable_comp=$enable_module
1279fi
1280
1281if test "x$enable_comp" = "xyes" ; then
1282 AC_DEFINE(HLT_COMP)
1283 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 1284else
1285 enable_module=$enable_comp
e89e6b23 1286fi
1287AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
1288AC_MSG_CHECKING([whether to compile comp library])
c6b46c3f 1289AC_MSG_RESULT([$enable_module])
e89e6b23 1290AC_SUBST([ALICOMP_LIBS])
1291
b521659f 1292dnl ------------------------------------------------------------------
fc455fba 1293AC_MSG_CHECKING([whether to disable AliRoot logging])
1294AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
1295AC_ARG_ENABLE(aliroot-logging,
1296 [AC_HELP_STRING([--disable-aliroot-logging],
1297 [disable logging through AliRoot logging methods])],
1298 [],[enable_aliroot_logging=no])
c018a1bd 1299if test "x$have_aliroot" = "xno" ; then
1300 enable_aliroot_logging=yes # this means 'disable'
1301fi
fc455fba 1302if test "x$enable_aliroot_logging" != "xno" ; then
1303 AC_DEFINE(NOALIROOT_LOGGING)
b521659f 1304fi
fc455fba 1305AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1306AC_MSG_RESULT([$enable_aliroot_logging])
b521659f 1307
1308dnl ------------------------------------------------------------------
1309AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1310AH_TEMPLATE([DOMC],[MC saving])
1311AC_ARG_ENABLE(mc-saving,
1312 [AC_HELP_STRING([--enable-mc-saving],
1313 [enable saving MC data through the chain])],
1314 [],[enable_mc_saving=no])
1315if test "x$enable_mc_saving" = "xyes" ; then
1316 AC_DEFINE(DOMC)
1317fi
1318AC_MSG_RESULT([$enable_mc_saving])
1319
b521659f 1320dnl ------------------------------------------------------------------
b521659f 1321dnl certainly something old, but we keep the define
1322AC_MSG_CHECKING([whether to use ROWHOUGH])
1323AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1324AC_ARG_ENABLE(rowhough,
1325 [AC_HELP_STRING([--enable-rowhough],
1326 [use ROWHOUGH ])],
1327 [],[enable_rowhough=no])
1328if test "x$enable_rowhough" = "xyes" ; then
1329 AC_DEFINE(USEROWHOUGH)
1330fi
1331AC_MSG_RESULT([$enable_rowhough])
1332
53feaef5 1333dnl ------------------------------------------------------------------
1334dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1335dnl stand-alone build system. This is most likely something old we can
1336dnl get rid off later, or do something more reasonable. Since the define
1337dnl needs the quotes they have to be escaped. This works well for the
1338dnl Makefile but not for the configure script. So we have to add the
1339dnl defines after all the other checks.
1340CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1341if test ! "x$have_aliroot" = "xno" ; then
1342 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1343fi
1344
b521659f 1345dnl ------------------------------------------------------------------
1346dnl
1347dnl Documentation
1348dnl
1349AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1350AC_PATH_PROG(PERL, perl)
1351AC_PATH_PROG(DOXYGEN, doxygen)
5894eaa5 1352AC_ARG_ENABLE(dot,
1353 [AC_HELP_STRING([--enable-dot],
1354 [enable dot documentation generator])],
1355 [],[enable_dot=no])
b521659f 1356HAVE_DOT=NO
1357DOT_PATH=
1358AC_PATH_PROG(DOT, dot)
5894eaa5 1359if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
b521659f 1360 HAVE_DOT=YES
1361 DOT_PATH=`dirname $DOT`
1362fi
ae1c1854 1363
1364AC_MSG_CHECKING([for documentation mode])
1365AC_ARG_ENABLE(doc,
1366 [AC_HELP_STRING([--disable-doc],
1367 [disable documentation build; monolithic build --enable-doc=mono ])],
1368 [],[enable_doc=modules])
fb345ed7 1369
ae1c1854 1370if test "x$DOXYGEN" = "x" ; then
1371 enable_doc=no.doxygen
fb345ed7 1372elif test "x$enable_doc" = "xyes" ; then
1373 enable_doc=yes
ae1c1854 1374elif test ! "x$enable_doc" = "xmono" && \
1375 test ! "x$enable_doc" = "xmodules" && \
1376 test ! "x$enable_doc" = "xno"; then
1377 enable_doc=no
1378 AC_MSG_WARN([unknown option])
1379fi
1380if test "x$enable_doc" = "xno" ; then
1381 enable_doc=off
1382 DOXYGEN=
1383fi
1384
1385AC_MSG_RESULT([$enable_doc])
1386AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1387AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
b521659f 1388AC_SUBST([HAVE_DOT])
1389AC_SUBST([DOT_PATH])
1390
90ebac25 1391dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1392dnl echo $HAVE_SRC_SUBDIR
1393dnl if ! test -d $HAVE_SRC_SUBDIR; then
1394dnl HAVE_SRC_SUBDIR=
1395dnl fi
1396dnl AC_SUBST([HAVE_SRC_SUBDIR])
1397
2bbbadd1 1398dnl ------------------------------------------------------------------
7233bc62 1399AC_MSG_NOTICE([---------------------------------------------- ])
1400AC_MSG_NOTICE([ build summary ])
1401AC_MSG_NOTICE([---------------------------------------------- ])
1402
b521659f 1403AC_CONFIG_FILES([Makefile
1404 BASE/Makefile
53feaef5 1405 BASE/setenv.sh
1406 BASE/setenv.csh
2be16a33 1407 BASE/HOMER/Makefile
242bb794 1408 BASE/util/Makefile
4b31e06b 1409 BASE/util/test/Makefile
d098ebd4 1410 BASE/interface/Makefile
853121af 1411 BASE/test/Makefile
1a21074a 1412 BASE/interface/test/Makefile
b521659f 1413 doc/Makefile
2efb85be 1414 doc/doxygen.conf
1415 doc/doxymodule.conf])
b521659f 1416
7233bc62 1417dnl AliRoot and installation directory for libraries
1418dnl
1419AC_MSG_NOTICE([AliRoot: $have_aliroot])
1420AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1421if test "x$have_aliroot" != "xno"; then
1422 AC_CONFIG_FILES([sim/Makefile
1423 rec/Makefile
652cf9d2 1424 rec/test/Makefile
436c2d0c 1425 rec/startAliEVE-barrel-tracks.sh
7233bc62 1426 shuttle/Makefile
ff4edcee 1427 pendolino/Makefile
ce5f90bf 1428 benchmark/Makefile
ed292d06 1429 QA/Makefile
7233bc62 1430 ])
1431fi
1432if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1433libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1434AC_MSG_NOTICE([libdir set to $libdir])
1435fi
1436
1437AC_MSG_NOTICE([compile sample library: $enable_sample])
1438if test "x$enable_sample" = "xyes"; then
1439 AC_CONFIG_FILES([SampleLib/Makefile])
1440fi
1441
652cf9d2 1442AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1443if test "x$enable_rcu" = "xyes"; then
1444 AC_CONFIG_FILES([RCU/Makefile
1445 RCU/test/Makefile
1446 ])
1447fi
1448
7233bc62 1449AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1450if test "x$enable_tpc" = "xyes"; then
1451 AC_CONFIG_FILES([TPCLib/Makefile
1452 TPCLib/test/Makefile
1453 TPCLib/mapping2array.cxx
b658d7e4 1454 TPCLib/EVE/Makefile
32e0c022 1455 TPCLib/calibration/Makefile
7233bc62 1456 ])
1457fi
1458
fe8738cf 1459AC_MSG_NOTICE([compile CALO library: $enable_calo])
1460if test "x$enable_calo" = "xyes"; then
1461 AC_CONFIG_FILES([CALO/Makefile
1462 CALO/test/Makefile])
1463fi
1464
7233bc62 1465AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1466if test "x$enable_phos" = "xyes"; then
1467 AC_CONFIG_FILES([PHOS/Makefile])
1468fi
1469
fe8738cf 1470AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1471if test "x$enable_emcal" = "xyes"; then
1472 AC_CONFIG_FILES([EMCAL/Makefile])
1473fi
1474
7233bc62 1475AC_MSG_NOTICE([compile TRD library: $enable_trd])
1476if test "x$enable_trd" = "xyes"; then
1477 AC_CONFIG_FILES([TRD/Makefile])
1478fi
1479
50a3793d 1480AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1481if test "x$enable_fmd" = "xyes"; then
1482 AC_CONFIG_FILES([FMD/Makefile])
1483fi
1484
7233bc62 1485AC_MSG_NOTICE([compile MUON library: $enable_muon])
1486if test "x$enable_muon" = "xyes"; then
1487 AC_CONFIG_FILES([MUON/Makefile])
1488fi
1489
1490AC_MSG_NOTICE([compile ITS library: $enable_its])
1491if test "x$enable_its" = "xyes"; then
1492 AC_CONFIG_FILES([ITS/Makefile])
1493fi
1494
1495AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1496if test "x$enable_trigger" = "xyes"; then
0a76630e 1497 AC_CONFIG_FILES([trigger/Makefile
1498 trigger/test/Makefile])
7233bc62 1499fi
1500
ec6160d5 1501AC_MSG_NOTICE([compile global library: $enable_global])
1502if test "x$enable_global" = "xyes"; then
1503 AC_CONFIG_FILES([global/Makefile])
1504fi
1505
33daad3d 1506AC_MSG_NOTICE([compile jet library: $enable_jet])
1507if test "x$enable_jet" = "xyes"; then
1508 AC_CONFIG_FILES([JET/Makefile])
1509fi
1510
7233bc62 1511AC_MSG_NOTICE([compile comp library: $enable_comp])
1512if test "x$enable_comp" = "xyes"; then
1513 AC_CONFIG_FILES([comp/Makefile])
1514fi
b521659f 1515
1516AC_OUTPUT
1517dnl
1518dnl EOF
1519dnl
1520