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