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