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