new class missed in previous commit
[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)
35AM_INIT_AUTOMAKE
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)
77 ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer'
dc8f7cb7 78 for CHECKLIB in $ROOT_CHECKLIBS ; do
dc8f7cb7 79 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
80 LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
81 AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
82 done
dfaa582a 83
84 # TBuffer.h has been made pure virtual in root v5-15-02 and one
85 # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
ba4b0dd7 86 AC_CHECK_HEADER([TBufferFile.h], [], [HAVE_NOT_TBUFFERFILE])
dfaa582a 87
0b6c2560 88 # TView.h has been made pure virtual right after root v5-15-02 and one
89 # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
ba4b0dd7 90 AC_CHECK_HEADER([TView3D.h], [], [HAVE_NOT_TVIEW3D])
0b6c2560 91
dc8f7cb7 92 CPPFLAGS=$save_CPPFLAGS
93 LDFLAGS=$save_LDFLAGS
94 LIBS=$save_LIBS
dfaa582a 95 AC_LANG_POP(C++)
dc8f7cb7 96fi
b521659f 97
98dnl ------------------------------------------------------------------
99# TODO: make this configurable through arguments
100#Define whether you want to run with ALIROOT or only ROOT
101AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
102ALIHLT_USEPACKAGE=ALIROOT
103#ALIHLT_USEPACKAGE=ROOT
104#ALIHLT_USEPACKAGE=STANDALONE
105AC_DEFINE(use_aliroot)
106AC_DEFINE(use_root)
85869391 107CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
7233bc62 108save_CPPFLAGS=$CPPFLAGS
109save_LDFLAGS=$LDFLAGS
110save_LIBS=$LIBS
85869391 111
112dnl ------------------------------------------------------------------
74c73e5a 113dnl check for AliRoot features
114AC_LANG_PUSH(C++)
74c73e5a 115have_aliroot=no
2bbbadd1 116AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation],
117 [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
118 [])
119
120if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
121 dnl ------------------------------------------------------------------
122 dnl Try to estimate the system architecture
123 case $host_os:$host_cpu in
124 linux*:x86_64*) alice_target='linuxx8664gcc' ;;
125 linux*) alice_target='linux' ;;
126 *) alice_target='unknown' ;;
127 esac
128 if test "x$alice_target" = "xunknown" ; then
129 if test -z $ALICE_TARGET ; then
130 AC_MSG_ERROR([Can not estimate system architecture.
131 To avoid the problem, set the ALICE_TARGET variable appropriately.
132 Please send the following information to Matthias.Richter@ift.uib.no:
133 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
134 else
135 AC_MSG_NOTICE([Unknown system architecture.
136 Please send the following information to Matthias.Richter@ift.uib.no:
137 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
138 fi
139 else
140 if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
141 AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
142 overriding $ALICE_TARGET by $alice_target])
143 fi
144 ALICE_TARGET=$alice_target
145 fi
dc8f7cb7 146 ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
74c73e5a 147 ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
148 ALIROOTINCDIR=${ALICE_ROOT}/include
dc8f7cb7 149 test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
2bbbadd1 150 test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
151 test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
74c73e5a 152fi
2bbbadd1 153
154AC_MSG_CHECKING([for AliRoot])
74c73e5a 155if test "x$ALICE_ROOT" != "x" \
dc8f7cb7 156 && test -d ${ALIROOTBINDIR} \
74c73e5a 157 && test -d ${ALIROOTLIBDIR} \
158 && test -d ${ALIROOTINCDIR}; then
159 have_aliroot=$ALICE_ROOT
160else
dc8f7cb7 161 ALIROOTBINDIR=
74c73e5a 162 ALIROOTLIBDIR=
163 ALIROOTINCDIR=
164fi
165AC_MSG_RESULT([$have_aliroot])
166
167if test ! "x$have_aliroot" = "xno" ; then
74c73e5a 168 ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
169 ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
dc8f7cb7 170 ALIROOT_LIBS="-lESD $ADD_ROOTLIBS"
74c73e5a 171 save_CPPFLAGS=$CPPFLAGS
172 save_LDFLAGS=$LDFLAGS
173 save_LIBS=$LIBS
174 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
db16520a 175 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
2bbbadd1 176
f8c5e339 177 # check for certain AliRoot libraries/files/features
c018a1bd 178 # libSTEERBase present since Aug 7 2007
179 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
180 CHECKLIB=STEERBase
181 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
182
f5bf5fc3 183 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
184 CHECKLIB=AOD
185 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
186
2bbbadd1 187 # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
188 have_alirawdata=no
189 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
190 CHECKLIB=RAWDatabase
191 AC_CHECK_LIB([$CHECKLIB],[_init],
192 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
193 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
194 CHECKLIB=RAWDatarec
195 AC_CHECK_LIB([$CHECKLIB],[_init],
196 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
2bbbadd1 197 have_alirawdata=$CHECKLIB])],
198 [# second pass with -RAWData
199 CHECKLIB="-lRAWData"
200 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
201 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
202 #include <AliRawReaderFile.h>
203 #include <AliRawReaderDate.h>
204 #include <AliRawReaderRoot.h>],
205 [AliRawReaderMemory mreader;
206 AliRawReaderFile freader;
207 AliRawReaderDate dreader(NULL,0);
208 AliRawReaderRoot rreader(NULL,0);])],
e962f438 209 [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
2bbbadd1 210 have_alirawdata=$CHECKLIB],
211 [have_alirawdata=no])
212 ]) dnl AC_CHECK_LIB RAWDatabase
fa274626 213 AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
214 AC_MSG_RESULT([$have_alirawdata])
215
fbf4d793 216 # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
217 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
218 CHECKLIB=CDB
219 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
220
221 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
222 CHECKLIB=STEER
223 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
224
225 dnl
226 dnl check whether AliLog supports notification callback
227 dnl
228 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
229 have_alilog_notification=no
230 if test ! "x$have_aliroot" = "xno" ; then
231 AC_MSG_CHECKING([whether AliLog supports notification callback])
232 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
233 [AliLog::AliLogNotification fct])],
234 [have_alilog_notification=yes],
235 [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
236 AC_MSG_RESULT([$have_alilog_notification])
237 fi
238
239 if test "x$have_aliroot" = "xno" ; then
240 # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
241 # but library dependencies might not be resolved completely
242 #ALIROOT_CPPFLAGS=
243 AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
244 This can happen from time to time due to development in AliRoot. You can
245 force compilation of detector libs by --enable-<detector>, but be aware
246 of unresolved references at runtime.])
247 AC_MSG_WARN([ ------------------------------------------ ])
248 AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
249 AC_MSG_WARN([ please include config.log ])
250 AC_MSG_WARN([ ------------------------------------------ ])
251 ALIROOT_LDFLAGS=
252 ALIROOT_LIBS=
253 fi
254
f5bf5fc3 255 dnl
f527516f 256 dnl ESD supports non-std content
257 dnl
258 have_esd_nonstd=no
259 AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>
260 #include <AliExternalTrackParam.h>
261 #include <TTree.h>
262 #include <TClonesArray.h>],
263 [AliESDEvent esd;
264 esd.CreateStdContent();
265 TTree* tree=new TTree("esdTree", "Tree with HLT ESD objects");
266 esd.WriteToTree(tree);
267 TClonesArray* a=new TClonesArray("AliExternalTrackParam");
268 a->SetName("SomeObject");
269 esd.AddObject(a);
270 if (!tree->FindBranch("SomeObject")) return 1;
271 return 0;])],
272 [have_esd_nonstd=yes],
273 [AC_DEFINE(HAVE_NOT_ESD_NONSTD)])
274 AC_MSG_CHECKING(whether ESD supports non standard content)
275 AC_MSG_RESULT([$have_esd_nonstd])
276
277 dnl
83cb7e1d 278 dnl ESD copy function added May 9 2008 rev 25667
279 dnl
f527516f 280 if test "x$have_esd_nonstd" != "xyes"; then
83cb7e1d 281 have_esd_copy=no
282 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
283 [AliESDEvent esd1;
284 AliESDEvent esd2;
285 esd2=esd1;])],
9877121c 286 [have_esd_copy=yes],
287 [AC_DEFINE(HAVE_NOT_ESD_COPY)])
83cb7e1d 288 AC_MSG_CHECKING(for ESD assignment operator)
289 AC_MSG_RESULT([$have_esd_copy])
f527516f 290 fi
83cb7e1d 291
292 dnl
296b5188 293 dnl AliRawReaderMemory support for multiple buffers added
c03e064d 294 dnl revision 26829 Jun 2008
296b5188 295 dnl
296 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
297 have_rawreadermemory_multbuffers=no
298 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
299 [AliRawReaderMemory rr;
300 rr.AddBuffer(NULL, 0, 0);])],
301 [have_rawreadermemory_multbuffers=yes],
302 [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
c03e064d 303 AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
296b5188 304 AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
305
306 dnl
fbf4d793 307 dnl required header files and libraries for modules
f5bf5fc3 308 dnl
04dbc9e4 309
f59fee6d 310 dnl
311 dnl Check for the interface of AliExternalTrackParam which has been changed
312 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
313 dnl or higher)
314 externaltrackparam_version=1
315 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
316 [AliExternalTrackParam trackparam;
317 Double_t param[[5]]; Double_t covar[[15]];
318 trackparam.Set(0., 0., param, covar);])],
319 [externaltrackparam_version=2],
320 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
321 AC_MSG_CHECKING(for version of AliExternalTrackParam)
322 AC_MSG_RESULT($externaltrackparam_version)
323
74c73e5a 324 CPPFLAGS=$save_CPPFLAGS
325 LDFLAGS=$save_LDFLAGS
326 LIBS=$save_LIBS
7233bc62 327fi # if test ! "x$have_aliroot" = "xno"
f59fee6d 328
74c73e5a 329AC_LANG_POP(C++)
5f5b708b 330AC_SUBST([ALICE_ROOT])
74c73e5a 331AC_SUBST([ALIROOT_CPPFLAGS])
332AC_SUBST([ALIROOT_LDFLAGS])
dc8f7cb7 333AC_SUBST([ALIROOTBINDIR])
53feaef5 334AC_SUBST([ALIROOTLIBDIR])
74c73e5a 335AC_SUBST([ALIROOT_LIBS])
0f51f5b8 336AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
85869391 337
6c1a9d9e 338HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
339HLTBASE_LDFLAGS=
340AC_SUBST([HLTBASE_CPPFLAGS])
341AC_SUBST([HLTBASE_LDFLAGS])
342
85869391 343dnl ------------------------------------------------------------------
78b557c2 344dnl check for the HLT PubSub Framework
f8c5e339 345dnl namely for the existence of the HOMER library
346dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
347dnl package. It os though possible to choose an external. library
348dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
349dnl got the name libAliHLTHOMER
78b557c2 350AC_MSG_CHECKING([for HLT PubSub Framework])
351AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
352 [],
353 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
354if test -z $with_pubsub || ! test -d $with_pubsub ; then
355 with_pubsub=no
356fi
357AC_MSG_RESULT([$with_pubsub])
f8c5e339 358HOMER_VERSION=2
5f1685a0 359HOMER_LIBS=
78b557c2 360
361AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
362if test "x$with_pubsub" != "xno" ; then
363 save_CPPFLAGS=$CPPFLAGS
364 save_LDFLAGS=$LDFLAGS
365 save_LIBS=$LIBS
4a6b4894 366 # currently the different versions of the HLT PubSub framework have a different
367 # directory layout
20b6dd9a 368 if test -d ${with_pubsub}/include/HOMER ; then
5235c3e9 369 # the 'early' location of the include files with separated HOMER sub dirs
9ce4bf4a 370 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
5235c3e9 371 elif test -d ${with_pubsub}/include/Util/HOMER ; then
372 # location for HLT Framework versions after Sep 2006
9ce4bf4a 373 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
5235c3e9 374 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
375 # fall back if include files were not installed (versions after Sep 06)
9ce4bf4a 376 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
4a6b4894 377 else
5235c3e9 378 # fall back if include files were not installed (versions before Sep 06)
9ce4bf4a 379 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
4a6b4894 380 fi
9ce4bf4a 381 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
5894eaa5 382
383 AC_ARG_ENABLE(pubsub-debug,
384 [AC_HELP_STRING([--disable-pubsub-debug],
385 [force the production version of the PubSub framework])],
386 [],[enable_pubsub_debug=yes])
387 homer_type="none"
388 HOMER_TARGET="`uname -s`-`uname -m`"
389 AC_MSG_CHECKING([for HLT PubSub Framework release type])
390 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
391 homer_type="production"
392 HOMER_TARGET="${HOMER_TARGET}-release"
393 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
394 homer_type="debug"
395 HOMER_TARGET="${HOMER_TARGET}-debug"
396 fi
397 AC_MSG_RESULT([${homer_type}])
f8c5e339 398 HOMERREADER_HEADER=HOMERReader.h
5894eaa5 399 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
400 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
53feaef5 401 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
78b557c2 402 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
403 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
404 LIBS="$save_LIBS "
405 with_homer=no
406 AC_LANG_PUSH(C++)
f8c5e339 407 AC_CHECK_HEADER([$HOMERREADER_HEADER],
5f1685a0 408 [ AC_CHECK_LIB([HOMER],[_init],
409 [with_homer=yes
410 HOMER_LIBS="-lHOMER"],
411 [ AC_CHECK_LIB([HOMERReader],[_init],
412 [with_homer=yes
413 HOMER_LIBS="-lHOMERReader"])])
414 LIBS="$LIBS $HOMER_LIBS"
9ce4bf4a 415 AC_MSG_CHECKING([version of HOMER library])
5f1685a0 416 dnl The Homer library has no versioning, so we do our own
417 dnl version description
418 dnl ----------------------------------------------------------------------
419 dnl 1 inintial version
420 dnl 2 GetBlockStatusFlags added to the interface
421 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
422 [HOMERReader reader("dummy", 0);
423 reader.GetBlockStatusFlags(0);])],
f8c5e339 424 [],
425 [HOMER_VERSION=1])
5f1685a0 426 AC_MSG_RESULT([$HOMER_VERSION])
f8c5e339 427 ],
428 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
78b557c2 429 AC_LANG_POP(C++)
f8c5e339 430 HOMER_INBUILT_LIB=
431else
432dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
433 topdir=`dirname $0`
434 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
435 HOMERREADER_HEADER=AliHLTHOMERReader.h
436 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
437 HOMER_BINDIR=
438 HOMER_LIBDIR=
439 HOMER_LDFLAGS=
440fi
441
78b557c2 442 if test "x$with_homer" = "xno" ; then
443 HOMER_CPPFLAGS=
444 HOMER_LDFLAGS=
5f1685a0 445 HOMER_LIBS=
78b557c2 446 else
5f1685a0 447 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
78b557c2 448 AC_DEFINE(HAVE_HOMERREADER)
449 fi
450 CPPFLAGS="$save_CPPFLAGS"
451 LDFLAGS="$save_LDFLAGS"
452 LIBS="$save_LIBS"
f8c5e339 453
454AC_SUBST([HOMERREADER_HEADER])
455AC_SUBST([HOMER_INBUILT_LIB])
78b557c2 456AC_SUBST([HOMER_CPPFLAGS])
457AC_SUBST([HOMER_LDFLAGS])
53feaef5 458AC_SUBST([HOMER_LIBDIR])
459AC_SUBST([HOMER_BINDIR])
5f1685a0 460AC_SUBST([HOMER_LIBS])
78b557c2 461
462dnl ------------------------------------------------------------------
7233bc62 463AC_ARG_ENABLE(all,
464 [AC_HELP_STRING([--disable-all],
465 [disable all detector modules, individual modules can be switched on by --enable-det])],
466 [disable_all=yes],[])
467
468dnl ------------------------------------------------------------------
85869391 469AC_MSG_CHECKING([whether to impose strict coding conventions])
470AC_ARG_ENABLE(strict,
2028353f 471 [AC_HELP_STRING([--disable-strict],
472 [disable coding convention checks ])],
473 [],[enable_strict=yes])
85869391 474if test "x$enable_strict" = "xyes" ; then
f7561f8d 475 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
85869391 476fi
477AC_MSG_RESULT([$enable_strict])
b521659f 478
479dnl ------------------------------------------------------------------
5b6ab198 480AC_MSG_CHECKING([whether to enable component statistics])
481AC_ARG_ENABLE(component-stat,
482 [AC_HELP_STRING([--enable-component-stat],
483 [enable component statistics ])],
484 [],[enable_component_stat=no])
485if test "x$enable_component_stat" = "xyes" ; then
486 AC_DEFINE(HLT_COMPONENT_STATISTICS)
487fi
488AC_MSG_RESULT([$enable_component_stat])
489
490dnl ------------------------------------------------------------------
cad2d06c 491dnl ---- module checks
492dnl ------------------------------------------------------------------
493save_CPPFLAGS=$CPPFLAGS
494save_LDFLAGS=$LDFLAGS
495save_LIBS=$LIBS
496
497dnl ------------------------------------------------------------------
b521659f 498AC_MSG_CHECKING([whether to compile sample library])
499AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
500AC_ARG_ENABLE(sample,
c018a1bd 501 [AC_HELP_STRING([--disable-sample],
b521659f 502 [compile the sample library ])],
2e742d30 503 [],
504 [if test "x$have_aliroot" = "xno" ; then
505 enable_sample="no...requires.AliRoot"
506 else
507 enable_sample=yes
508 fi
509 ])
510
b521659f 511if test "x$enable_sample" = "xyes" ; then
512 AC_DEFINE(HLT_SAMPLE)
513fi
514AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
515AC_MSG_RESULT([$enable_sample])
516
517dnl ------------------------------------------------------------------
c018a1bd 518AC_MSG_CHECKING([whether to compile util library])
519AH_TEMPLATE([HLT_UTIL],[HLT utility library])
520AC_ARG_ENABLE(util,
521 [AC_HELP_STRING([--disable-util],
522 [compile the util library ])],
2e742d30 523 [],
524 [if test "x$have_aliroot" = "xno" ; then
525 enable_util="no...requires.AliRoot"
526 else
527 enable_util=yes
528 fi
529 ])
c018a1bd 530
531if test "x$enable_util" = "xyes" ; then
532 AC_DEFINE(HLT_UTIL)
533fi
534AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
535AC_MSG_RESULT([$enable_util])
536
537dnl ------------------------------------------------------------------
b521659f 538AH_TEMPLATE([HLT_TPC],[hlt tpc library])
f59fee6d 539
e642ae99 540ALITPC_LIBS=
f59fee6d 541CHECK_HLTMODULE([tpc],
e962f438 542 [AliTPCRawStream.h],
543 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
70d00903 544 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
e642ae99 545 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 546 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
547
c6b46c3f 548if test "x$enable_module" = "xmissheader"; then
549 enable_module="no...missing.headers"
f59fee6d 550 enable_tpc="no...missing.headers"
c6b46c3f 551elif test "x$enable_module" = "xforce"; then
552 enable_tpc="yes"
f59fee6d 553else
554 enable_tpc=$enable_module
555fi
2e742d30 556
b521659f 557if test "x$enable_tpc" = "xyes" ; then
e642ae99 558 AC_LANG_PUSH(C++)
b521659f 559 AC_DEFINE(HLT_TPC)
e642ae99 560 ALITPC_LIBS=$ALIHLTMODULE_LIBS
561 dnl
562 dnl Check for functionality in the TPC reconstruction required for online
563 dnl processing
564 dnl
565 have_tpc_hltoffline_rec=no
566 AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
567 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
568 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
569 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
570 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
571 #include <AliTPCclustererMI.h>
572 #include <TObjArray.h>],
573 [AliTPCtrackerMI tracker;
574 TObjArray* array=NULL;
575 tracker.LoadClusters(array);
576 AliTPCclustererMI cl(NULL, NULL);
89c2e505 577 cl.GetOutputClonesArray();])],
e642ae99 578 [have_tpc_hltoffline_rec=yes],
579 [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
cad2d06c 580 LIBS=$save_LIBS
e642ae99 581 AC_MSG_RESULT([$have_tpc_hltoffline_rec])
582
583 AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
584 AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
585
586 have_tpc_mapping=no
587 if test ! "x$have_aliroot" = "xno" ; then
588 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
589 # which is stored in the TPC/mapping/Patchx.data files from
590 # AliRoot version v4-04-Release (May 2006)
591 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
592 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
593 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
594 [have_tpc_mapping=yes
595 AC_SUBST(TPC_PAD_MAPPING_PATH)
596 AC_DEFINE(HAVE_TPC_MAPPING)],
597 [])
598
599 fi
600 AC_MSG_CHECKING([for TPC mapping layout])
601 AC_MSG_RESULT([$have_tpc_mapping])
602 AC_LANG_POP(C++)
603
adec4ad4 604else
605 enable_module=$enable_tpc
b521659f 606fi
607AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
d6e2c707 608AC_MSG_CHECKING([whether to compile TPC library])
c6b46c3f 609AC_MSG_RESULT([$enable_module])
f59fee6d 610AC_SUBST([ALITPC_LIBS])
b521659f 611
612dnl ------------------------------------------------------------------
5e3820e2 613AH_TEMPLATE([HLT_RCU],[hlt rcu library])
614
615CHECK_HLTMODULE([rcu],
616 [AliAltroDecoder.h],
617 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
618 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
619 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
620 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
621
622if test "x$enable_module" = "xmissheader"; then
623 enable_module="no...missing.headers"
624 enable_rcu="no...missing.headers"
5e3820e2 625elif test "x$enable_module" = "xforce"; then
626 enable_rcu="yes"
627else
628 AC_LANG_PUSH(C++)
5e3820e2 629 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
630 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
631 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
632 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
633 [AliAltroDecoder decoder;
634 decoder.CopyBackward(NULL, 0);])],
635 [enable_rcu=$enable_module],
636 [enable_module="no...requires.AliRoot>v4-10-Release"
637 enable_rcu="no...requires.AliRoot>v4-10-Release"])
638 CPPFLAGS=$save_CPPFLAGS
639 LDFLAGS=$save_LDFLAGS
640 LIBS=$save_LIBS
641 AC_LANG_POP(C++)
642fi
643
644if test "x$enable_rcu" = "xyes" ; then
645 AC_DEFINE(HLT_RCU)
adec4ad4 646else
647 enable_module=$enable_rcu
5e3820e2 648fi
649AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
d6e2c707 650AC_MSG_CHECKING([whether to compile RCU library])
5e3820e2 651AC_MSG_RESULT([$enable_module])
652AC_SUBST([ALIRCU_LIBS])
653
654dnl ------------------------------------------------------------------
c160eda8 655AH_TEMPLATE([HLT_PHOS],[hlt phos library])
f59fee6d 656
657ALIPHOS_LIBS=
658CHECK_HLTMODULE([phos],
659 [], [$ALIROOT_CPPFLAGS],
660 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
652cf9d2 661 [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 662 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
663
c6b46c3f 664if test "x$enable_module" = "xmissheader"; then
665 enable_module="no...requires.AliRoot>v4-05-07"
f59fee6d 666 enable_phos="no...requires.AliRoot>v4-05-07"
c6b46c3f 667elif test "x$enable_module" = "xforce"; then
668 enable_phos="yes"
f59fee6d 669else
670 have_alicalorawstream=no
671 if test ! "x$have_aliroot" = "xno" ; then
672 AC_LANG_PUSH(C++)
673 save_CPPFLAGS="$CPPFLAGS"
674 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
675 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
56584e00 676 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
f59fee6d 677 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
678 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
679 #include <AliCaloRawStream.h>],
680 [int i])],
681 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
682 have_alicalorawstream=yes],
683 [])
ae1c1854 684 AC_MSG_RESULT([$have_aliphosrecoparam])
685 AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
686 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
687 [AliPHOSRecoParam param;
688 param.GetEMCClusteringThreshold()])],
689 [have_aliphosrecoparam=yes],
690 [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
f59fee6d 691 AC_MSG_RESULT([$have_alicalorawstream])
692 AC_LANG_POP(C++)
693 CPPFLAGS="$save_CPPFLAGS"
694 fi
695 if test "x$have_alicalorawstream" != "xyes"; then
696 enable_phos="no...requires.AliRoot>v4-05-07"
697 else
698 enable_phos=$enable_module
699 fi
700fi
2e742d30 701
c160eda8 702if test "x$enable_phos" = "xyes" ; then
703 AC_DEFINE(HLT_PHOS)
f59fee6d 704 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 705else
706 enable_module=$enable_phos
c160eda8 707fi
708AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
d6e2c707 709AC_MSG_CHECKING([whether to compile PHOS library])
c6b46c3f 710AC_MSG_RESULT([$enable_module])
f59fee6d 711AC_SUBST([ALIPHOS_LIBS])
c160eda8 712
c6b46c3f 713dnl ------------------------------------------------------------------
714AH_TEMPLATE([HLT_TRD],[hlt trd library])
715
f59fee6d 716ALITRD_LIBS=
717CHECK_HLTMODULE([trd],
718 [], [],
b3f74118 719 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
f59fee6d 720 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
721 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
722
c6b46c3f 723if test "x$enable_module" = "xmissheader"; then
724 enable_module="no...requires.AliRoot>v4-07-Release"
f59fee6d 725 enable_trd="no...requires.AliRoot>v4-07-Release"
c6b46c3f 726elif test "x$enable_module" = "xforce"; then
727 enable_trd="yes"
f59fee6d 728else
729 enable_trd=$enable_module
730 if test "x$enable_trd" = "xyes" ; then
731 AC_LANG_PUSH(C++)
732 save_CPPFLAGS="$CPPFLAGS"
733 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
adec4ad4 734 # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
735 # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
0d66dbf5 736 # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
ae5bf1dd 737 # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
0d66dbf5 738 AC_MSG_CHECKING([for required functions in AliTRDReconstructor])
739 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDReconstructor.h>],
740 [AliTRDReconstructor r;
ae5bf1dd 741 r.SetClusters(0)])],
f59fee6d 742 [],
0d66dbf5 743 [enable_trd="no...requires.AliRoot>v4-14-Release"])
f59fee6d 744 AC_MSG_RESULT([$enable_trd])
745 AC_LANG_POP(C++)
746 CPPFLAGS="$save_CPPFLAGS"
747 fi
748fi
2e742d30 749
0f51f5b8 750if test "x$enable_trd" = "xyes" ; then
751 AC_DEFINE(HLT_TRD)
f59fee6d 752 ALITRD_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 753else
754 enable_module=$enable_trd
0f51f5b8 755fi
756AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
d6e2c707 757AC_MSG_CHECKING([whether to compile TRD library])
c6b46c3f 758AC_MSG_RESULT([$enable_module])
f59fee6d 759AC_SUBST([ALITRD_LIBS])
0f51f5b8 760
761dnl ------------------------------------------------------------------
94cc9aab 762AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
2e742d30 763
f59fee6d 764ALIMUON_LIBS=
e89e6b23 765CHECK_HLTMODULE([dimuon],
41f99620 766 [AliMpExMap.h AliMUONTriggerIO.h],
767 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
b3f74118 768 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
769 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 770 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
771
772if test "x$enable_module" = "xmissheader"; then
a853a794 773 enable_module="no...requires.AliRoot>=v4-08-Release"
774 enable_muon="no...requires.AliRoot>=v4-08-Release"
c6b46c3f 775elif test "x$enable_module" = "xforce"; then
776 enable_muon="yes"
f59fee6d 777else
778 enable_muon=$enable_module
779fi
780
781if test "x$enable_muon" = "xyes" ; then
94cc9aab 782 AC_DEFINE(HLT_MUON)
f59fee6d 783 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
6ed1b948 784 AC_LANG_PUSH(C++)
785 dnl
786 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
787 dnl
788 have_muon_digitmaker_getrawstream=no
789 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
790 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
791 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
792 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
793 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
794 [AliMUONDigitMaker dm;
795 dm.GetRawStreamTracker();])],
796 [have_muon_digitmaker_getrawstream=yes],
797 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
798 LIBS=$save_LIBS
799 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
800
801 AC_LANG_POP(C++)
adec4ad4 802else
803 enable_module=$enable_muon
94cc9aab 804fi
f59fee6d 805AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
d6e2c707 806AC_MSG_CHECKING([whether to compile MUON library])
c6b46c3f 807AC_MSG_RESULT([$enable_module])
f59fee6d 808AC_SUBST([ALIMUON_LIBS])
94cc9aab 809
810dnl ------------------------------------------------------------------
d6e2c707 811AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
812
813ALITRIGGER_LIBS=
814CHECK_HLTMODULE([trigger],
815 [], [$ALIROOT_CPPFLAGS],
816 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
817 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
818 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
819
820if test "x$enable_module" = "xmissheader"; then
821 enable_module="no...header.missing"
822 enable_trigger="no...header.missing"
823elif test "x$enable_module" = "xforce"; then
824 enable_trigger="yes"
825else
826 enable_trigger=$enable_module
827fi
828
829if test "x$enable_trigger" = "xyes" ; then
830 AC_DEFINE(HLT_TRIGGER)
831 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 832else
833 enable_module=$enable_trigger
d6e2c707 834fi
835AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
836AC_MSG_CHECKING([whether to compile Trigger library])
837AC_MSG_RESULT([$enable_module])
838AC_SUBST([ALITRIGGER_LIBS])
839
840dnl ------------------------------------------------------------------
841AH_TEMPLATE([HLT_ITS],[hlt its library])
842
843ALIITS_LIBS=
844CHECK_HLTMODULE([its],
ae5bf1dd 845 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
cad2d06c 846 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
847 [ITSbase ITSrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
d6e2c707 848 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
849
850if test "x$enable_module" = "xmissheader"; then
851 enable_module="no...header.missing"
852 enable_its="no...header.missing"
853elif test "x$enable_module" = "xforce"; then
854 enable_its="yes"
855else
856 enable_its=$enable_module
adec4ad4 857 if test "x$enable_its" = "xyes" ; then
858 AC_LANG_PUSH(C++)
859 save_CPPFLAGS="$CPPFLAGS"
860 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
861 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
862 # require AliVertexer::GetNominalPos()
863 AC_MSG_CHECKING([for required functions in AliITSVertexer])
864 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
865 [AliITSVertexerZ v;
866 v.GetNominalPos()])],
867 [],
868 [enable_its="no...requires.AliRoot>v4-13-Release"])
869 AC_MSG_RESULT([$enable_its])
870 AC_LANG_POP(C++)
871 CPPFLAGS="$save_CPPFLAGS"
872 fi
d6e2c707 873fi
874
875if test "x$enable_its" = "xyes" ; then
876 AC_DEFINE(HLT_ITS)
877 ALIITS_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 878else
879 enable_module=$enable_its
d6e2c707 880fi
881AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
882AC_MSG_CHECKING([whether to compile ITS library])
883AC_MSG_RESULT([$enable_module])
884AC_SUBST([ALIITS_LIBS])
885
886dnl ------------------------------------------------------------------
e89e6b23 887AH_TEMPLATE([HLT_COMP],[hlt comp library])
888
889ALICOMP_LIBS=
890CHECK_HLTMODULE([comp],
891 [], [$ALIROOT_CPPFLAGS],
892 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
893 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
894 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
895
896if test "x$enable_module" = "xmissheader"; then
c6b46c3f 897 enable_module="no...header.missing"
e89e6b23 898 enable_comp="no...header.missing"
c6b46c3f 899elif test "x$enable_module" = "xforce"; then
900 enable_comp="yes"
e89e6b23 901else
902 enable_comp=$enable_module
903fi
904
905if test "x$enable_comp" = "xyes" ; then
906 AC_DEFINE(HLT_COMP)
907 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 908else
909 enable_module=$enable_comp
e89e6b23 910fi
911AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
912AC_MSG_CHECKING([whether to compile comp library])
c6b46c3f 913AC_MSG_RESULT([$enable_module])
e89e6b23 914AC_SUBST([ALICOMP_LIBS])
915
916dnl ------------------------------------------------------------------
fc455fba 917AC_MSG_CHECKING([whether to disable AliRoot logging])
918AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
919AC_ARG_ENABLE(aliroot-logging,
920 [AC_HELP_STRING([--disable-aliroot-logging],
921 [disable logging through AliRoot logging methods])],
922 [],[enable_aliroot_logging=no])
c018a1bd 923if test "x$have_aliroot" = "xno" ; then
924 enable_aliroot_logging=yes # this means 'disable'
925fi
fc455fba 926if test "x$enable_aliroot_logging" != "xno" ; then
927 AC_DEFINE(NOALIROOT_LOGGING)
b521659f 928fi
fc455fba 929AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
930AC_MSG_RESULT([$enable_aliroot_logging])
b521659f 931
932dnl ------------------------------------------------------------------
933AC_MSG_CHECKING([whether to enable saving MC data through the chain])
934AH_TEMPLATE([DOMC],[MC saving])
935AC_ARG_ENABLE(mc-saving,
936 [AC_HELP_STRING([--enable-mc-saving],
937 [enable saving MC data through the chain])],
938 [],[enable_mc_saving=no])
939if test "x$enable_mc_saving" = "xyes" ; then
940 AC_DEFINE(DOMC)
941fi
942AC_MSG_RESULT([$enable_mc_saving])
943
944dnl ------------------------------------------------------------------
b521659f 945dnl certainly something old, but we keep the define
946AC_MSG_CHECKING([whether to use ROWHOUGH])
947AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
948AC_ARG_ENABLE(rowhough,
949 [AC_HELP_STRING([--enable-rowhough],
950 [use ROWHOUGH ])],
951 [],[enable_rowhough=no])
952if test "x$enable_rowhough" = "xyes" ; then
953 AC_DEFINE(USEROWHOUGH)
954fi
955AC_MSG_RESULT([$enable_rowhough])
956
957dnl ------------------------------------------------------------------
53feaef5 958dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
959dnl stand-alone build system. This is most likely something old we can
960dnl get rid off later, or do something more reasonable. Since the define
961dnl needs the quotes they have to be escaped. This works well for the
962dnl Makefile but not for the configure script. So we have to add the
963dnl defines after all the other checks.
964CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
965if test ! "x$have_aliroot" = "xno" ; then
966 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
967fi
968
969dnl ------------------------------------------------------------------
b521659f 970dnl
971dnl Documentation
972dnl
973AC_ARG_VAR(DOXYGEN, The Documentation Generator)
974AC_PATH_PROG(PERL, perl)
975AC_PATH_PROG(DOXYGEN, doxygen)
5894eaa5 976AC_ARG_ENABLE(dot,
977 [AC_HELP_STRING([--enable-dot],
978 [enable dot documentation generator])],
979 [],[enable_dot=no])
b521659f 980HAVE_DOT=NO
981DOT_PATH=
982AC_PATH_PROG(DOT, dot)
5894eaa5 983if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
b521659f 984 HAVE_DOT=YES
985 DOT_PATH=`dirname $DOT`
986fi
ae1c1854 987
988AC_MSG_CHECKING([for documentation mode])
989AC_ARG_ENABLE(doc,
990 [AC_HELP_STRING([--disable-doc],
991 [disable documentation build; monolithic build --enable-doc=mono ])],
992 [],[enable_doc=modules])
993if test "x$DOXYGEN" = "x" ; then
994 enable_doc=no.doxygen
995elif test ! "x$enable_doc" = "xmono" && \
996 test ! "x$enable_doc" = "xmodules" && \
997 test ! "x$enable_doc" = "xno"; then
998 enable_doc=no
999 AC_MSG_WARN([unknown option])
1000fi
1001if test "x$enable_doc" = "xno" ; then
1002 enable_doc=off
1003 DOXYGEN=
1004fi
1005
1006AC_MSG_RESULT([$enable_doc])
1007AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1008AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
b521659f 1009AC_SUBST([HAVE_DOT])
1010AC_SUBST([DOT_PATH])
1011
90ebac25 1012dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1013dnl echo $HAVE_SRC_SUBDIR
1014dnl if ! test -d $HAVE_SRC_SUBDIR; then
1015dnl HAVE_SRC_SUBDIR=
1016dnl fi
1017dnl AC_SUBST([HAVE_SRC_SUBDIR])
1018
b521659f 1019dnl ------------------------------------------------------------------
7233bc62 1020AC_MSG_NOTICE([---------------------------------------------- ])
1021AC_MSG_NOTICE([ build summary ])
1022AC_MSG_NOTICE([---------------------------------------------- ])
1023
b521659f 1024AC_CONFIG_FILES([Makefile
1025 BASE/Makefile
53feaef5 1026 BASE/setenv.sh
1027 BASE/setenv.csh
2be16a33 1028 BASE/HOMER/Makefile
242bb794 1029 BASE/util/Makefile
d098ebd4 1030 BASE/interface/Makefile
853121af 1031 BASE/test/Makefile
1a21074a 1032 BASE/interface/test/Makefile
b521659f 1033 doc/Makefile
2efb85be 1034 doc/doxygen.conf
1035 doc/doxymodule.conf])
b521659f 1036
7233bc62 1037dnl AliRoot and installation directory for libraries
1038dnl
1039AC_MSG_NOTICE([AliRoot: $have_aliroot])
1040AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1041if test "x$have_aliroot" != "xno"; then
1042 AC_CONFIG_FILES([sim/Makefile
1043 rec/Makefile
652cf9d2 1044 rec/test/Makefile
7233bc62 1045 shuttle/Makefile
ff4edcee 1046 pendolino/Makefile
7233bc62 1047 ])
1048fi
1049if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1050libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1051AC_MSG_NOTICE([libdir set to $libdir])
1052fi
1053
1054AC_MSG_NOTICE([compile sample library: $enable_sample])
1055if test "x$enable_sample" = "xyes"; then
1056 AC_CONFIG_FILES([SampleLib/Makefile])
1057fi
1058
652cf9d2 1059AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1060if test "x$enable_rcu" = "xyes"; then
1061 AC_CONFIG_FILES([RCU/Makefile
1062 RCU/test/Makefile
1063 ])
1064fi
1065
7233bc62 1066AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1067if test "x$enable_tpc" = "xyes"; then
1068 AC_CONFIG_FILES([TPCLib/Makefile
1069 TPCLib/test/Makefile
1070 TPCLib/mapping2array.cxx
1071 TPCLib/OnlineDisplay/Makefile
1072 ])
1073fi
1074
7233bc62 1075AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1076if test "x$enable_phos" = "xyes"; then
1077 AC_CONFIG_FILES([PHOS/Makefile])
1078fi
1079
1080AC_MSG_NOTICE([compile TRD library: $enable_trd])
1081if test "x$enable_trd" = "xyes"; then
1082 AC_CONFIG_FILES([TRD/Makefile])
1083fi
1084
1085AC_MSG_NOTICE([compile MUON library: $enable_muon])
1086if test "x$enable_muon" = "xyes"; then
1087 AC_CONFIG_FILES([MUON/Makefile])
1088fi
1089
1090AC_MSG_NOTICE([compile ITS library: $enable_its])
1091if test "x$enable_its" = "xyes"; then
1092 AC_CONFIG_FILES([ITS/Makefile])
1093fi
1094
1095AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1096if test "x$enable_trigger" = "xyes"; then
1097 AC_CONFIG_FILES([trigger/Makefile])
1098fi
1099
1100AC_MSG_NOTICE([compile comp library: $enable_comp])
1101if test "x$enable_comp" = "xyes"; then
1102 AC_CONFIG_FILES([comp/Makefile])
1103fi
b521659f 1104
1105AC_OUTPUT
1106dnl
1107dnl EOF
1108dnl
1109