]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/configure.ac
mixing example
[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
83cb7e1d 255 dnl
256 dnl ESD copy function added May 9 2008 rev 25667
257 dnl
258 have_esd_copy=no
259 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
260 [AliESDEvent esd1;
261 AliESDEvent esd2;
262 esd2=esd1;])],
9877121c 263 [have_esd_copy=yes],
264 [AC_DEFINE(HAVE_NOT_ESD_COPY)])
83cb7e1d 265 AC_MSG_CHECKING(for ESD assignment operator)
266 AC_MSG_RESULT([$have_esd_copy])
267
296b5188 268 dnl
269 dnl AliRawReaderMemory support for multiple buffers added
c03e064d 270 dnl revision 26829 Jun 2008
296b5188 271 dnl
272 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
273 have_rawreadermemory_multbuffers=no
274 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
275 [AliRawReaderMemory rr;
276 rr.AddBuffer(NULL, 0, 0);])],
277 [have_rawreadermemory_multbuffers=yes],
278 [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
c03e064d 279 AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
296b5188 280 AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
281
f5bf5fc3 282 dnl
fbf4d793 283 dnl required header files and libraries for modules
f5bf5fc3 284 dnl
04dbc9e4 285
f59fee6d 286 dnl
287 dnl Check for the interface of AliExternalTrackParam which has been changed
288 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
289 dnl or higher)
290 externaltrackparam_version=1
291 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
292 [AliExternalTrackParam trackparam;
293 Double_t param[[5]]; Double_t covar[[15]];
294 trackparam.Set(0., 0., param, covar);])],
295 [externaltrackparam_version=2],
296 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
297 AC_MSG_CHECKING(for version of AliExternalTrackParam)
298 AC_MSG_RESULT($externaltrackparam_version)
299
74c73e5a 300 CPPFLAGS=$save_CPPFLAGS
301 LDFLAGS=$save_LDFLAGS
302 LIBS=$save_LIBS
7233bc62 303fi # if test ! "x$have_aliroot" = "xno"
f59fee6d 304
74c73e5a 305AC_LANG_POP(C++)
5f5b708b 306AC_SUBST([ALICE_ROOT])
74c73e5a 307AC_SUBST([ALIROOT_CPPFLAGS])
308AC_SUBST([ALIROOT_LDFLAGS])
dc8f7cb7 309AC_SUBST([ALIROOTBINDIR])
53feaef5 310AC_SUBST([ALIROOTLIBDIR])
74c73e5a 311AC_SUBST([ALIROOT_LIBS])
0f51f5b8 312AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
85869391 313
6c1a9d9e 314HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
315HLTBASE_LDFLAGS=
316AC_SUBST([HLTBASE_CPPFLAGS])
317AC_SUBST([HLTBASE_LDFLAGS])
318
78b557c2 319dnl ------------------------------------------------------------------
320dnl check for the HLT PubSub Framework
f8c5e339 321dnl namely for the existence of the HOMER library
322dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
323dnl package. It os though possible to choose an external. library
324dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
325dnl got the name libAliHLTHOMER
78b557c2 326AC_MSG_CHECKING([for HLT PubSub Framework])
327AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
328 [],
329 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
330if test -z $with_pubsub || ! test -d $with_pubsub ; then
331 with_pubsub=no
332fi
333AC_MSG_RESULT([$with_pubsub])
f8c5e339 334HOMER_VERSION=2
5f1685a0 335HOMER_LIBS=
78b557c2 336
337AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
338if test "x$with_pubsub" != "xno" ; then
339 save_CPPFLAGS=$CPPFLAGS
340 save_LDFLAGS=$LDFLAGS
341 save_LIBS=$LIBS
4a6b4894 342 # currently the different versions of the HLT PubSub framework have a different
343 # directory layout
20b6dd9a 344 if test -d ${with_pubsub}/include/HOMER ; then
5235c3e9 345 # the 'early' location of the include files with separated HOMER sub dirs
9ce4bf4a 346 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
5235c3e9 347 elif test -d ${with_pubsub}/include/Util/HOMER ; then
348 # location for HLT Framework versions after Sep 2006
9ce4bf4a 349 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
5235c3e9 350 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
351 # fall back if include files were not installed (versions after Sep 06)
9ce4bf4a 352 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
4a6b4894 353 else
5235c3e9 354 # fall back if include files were not installed (versions before Sep 06)
9ce4bf4a 355 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
4a6b4894 356 fi
9ce4bf4a 357 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
5894eaa5 358
359 AC_ARG_ENABLE(pubsub-debug,
360 [AC_HELP_STRING([--disable-pubsub-debug],
361 [force the production version of the PubSub framework])],
362 [],[enable_pubsub_debug=yes])
363 homer_type="none"
364 HOMER_TARGET="`uname -s`-`uname -m`"
365 AC_MSG_CHECKING([for HLT PubSub Framework release type])
366 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
367 homer_type="production"
368 HOMER_TARGET="${HOMER_TARGET}-release"
369 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
370 homer_type="debug"
371 HOMER_TARGET="${HOMER_TARGET}-debug"
372 fi
373 AC_MSG_RESULT([${homer_type}])
f8c5e339 374 HOMERREADER_HEADER=HOMERReader.h
5894eaa5 375 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
376 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
53feaef5 377 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
78b557c2 378 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
379 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
380 LIBS="$save_LIBS "
381 with_homer=no
382 AC_LANG_PUSH(C++)
f8c5e339 383 AC_CHECK_HEADER([$HOMERREADER_HEADER],
5f1685a0 384 [ AC_CHECK_LIB([HOMER],[_init],
385 [with_homer=yes
386 HOMER_LIBS="-lHOMER"],
387 [ AC_CHECK_LIB([HOMERReader],[_init],
388 [with_homer=yes
389 HOMER_LIBS="-lHOMERReader"])])
390 LIBS="$LIBS $HOMER_LIBS"
9ce4bf4a 391 AC_MSG_CHECKING([version of HOMER library])
5f1685a0 392 dnl The Homer library has no versioning, so we do our own
393 dnl version description
394 dnl ----------------------------------------------------------------------
395 dnl 1 inintial version
396 dnl 2 GetBlockStatusFlags added to the interface
397 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
398 [HOMERReader reader("dummy", 0);
399 reader.GetBlockStatusFlags(0);])],
f8c5e339 400 [],
401 [HOMER_VERSION=1])
5f1685a0 402 AC_MSG_RESULT([$HOMER_VERSION])
f8c5e339 403 ],
404 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
78b557c2 405 AC_LANG_POP(C++)
f8c5e339 406 HOMER_INBUILT_LIB=
407else
408dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
409 topdir=`dirname $0`
410 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
411 HOMERREADER_HEADER=AliHLTHOMERReader.h
412 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
413 HOMER_BINDIR=
414 HOMER_LIBDIR=
415 HOMER_LDFLAGS=
416fi
417
78b557c2 418 if test "x$with_homer" = "xno" ; then
419 HOMER_CPPFLAGS=
420 HOMER_LDFLAGS=
5f1685a0 421 HOMER_LIBS=
78b557c2 422 else
5f1685a0 423 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
78b557c2 424 AC_DEFINE(HAVE_HOMERREADER)
425 fi
426 CPPFLAGS="$save_CPPFLAGS"
427 LDFLAGS="$save_LDFLAGS"
428 LIBS="$save_LIBS"
f8c5e339 429
430AC_SUBST([HOMERREADER_HEADER])
431AC_SUBST([HOMER_INBUILT_LIB])
78b557c2 432AC_SUBST([HOMER_CPPFLAGS])
433AC_SUBST([HOMER_LDFLAGS])
53feaef5 434AC_SUBST([HOMER_LIBDIR])
435AC_SUBST([HOMER_BINDIR])
5f1685a0 436AC_SUBST([HOMER_LIBS])
78b557c2 437
7233bc62 438dnl ------------------------------------------------------------------
439AC_ARG_ENABLE(all,
440 [AC_HELP_STRING([--disable-all],
441 [disable all detector modules, individual modules can be switched on by --enable-det])],
442 [disable_all=yes],[])
443
85869391 444dnl ------------------------------------------------------------------
445AC_MSG_CHECKING([whether to impose strict coding conventions])
446AC_ARG_ENABLE(strict,
2028353f 447 [AC_HELP_STRING([--disable-strict],
448 [disable coding convention checks ])],
449 [],[enable_strict=yes])
85869391 450if test "x$enable_strict" = "xyes" ; then
f7561f8d 451 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
85869391 452fi
453AC_MSG_RESULT([$enable_strict])
b521659f 454
5b6ab198 455dnl ------------------------------------------------------------------
456AC_MSG_CHECKING([whether to enable component statistics])
457AC_ARG_ENABLE(component-stat,
458 [AC_HELP_STRING([--enable-component-stat],
459 [enable component statistics ])],
460 [],[enable_component_stat=no])
461if test "x$enable_component_stat" = "xyes" ; then
462 AC_DEFINE(HLT_COMPONENT_STATISTICS)
463fi
464AC_MSG_RESULT([$enable_component_stat])
465
cad2d06c 466dnl ------------------------------------------------------------------
467dnl ---- module checks
468dnl ------------------------------------------------------------------
469save_CPPFLAGS=$CPPFLAGS
470save_LDFLAGS=$LDFLAGS
471save_LIBS=$LIBS
472
b521659f 473dnl ------------------------------------------------------------------
474AC_MSG_CHECKING([whether to compile sample library])
475AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
476AC_ARG_ENABLE(sample,
c018a1bd 477 [AC_HELP_STRING([--disable-sample],
b521659f 478 [compile the sample library ])],
2e742d30 479 [],
480 [if test "x$have_aliroot" = "xno" ; then
481 enable_sample="no...requires.AliRoot"
482 else
483 enable_sample=yes
484 fi
485 ])
486
b521659f 487if test "x$enable_sample" = "xyes" ; then
488 AC_DEFINE(HLT_SAMPLE)
489fi
490AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
491AC_MSG_RESULT([$enable_sample])
492
c018a1bd 493dnl ------------------------------------------------------------------
494AC_MSG_CHECKING([whether to compile util library])
495AH_TEMPLATE([HLT_UTIL],[HLT utility library])
496AC_ARG_ENABLE(util,
497 [AC_HELP_STRING([--disable-util],
498 [compile the util library ])],
2e742d30 499 [],
500 [if test "x$have_aliroot" = "xno" ; then
501 enable_util="no...requires.AliRoot"
502 else
503 enable_util=yes
504 fi
505 ])
c018a1bd 506
507if test "x$enable_util" = "xyes" ; then
508 AC_DEFINE(HLT_UTIL)
509fi
510AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
511AC_MSG_RESULT([$enable_util])
512
b521659f 513dnl ------------------------------------------------------------------
b521659f 514AH_TEMPLATE([HLT_TPC],[hlt tpc library])
f59fee6d 515
e642ae99 516ALITPC_LIBS=
f59fee6d 517CHECK_HLTMODULE([tpc],
e962f438 518 [AliTPCRawStream.h],
519 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
70d00903 520 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
e642ae99 521 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 522 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
523
c6b46c3f 524if test "x$enable_module" = "xmissheader"; then
525 enable_module="no...missing.headers"
f59fee6d 526 enable_tpc="no...missing.headers"
c6b46c3f 527elif test "x$enable_module" = "xforce"; then
528 enable_tpc="yes"
f59fee6d 529else
530 enable_tpc=$enable_module
531fi
2e742d30 532
b521659f 533if test "x$enable_tpc" = "xyes" ; then
e642ae99 534 AC_LANG_PUSH(C++)
b521659f 535 AC_DEFINE(HLT_TPC)
e642ae99 536 ALITPC_LIBS=$ALIHLTMODULE_LIBS
537 dnl
538 dnl Check for functionality in the TPC reconstruction required for online
539 dnl processing
540 dnl
541 have_tpc_hltoffline_rec=no
542 AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
543 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
544 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
545 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
546 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
547 #include <AliTPCclustererMI.h>
548 #include <TObjArray.h>],
549 [AliTPCtrackerMI tracker;
550 TObjArray* array=NULL;
551 tracker.LoadClusters(array);
552 AliTPCclustererMI cl(NULL, NULL);
89c2e505 553 cl.GetOutputClonesArray();])],
e642ae99 554 [have_tpc_hltoffline_rec=yes],
555 [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
cad2d06c 556 LIBS=$save_LIBS
e642ae99 557 AC_MSG_RESULT([$have_tpc_hltoffline_rec])
558
559 AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
560 AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
561
562 have_tpc_mapping=no
563 if test ! "x$have_aliroot" = "xno" ; then
564 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
565 # which is stored in the TPC/mapping/Patchx.data files from
566 # AliRoot version v4-04-Release (May 2006)
567 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
568 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
569 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
570 [have_tpc_mapping=yes
571 AC_SUBST(TPC_PAD_MAPPING_PATH)
572 AC_DEFINE(HAVE_TPC_MAPPING)],
573 [])
574
575 fi
576 AC_MSG_CHECKING([for TPC mapping layout])
577 AC_MSG_RESULT([$have_tpc_mapping])
578 AC_LANG_POP(C++)
579
adec4ad4 580else
581 enable_module=$enable_tpc
b521659f 582fi
583AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
d6e2c707 584AC_MSG_CHECKING([whether to compile TPC library])
c6b46c3f 585AC_MSG_RESULT([$enable_module])
f59fee6d 586AC_SUBST([ALITPC_LIBS])
b521659f 587
5e3820e2 588dnl ------------------------------------------------------------------
589AH_TEMPLATE([HLT_RCU],[hlt rcu library])
590
591CHECK_HLTMODULE([rcu],
592 [AliAltroDecoder.h],
593 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
594 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
595 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
596 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
597
598if test "x$enable_module" = "xmissheader"; then
599 enable_module="no...missing.headers"
600 enable_rcu="no...missing.headers"
5e3820e2 601elif test "x$enable_module" = "xforce"; then
602 enable_rcu="yes"
603else
604 AC_LANG_PUSH(C++)
5e3820e2 605 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
606 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
607 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
608 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
609 [AliAltroDecoder decoder;
610 decoder.CopyBackward(NULL, 0);])],
611 [enable_rcu=$enable_module],
612 [enable_module="no...requires.AliRoot>v4-10-Release"
613 enable_rcu="no...requires.AliRoot>v4-10-Release"])
614 CPPFLAGS=$save_CPPFLAGS
615 LDFLAGS=$save_LDFLAGS
616 LIBS=$save_LIBS
617 AC_LANG_POP(C++)
618fi
619
620if test "x$enable_rcu" = "xyes" ; then
621 AC_DEFINE(HLT_RCU)
adec4ad4 622else
623 enable_module=$enable_rcu
5e3820e2 624fi
625AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
d6e2c707 626AC_MSG_CHECKING([whether to compile RCU library])
5e3820e2 627AC_MSG_RESULT([$enable_module])
628AC_SUBST([ALIRCU_LIBS])
629
c160eda8 630dnl ------------------------------------------------------------------
c160eda8 631AH_TEMPLATE([HLT_PHOS],[hlt phos library])
f59fee6d 632
633ALIPHOS_LIBS=
634CHECK_HLTMODULE([phos],
635 [], [$ALIROOT_CPPFLAGS],
636 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
652cf9d2 637 [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 638 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
639
c6b46c3f 640if test "x$enable_module" = "xmissheader"; then
641 enable_module="no...requires.AliRoot>v4-05-07"
f59fee6d 642 enable_phos="no...requires.AliRoot>v4-05-07"
c6b46c3f 643elif test "x$enable_module" = "xforce"; then
644 enable_phos="yes"
f59fee6d 645else
646 have_alicalorawstream=no
647 if test ! "x$have_aliroot" = "xno" ; then
648 AC_LANG_PUSH(C++)
649 save_CPPFLAGS="$CPPFLAGS"
650 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
651 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
56584e00 652 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
f59fee6d 653 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
654 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
655 #include <AliCaloRawStream.h>],
656 [int i])],
657 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
658 have_alicalorawstream=yes],
659 [])
ae1c1854 660 AC_MSG_RESULT([$have_aliphosrecoparam])
661 AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
662 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
663 [AliPHOSRecoParam param;
664 param.GetEMCClusteringThreshold()])],
665 [have_aliphosrecoparam=yes],
666 [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
f59fee6d 667 AC_MSG_RESULT([$have_alicalorawstream])
668 AC_LANG_POP(C++)
669 CPPFLAGS="$save_CPPFLAGS"
670 fi
671 if test "x$have_alicalorawstream" != "xyes"; then
672 enable_phos="no...requires.AliRoot>v4-05-07"
673 else
674 enable_phos=$enable_module
675 fi
676fi
2e742d30 677
c160eda8 678if test "x$enable_phos" = "xyes" ; then
679 AC_DEFINE(HLT_PHOS)
f59fee6d 680 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 681else
682 enable_module=$enable_phos
c160eda8 683fi
684AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
d6e2c707 685AC_MSG_CHECKING([whether to compile PHOS library])
c6b46c3f 686AC_MSG_RESULT([$enable_module])
f59fee6d 687AC_SUBST([ALIPHOS_LIBS])
c160eda8 688
c6b46c3f 689dnl ------------------------------------------------------------------
690AH_TEMPLATE([HLT_TRD],[hlt trd library])
691
f59fee6d 692ALITRD_LIBS=
693CHECK_HLTMODULE([trd],
694 [], [],
b3f74118 695 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
f59fee6d 696 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
697 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
698
c6b46c3f 699if test "x$enable_module" = "xmissheader"; then
700 enable_module="no...requires.AliRoot>v4-07-Release"
f59fee6d 701 enable_trd="no...requires.AliRoot>v4-07-Release"
c6b46c3f 702elif test "x$enable_module" = "xforce"; then
703 enable_trd="yes"
f59fee6d 704else
705 enable_trd=$enable_module
706 if test "x$enable_trd" = "xyes" ; then
707 AC_LANG_PUSH(C++)
708 save_CPPFLAGS="$CPPFLAGS"
709 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
adec4ad4 710 # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
711 # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
0d66dbf5 712 # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
713 AC_MSG_CHECKING([for required functions in AliTRDReconstructor])
714 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDReconstructor.h>],
715 [AliTRDReconstructor r;
716 r.SetStreamLevel(0)])],
f59fee6d 717 [],
0d66dbf5 718 [enable_trd="no...requires.AliRoot>v4-14-Release"])
f59fee6d 719 AC_MSG_RESULT([$enable_trd])
720 AC_LANG_POP(C++)
721 CPPFLAGS="$save_CPPFLAGS"
722 fi
723fi
2e742d30 724
0f51f5b8 725if test "x$enable_trd" = "xyes" ; then
726 AC_DEFINE(HLT_TRD)
f59fee6d 727 ALITRD_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 728else
729 enable_module=$enable_trd
0f51f5b8 730fi
731AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
d6e2c707 732AC_MSG_CHECKING([whether to compile TRD library])
c6b46c3f 733AC_MSG_RESULT([$enable_module])
f59fee6d 734AC_SUBST([ALITRD_LIBS])
0f51f5b8 735
94cc9aab 736dnl ------------------------------------------------------------------
94cc9aab 737AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
2e742d30 738
f59fee6d 739ALIMUON_LIBS=
e89e6b23 740CHECK_HLTMODULE([dimuon],
41f99620 741 [AliMpExMap.h AliMUONTriggerIO.h],
742 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
b3f74118 743 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
744 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 745 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
746
747if test "x$enable_module" = "xmissheader"; then
a853a794 748 enable_module="no...requires.AliRoot>=v4-08-Release"
749 enable_muon="no...requires.AliRoot>=v4-08-Release"
c6b46c3f 750elif test "x$enable_module" = "xforce"; then
751 enable_muon="yes"
f59fee6d 752else
753 enable_muon=$enable_module
754fi
755
756if test "x$enable_muon" = "xyes" ; then
94cc9aab 757 AC_DEFINE(HLT_MUON)
f59fee6d 758 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
6ed1b948 759 AC_LANG_PUSH(C++)
760 dnl
761 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
762 dnl
763 have_muon_digitmaker_getrawstream=no
764 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
765 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
766 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
767 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
768 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
769 [AliMUONDigitMaker dm;
770 dm.GetRawStreamTracker();])],
771 [have_muon_digitmaker_getrawstream=yes],
772 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
773 LIBS=$save_LIBS
774 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
775
776 AC_LANG_POP(C++)
adec4ad4 777else
778 enable_module=$enable_muon
94cc9aab 779fi
f59fee6d 780AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
d6e2c707 781AC_MSG_CHECKING([whether to compile MUON library])
c6b46c3f 782AC_MSG_RESULT([$enable_module])
f59fee6d 783AC_SUBST([ALIMUON_LIBS])
94cc9aab 784
d6e2c707 785dnl ------------------------------------------------------------------
786AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
787
788ALITRIGGER_LIBS=
789CHECK_HLTMODULE([trigger],
790 [], [$ALIROOT_CPPFLAGS],
791 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
792 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
793 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
794
795if test "x$enable_module" = "xmissheader"; then
796 enable_module="no...header.missing"
797 enable_trigger="no...header.missing"
798elif test "x$enable_module" = "xforce"; then
799 enable_trigger="yes"
800else
801 enable_trigger=$enable_module
802fi
803
804if test "x$enable_trigger" = "xyes" ; then
805 AC_DEFINE(HLT_TRIGGER)
806 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 807else
808 enable_module=$enable_trigger
d6e2c707 809fi
810AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
811AC_MSG_CHECKING([whether to compile Trigger library])
812AC_MSG_RESULT([$enable_module])
813AC_SUBST([ALITRIGGER_LIBS])
814
815dnl ------------------------------------------------------------------
816AH_TEMPLATE([HLT_ITS],[hlt its library])
817
818ALIITS_LIBS=
819CHECK_HLTMODULE([its],
820 [], [$ALIROOT_CPPFLAGS],
cad2d06c 821 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
822 [ITSbase ITSrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
d6e2c707 823 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
824
825if test "x$enable_module" = "xmissheader"; then
826 enable_module="no...header.missing"
827 enable_its="no...header.missing"
828elif test "x$enable_module" = "xforce"; then
829 enable_its="yes"
830else
831 enable_its=$enable_module
adec4ad4 832 if test "x$enable_its" = "xyes" ; then
833 AC_LANG_PUSH(C++)
834 save_CPPFLAGS="$CPPFLAGS"
835 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
836 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
837 # require AliVertexer::GetNominalPos()
838 AC_MSG_CHECKING([for required functions in AliITSVertexer])
839 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
840 [AliITSVertexerZ v;
841 v.GetNominalPos()])],
842 [],
843 [enable_its="no...requires.AliRoot>v4-13-Release"])
844 AC_MSG_RESULT([$enable_its])
845 AC_LANG_POP(C++)
846 CPPFLAGS="$save_CPPFLAGS"
847 fi
d6e2c707 848fi
849
850if test "x$enable_its" = "xyes" ; then
851 AC_DEFINE(HLT_ITS)
852 ALIITS_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 853else
854 enable_module=$enable_its
d6e2c707 855fi
856AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
857AC_MSG_CHECKING([whether to compile ITS library])
858AC_MSG_RESULT([$enable_module])
859AC_SUBST([ALIITS_LIBS])
860
e89e6b23 861dnl ------------------------------------------------------------------
862AH_TEMPLATE([HLT_COMP],[hlt comp library])
863
864ALICOMP_LIBS=
865CHECK_HLTMODULE([comp],
866 [], [$ALIROOT_CPPFLAGS],
867 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
868 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
869 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
870
871if test "x$enable_module" = "xmissheader"; then
c6b46c3f 872 enable_module="no...header.missing"
e89e6b23 873 enable_comp="no...header.missing"
c6b46c3f 874elif test "x$enable_module" = "xforce"; then
875 enable_comp="yes"
e89e6b23 876else
877 enable_comp=$enable_module
878fi
879
880if test "x$enable_comp" = "xyes" ; then
881 AC_DEFINE(HLT_COMP)
882 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 883else
884 enable_module=$enable_comp
e89e6b23 885fi
886AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
887AC_MSG_CHECKING([whether to compile comp library])
c6b46c3f 888AC_MSG_RESULT([$enable_module])
e89e6b23 889AC_SUBST([ALICOMP_LIBS])
890
b521659f 891dnl ------------------------------------------------------------------
fc455fba 892AC_MSG_CHECKING([whether to disable AliRoot logging])
893AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
894AC_ARG_ENABLE(aliroot-logging,
895 [AC_HELP_STRING([--disable-aliroot-logging],
896 [disable logging through AliRoot logging methods])],
897 [],[enable_aliroot_logging=no])
c018a1bd 898if test "x$have_aliroot" = "xno" ; then
899 enable_aliroot_logging=yes # this means 'disable'
900fi
fc455fba 901if test "x$enable_aliroot_logging" != "xno" ; then
902 AC_DEFINE(NOALIROOT_LOGGING)
b521659f 903fi
fc455fba 904AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
905AC_MSG_RESULT([$enable_aliroot_logging])
b521659f 906
907dnl ------------------------------------------------------------------
908AC_MSG_CHECKING([whether to enable saving MC data through the chain])
909AH_TEMPLATE([DOMC],[MC saving])
910AC_ARG_ENABLE(mc-saving,
911 [AC_HELP_STRING([--enable-mc-saving],
912 [enable saving MC data through the chain])],
913 [],[enable_mc_saving=no])
914if test "x$enable_mc_saving" = "xyes" ; then
915 AC_DEFINE(DOMC)
916fi
917AC_MSG_RESULT([$enable_mc_saving])
918
b521659f 919dnl ------------------------------------------------------------------
b521659f 920dnl certainly something old, but we keep the define
921AC_MSG_CHECKING([whether to use ROWHOUGH])
922AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
923AC_ARG_ENABLE(rowhough,
924 [AC_HELP_STRING([--enable-rowhough],
925 [use ROWHOUGH ])],
926 [],[enable_rowhough=no])
927if test "x$enable_rowhough" = "xyes" ; then
928 AC_DEFINE(USEROWHOUGH)
929fi
930AC_MSG_RESULT([$enable_rowhough])
931
53feaef5 932dnl ------------------------------------------------------------------
933dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
934dnl stand-alone build system. This is most likely something old we can
935dnl get rid off later, or do something more reasonable. Since the define
936dnl needs the quotes they have to be escaped. This works well for the
937dnl Makefile but not for the configure script. So we have to add the
938dnl defines after all the other checks.
939CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
940if test ! "x$have_aliroot" = "xno" ; then
941 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
942fi
943
b521659f 944dnl ------------------------------------------------------------------
945dnl
946dnl Documentation
947dnl
948AC_ARG_VAR(DOXYGEN, The Documentation Generator)
949AC_PATH_PROG(PERL, perl)
950AC_PATH_PROG(DOXYGEN, doxygen)
5894eaa5 951AC_ARG_ENABLE(dot,
952 [AC_HELP_STRING([--enable-dot],
953 [enable dot documentation generator])],
954 [],[enable_dot=no])
b521659f 955HAVE_DOT=NO
956DOT_PATH=
957AC_PATH_PROG(DOT, dot)
5894eaa5 958if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
b521659f 959 HAVE_DOT=YES
960 DOT_PATH=`dirname $DOT`
961fi
ae1c1854 962
963AC_MSG_CHECKING([for documentation mode])
964AC_ARG_ENABLE(doc,
965 [AC_HELP_STRING([--disable-doc],
966 [disable documentation build; monolithic build --enable-doc=mono ])],
967 [],[enable_doc=modules])
968if test "x$DOXYGEN" = "x" ; then
969 enable_doc=no.doxygen
970elif test ! "x$enable_doc" = "xmono" && \
971 test ! "x$enable_doc" = "xmodules" && \
972 test ! "x$enable_doc" = "xno"; then
973 enable_doc=no
974 AC_MSG_WARN([unknown option])
975fi
976if test "x$enable_doc" = "xno" ; then
977 enable_doc=off
978 DOXYGEN=
979fi
980
981AC_MSG_RESULT([$enable_doc])
982AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
983AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
b521659f 984AC_SUBST([HAVE_DOT])
985AC_SUBST([DOT_PATH])
986
90ebac25 987dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
988dnl echo $HAVE_SRC_SUBDIR
989dnl if ! test -d $HAVE_SRC_SUBDIR; then
990dnl HAVE_SRC_SUBDIR=
991dnl fi
992dnl AC_SUBST([HAVE_SRC_SUBDIR])
993
2bbbadd1 994dnl ------------------------------------------------------------------
7233bc62 995AC_MSG_NOTICE([---------------------------------------------- ])
996AC_MSG_NOTICE([ build summary ])
997AC_MSG_NOTICE([---------------------------------------------- ])
998
b521659f 999AC_CONFIG_FILES([Makefile
1000 BASE/Makefile
53feaef5 1001 BASE/setenv.sh
1002 BASE/setenv.csh
2be16a33 1003 BASE/HOMER/Makefile
242bb794 1004 BASE/util/Makefile
d098ebd4 1005 BASE/interface/Makefile
853121af 1006 BASE/test/Makefile
1a21074a 1007 BASE/interface/test/Makefile
b521659f 1008 doc/Makefile
2efb85be 1009 doc/doxygen.conf
1010 doc/doxymodule.conf])
b521659f 1011
7233bc62 1012dnl AliRoot and installation directory for libraries
1013dnl
1014AC_MSG_NOTICE([AliRoot: $have_aliroot])
1015AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1016if test "x$have_aliroot" != "xno"; then
1017 AC_CONFIG_FILES([sim/Makefile
1018 rec/Makefile
652cf9d2 1019 rec/test/Makefile
7233bc62 1020 shuttle/Makefile
ff4edcee 1021 pendolino/Makefile
7233bc62 1022 ])
1023fi
1024if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1025libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1026AC_MSG_NOTICE([libdir set to $libdir])
1027fi
1028
1029AC_MSG_NOTICE([compile sample library: $enable_sample])
1030if test "x$enable_sample" = "xyes"; then
1031 AC_CONFIG_FILES([SampleLib/Makefile])
1032fi
1033
652cf9d2 1034AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1035if test "x$enable_rcu" = "xyes"; then
1036 AC_CONFIG_FILES([RCU/Makefile
1037 RCU/test/Makefile
1038 ])
1039fi
1040
7233bc62 1041AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1042if test "x$enable_tpc" = "xyes"; then
1043 AC_CONFIG_FILES([TPCLib/Makefile
1044 TPCLib/test/Makefile
1045 TPCLib/mapping2array.cxx
1046 TPCLib/OnlineDisplay/Makefile
1047 ])
1048fi
1049
7233bc62 1050AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1051if test "x$enable_phos" = "xyes"; then
1052 AC_CONFIG_FILES([PHOS/Makefile])
1053fi
1054
1055AC_MSG_NOTICE([compile TRD library: $enable_trd])
1056if test "x$enable_trd" = "xyes"; then
1057 AC_CONFIG_FILES([TRD/Makefile])
1058fi
1059
1060AC_MSG_NOTICE([compile MUON library: $enable_muon])
1061if test "x$enable_muon" = "xyes"; then
1062 AC_CONFIG_FILES([MUON/Makefile])
1063fi
1064
1065AC_MSG_NOTICE([compile ITS library: $enable_its])
1066if test "x$enable_its" = "xyes"; then
1067 AC_CONFIG_FILES([ITS/Makefile])
1068fi
1069
1070AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1071if test "x$enable_trigger" = "xyes"; then
1072 AC_CONFIG_FILES([trigger/Makefile])
1073fi
1074
1075AC_MSG_NOTICE([compile comp library: $enable_comp])
1076if test "x$enable_comp" = "xyes"; then
1077 AC_CONFIG_FILES([comp/Makefile])
1078fi
b521659f 1079
1080AC_OUTPUT
1081dnl
1082dnl EOF
1083dnl
1084