]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/configure.ac
fix mem leak and compiler warning
[u/mrichter/AliRoot.git] / HLT / configure.ac
1 dnl -*- mode: autoconf -*- 
2 dnl
3 dnl $Id$
4 dnl template for the configuration script for the Alice HLT 
5 dnl framework and components
6 dnl 
7 dnl ------------------------------------------------------------------
8
9 dnl Take either the AliRoot tag as version id or the current revision
10 AC_INIT([Alice High Level Trigger] , 
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]),
20         [Matthias.Richter@ift.uib.no], 
21         [alice-hlt])
22
23 dnl ------------------------------------------------------------------
24 dnl the package from CVS contains the old Makefiles as well. In order to
25 dnl prevent them from becoming overwritten, we require a separate build
26 dnl directory
27 if test "`dirname $0`" = "." ; then
28    AC_ERROR([please run the script from a separate build directory])
29 fi
30
31 dnl ------------------------------------------------------------------
32 AC_CANONICAL_SYSTEM
33 AC_PREFIX_DEFAULT(${PWD})
34 AC_CONFIG_SRCDIR(BASE/AliHLTComponent.cxx)
35 AM_INIT_AUTOMAKE
36 AC_PROG_CC
37 AC_PROG_CXX
38 AC_PROG_LIBTOOL
39
40 AC_DEBUG
41 AC_OPTIMIZATION
42 AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
43
44 dnl ------------------------------------------------------------------
45 dnl A warning posted into the auto-generated files
46 dnl Does NOT concern this file ;-)
47 AUTOGENERATED_WARNING="!!!!!!!    DO NOT EDIT THIS FILE !!!!!!"
48 AC_SUBST([AUTOGENERATED_WARNING])
49
50 dnl ------------------------------------------------------------------
51 dnl
52 dnl Check for ROOT
53 dnl
54 ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
55 AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
56 AC_SUBST([ROOTSYS])
57 ROOTBINDIR=`dirname $ROOTEXEC`
58 AC_SUBST([ROOTBINDIR])
59
60 dnl test for additional required root libraries and headers
61 LIBS='-ldl'
62 if 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   
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
76   # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
77   ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer'
78   for CHECKLIB in $ROOT_CHECKLIBS ; do
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
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)
86   AC_CHECK_HEADER([TBufferFile.h], [], [HAVE_NOT_TBUFFERFILE])
87
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)
90   AC_CHECK_HEADER([TView3D.h], [], [HAVE_NOT_TVIEW3D])
91
92   CPPFLAGS=$save_CPPFLAGS
93   LDFLAGS=$save_LDFLAGS
94   LIBS=$save_LIBS
95   AC_LANG_POP(C++)
96 fi
97
98 dnl ------------------------------------------------------------------
99 # TODO: make this configurable through arguments
100 #Define whether you want to run with ALIROOT or only ROOT
101 AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
102 ALIHLT_USEPACKAGE=ALIROOT
103 #ALIHLT_USEPACKAGE=ROOT
104 #ALIHLT_USEPACKAGE=STANDALONE
105 AC_DEFINE(use_aliroot)
106 AC_DEFINE(use_root)
107 CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
108 save_CPPFLAGS=$CPPFLAGS
109 save_LDFLAGS=$LDFLAGS
110 save_LIBS=$LIBS
111
112 dnl ------------------------------------------------------------------
113 dnl check for AliRoot features
114 AC_LANG_PUSH(C++)
115 have_aliroot=no
116 AC_ARG_WITH(aliroot,[  --with-aliroot   top of the AliRoot installation],
117                     [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
118                     [])
119
120 if 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
146   ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
147   ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
148   ALIROOTINCDIR=${ALICE_ROOT}/include
149   test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
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])
152 fi
153
154 AC_MSG_CHECKING([for AliRoot])
155 if test "x$ALICE_ROOT" != "x" \
156    && test -d ${ALIROOTBINDIR} \
157    && test -d ${ALIROOTLIBDIR} \
158    && test -d ${ALIROOTINCDIR}; then
159   have_aliroot=$ALICE_ROOT
160 else
161   ALIROOTBINDIR=
162   ALIROOTLIBDIR=
163   ALIROOTINCDIR=
164 fi
165 AC_MSG_RESULT([$have_aliroot])
166
167 if test ! "x$have_aliroot" = "xno" ; then
168   ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
169   ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
170   ALIROOT_LIBS="-lESD $ADD_ROOTLIBS"
171   save_CPPFLAGS=$CPPFLAGS
172   save_LDFLAGS=$LDFLAGS
173   save_LIBS=$LIBS
174   CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
175   LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
176   
177   # check for certain AliRoot libraries/files/features
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
183   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
184   CHECKLIB=AOD
185   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
186
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"
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);])],
209                                      [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
210                                        have_alirawdata=$CHECKLIB], 
211                                       [have_alirawdata=no])
212         ]) dnl AC_CHECK_LIB RAWDatabase
213   AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
214   AC_MSG_RESULT([$have_alirawdata])
215
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
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;])],
263                  [have_esd_copy=yes], 
264                  [AC_DEFINE(HAVE_NOT_ESD_COPY)])
265   AC_MSG_CHECKING(for ESD assignment operator)
266   AC_MSG_RESULT([$have_esd_copy])
267
268   dnl
269   dnl AliRawReaderMemory support for multiple buffers added
270   dnl revision 26829 Jun 2008
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)])
279   AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
280   AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
281
282   dnl
283   dnl required header files and libraries for modules
284   dnl
285
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
300   CPPFLAGS=$save_CPPFLAGS
301   LDFLAGS=$save_LDFLAGS
302   LIBS=$save_LIBS
303 fi # if test ! "x$have_aliroot" = "xno"
304
305 AC_LANG_POP(C++)
306 AC_SUBST([ALICE_ROOT])
307 AC_SUBST([ALIROOT_CPPFLAGS])
308 AC_SUBST([ALIROOT_LDFLAGS])
309 AC_SUBST([ALIROOTBINDIR])
310 AC_SUBST([ALIROOTLIBDIR])
311 AC_SUBST([ALIROOT_LIBS])
312 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
313
314 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
315 HLTBASE_LDFLAGS=
316 AC_SUBST([HLTBASE_CPPFLAGS])
317 AC_SUBST([HLTBASE_LDFLAGS])
318
319 dnl ------------------------------------------------------------------
320 dnl check for the HLT PubSub Framework
321 dnl namely for the existence of the HOMER library
322 dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
323 dnl package. It os though possible to choose an external. library
324 dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
325 dnl got the name libAliHLTHOMER
326 AC_MSG_CHECKING([for HLT PubSub Framework])
327 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
328                     [],
329                     [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
330 if test -z $with_pubsub || ! test -d $with_pubsub ; then
331   with_pubsub=no
332 fi
333 AC_MSG_RESULT([$with_pubsub])
334 HOMER_VERSION=2
335 HOMER_LIBS=
336
337 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
338 if test "x$with_pubsub" != "xno" ; then
339   save_CPPFLAGS=$CPPFLAGS
340   save_LDFLAGS=$LDFLAGS
341   save_LIBS=$LIBS
342   # currently the different versions of the HLT PubSub framework have a different
343   # directory layout
344   if test -d ${with_pubsub}/include/HOMER ; then
345     # the 'early' location of the include files with separated HOMER sub dirs
346     HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
347   elif test -d ${with_pubsub}/include/Util/HOMER ; then
348     # location for HLT Framework versions after Sep 2006
349     HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
350   elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
351     # fall back if include files were not installed (versions after Sep 06)
352     HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
353   else
354     # fall back if include files were not installed (versions before Sep 06)
355     HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
356   fi
357   HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
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}])
374   HOMERREADER_HEADER=HOMERReader.h
375   HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
376   HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
377   HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
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++)
383   AC_CHECK_HEADER([$HOMERREADER_HEADER],
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"
391       AC_MSG_CHECKING([version of HOMER library])
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);])],
400                                       [],
401                                       [HOMER_VERSION=1])
402       AC_MSG_RESULT([$HOMER_VERSION])
403   ],
404   [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
405   AC_LANG_POP(C++)
406   HOMER_INBUILT_LIB=
407 else
408 dnl 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=
416 fi
417
418   if test "x$with_homer" = "xno" ; then
419     HOMER_CPPFLAGS=
420     HOMER_LDFLAGS=
421     HOMER_LIBS=
422   else
423     HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
424     AC_DEFINE(HAVE_HOMERREADER)
425   fi
426   CPPFLAGS="$save_CPPFLAGS"
427   LDFLAGS="$save_LDFLAGS"
428   LIBS="$save_LIBS"  
429
430 AC_SUBST([HOMERREADER_HEADER])
431 AC_SUBST([HOMER_INBUILT_LIB])
432 AC_SUBST([HOMER_CPPFLAGS])
433 AC_SUBST([HOMER_LDFLAGS])
434 AC_SUBST([HOMER_LIBDIR])
435 AC_SUBST([HOMER_BINDIR])
436 AC_SUBST([HOMER_LIBS])
437
438 dnl ------------------------------------------------------------------
439 AC_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
444 dnl ------------------------------------------------------------------
445 AC_MSG_CHECKING([whether to impose strict coding conventions])
446 AC_ARG_ENABLE(strict,
447   [AC_HELP_STRING([--disable-strict],
448       [disable coding convention checks ])],
449   [],[enable_strict=yes])
450 if test "x$enable_strict" = "xyes" ; then
451    CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
452 fi
453 AC_MSG_RESULT([$enable_strict])
454
455 dnl ------------------------------------------------------------------
456 AC_MSG_CHECKING([whether to enable component statistics])
457 AC_ARG_ENABLE(component-stat,
458   [AC_HELP_STRING([--enable-component-stat],
459       [enable component statistics ])],
460   [],[enable_component_stat=no])
461 if test "x$enable_component_stat" = "xyes" ; then
462    AC_DEFINE(HLT_COMPONENT_STATISTICS)
463 fi
464 AC_MSG_RESULT([$enable_component_stat])
465
466 dnl ------------------------------------------------------------------
467 dnl ----  module checks
468 dnl ------------------------------------------------------------------
469 save_CPPFLAGS=$CPPFLAGS
470 save_LDFLAGS=$LDFLAGS
471 save_LIBS=$LIBS
472
473 dnl ------------------------------------------------------------------
474 AC_MSG_CHECKING([whether to compile sample library])
475 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
476 AC_ARG_ENABLE(sample,
477   [AC_HELP_STRING([--disable-sample],
478       [compile the sample library ])],
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
487 if test "x$enable_sample" = "xyes" ; then 
488   AC_DEFINE(HLT_SAMPLE)
489 fi
490 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
491 AC_MSG_RESULT([$enable_sample])
492
493 dnl ------------------------------------------------------------------
494 AC_MSG_CHECKING([whether to compile util library])
495 AH_TEMPLATE([HLT_UTIL],[HLT utility library])
496 AC_ARG_ENABLE(util,
497   [AC_HELP_STRING([--disable-util],
498       [compile the util library ])],
499   [],
500   [if test "x$have_aliroot" = "xno" ; then
501      enable_util="no...requires.AliRoot"
502    else
503      enable_util=yes
504    fi
505   ])
506
507 if test "x$enable_util" = "xyes" ; then 
508   AC_DEFINE(HLT_UTIL)
509 fi
510 AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
511 AC_MSG_RESULT([$enable_util])
512
513 dnl ------------------------------------------------------------------
514 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
515
516 ALITPC_LIBS=
517 CHECK_HLTMODULE([tpc],
518                 [AliTPCRawStream.h], 
519                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
520                 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
521                 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
522                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
523
524 if test "x$enable_module" = "xmissheader"; then
525   enable_module="no...missing.headers"
526   enable_tpc="no...missing.headers"
527 elif test "x$enable_module" = "xforce"; then
528   enable_tpc="yes"
529 else
530   enable_tpc=$enable_module
531 fi
532
533 if test "x$enable_tpc" = "xyes" ; then 
534   AC_LANG_PUSH(C++)
535   AC_DEFINE(HLT_TPC)
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);
553                                        cl.GetOutputClonesArray();])],
554                                     [have_tpc_hltoffline_rec=yes], 
555                                       [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
556     LIBS=$save_LIBS
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
580 else
581   enable_module=$enable_tpc
582 fi
583 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
584 AC_MSG_CHECKING([whether to compile TPC library])
585 AC_MSG_RESULT([$enable_module])
586 AC_SUBST([ALITPC_LIBS])
587
588 dnl ------------------------------------------------------------------
589 AH_TEMPLATE([HLT_RCU],[hlt rcu library])
590
591 CHECK_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
598 if test "x$enable_module" = "xmissheader"; then
599   enable_module="no...missing.headers"
600   enable_rcu="no...missing.headers"
601 elif test "x$enable_module" = "xforce"; then
602   enable_rcu="yes"
603 else
604   AC_LANG_PUSH(C++)
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++)
618 fi
619
620 if test "x$enable_rcu" = "xyes" ; then 
621   AC_DEFINE(HLT_RCU)
622 else
623   enable_module=$enable_rcu
624 fi
625 AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
626 AC_MSG_CHECKING([whether to compile RCU library])
627 AC_MSG_RESULT([$enable_module])
628 AC_SUBST([ALIRCU_LIBS])
629
630 dnl ------------------------------------------------------------------
631 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
632   
633 ALIPHOS_LIBS=
634 CHECK_HLTMODULE([phos],
635                 [], [$ALIROOT_CPPFLAGS],
636                 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
637                 [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
638                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
639
640 if test "x$enable_module" = "xmissheader"; then
641   enable_module="no...requires.AliRoot>v4-05-07"
642   enable_phos="no...requires.AliRoot>v4-05-07"
643 elif test "x$enable_module" = "xforce"; then
644   enable_phos="yes"
645 else
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])
652     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
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                                        [])
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)])
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
676 fi
677
678 if test "x$enable_phos" = "xyes" ; then 
679   AC_DEFINE(HLT_PHOS)
680   ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
681 else
682   enable_module=$enable_phos
683 fi
684 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
685 AC_MSG_CHECKING([whether to compile PHOS library])
686 AC_MSG_RESULT([$enable_module])
687 AC_SUBST([ALIPHOS_LIBS])
688
689 dnl ------------------------------------------------------------------
690 AH_TEMPLATE([HLT_TRD],[hlt trd library])
691   
692 ALITRD_LIBS=
693 CHECK_HLTMODULE([trd],
694                 [], [],
695                 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
696                 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
697                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
698
699 if test "x$enable_module" = "xmissheader"; then
700   enable_module="no...requires.AliRoot>v4-07-Release"
701   enable_trd="no...requires.AliRoot>v4-07-Release"
702 elif test "x$enable_module" = "xforce"; then
703   enable_trd="yes"
704 else
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"
710     # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
711     # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
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)])],
717                                        [], 
718                                        [enable_trd="no...requires.AliRoot>v4-14-Release"])
719     AC_MSG_RESULT([$enable_trd])       
720     AC_LANG_POP(C++)
721     CPPFLAGS="$save_CPPFLAGS"
722   fi
723 fi
724
725 if test "x$enable_trd" = "xyes" ; then 
726   AC_DEFINE(HLT_TRD)
727   ALITRD_LIBS=$ALIHLTMODULE_LIBS
728 else
729   enable_module=$enable_trd
730 fi
731 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
732 AC_MSG_CHECKING([whether to compile TRD library])
733 AC_MSG_RESULT([$enable_module])
734 AC_SUBST([ALITRD_LIBS])
735
736 dnl ------------------------------------------------------------------
737 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
738
739 ALIMUON_LIBS=
740 CHECK_HLTMODULE([dimuon],
741                 [AliMpExMap.h AliMUONTriggerIO.h], 
742                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
743                 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
744                 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
745                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
746
747 if test "x$enable_module" = "xmissheader"; then
748   enable_module="no...requires.AliRoot>=v4-08-Release"
749   enable_muon="no...requires.AliRoot>=v4-08-Release"
750 elif test "x$enable_module" = "xforce"; then
751   enable_muon="yes"
752 else
753   enable_muon=$enable_module
754 fi
755
756 if test "x$enable_muon" = "xyes" ; then 
757   AC_DEFINE(HLT_MUON)
758   ALIMUON_LIBS=$ALIHLTMODULE_LIBS
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++)
777 else
778   enable_module=$enable_muon
779 fi
780 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
781 AC_MSG_CHECKING([whether to compile MUON library])
782 AC_MSG_RESULT([$enable_module])
783 AC_SUBST([ALIMUON_LIBS])
784
785 dnl ------------------------------------------------------------------
786 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
787
788 ALITRIGGER_LIBS=
789 CHECK_HLTMODULE([trigger],
790                 [], [$ALIROOT_CPPFLAGS],
791                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
792                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
793                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
794
795 if test "x$enable_module" = "xmissheader"; then
796   enable_module="no...header.missing"
797   enable_trigger="no...header.missing"
798 elif test "x$enable_module" = "xforce"; then
799   enable_trigger="yes"
800 else
801   enable_trigger=$enable_module
802 fi
803
804 if test "x$enable_trigger" = "xyes" ; then 
805   AC_DEFINE(HLT_TRIGGER)
806   ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
807 else
808   enable_module=$enable_trigger
809 fi
810 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
811 AC_MSG_CHECKING([whether to compile Trigger library])
812 AC_MSG_RESULT([$enable_module])
813 AC_SUBST([ALITRIGGER_LIBS])
814
815 dnl ------------------------------------------------------------------
816 AH_TEMPLATE([HLT_ITS],[hlt its library])
817
818 ALIITS_LIBS=
819 CHECK_HLTMODULE([its],
820                 [], [$ALIROOT_CPPFLAGS],
821                 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
822                 [ITSbase ITSrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
823                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
824
825 if test "x$enable_module" = "xmissheader"; then
826   enable_module="no...header.missing"
827   enable_its="no...header.missing"
828 elif test "x$enable_module" = "xforce"; then
829   enable_its="yes"
830 else
831   enable_its=$enable_module
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
848 fi
849
850 if test "x$enable_its" = "xyes" ; then 
851   AC_DEFINE(HLT_ITS)
852   ALIITS_LIBS=$ALIHLTMODULE_LIBS
853 else
854   enable_module=$enable_its
855 fi
856 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
857 AC_MSG_CHECKING([whether to compile ITS library])
858 AC_MSG_RESULT([$enable_module])
859 AC_SUBST([ALIITS_LIBS])
860
861 dnl ------------------------------------------------------------------
862 AH_TEMPLATE([HLT_COMP],[hlt comp library])
863
864 ALICOMP_LIBS=
865 CHECK_HLTMODULE([comp],
866                 [], [$ALIROOT_CPPFLAGS],
867                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
868                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
869                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
870
871 if test "x$enable_module" = "xmissheader"; then
872   enable_module="no...header.missing"
873   enable_comp="no...header.missing"
874 elif test "x$enable_module" = "xforce"; then
875   enable_comp="yes"
876 else
877   enable_comp=$enable_module
878 fi
879
880 if test "x$enable_comp" = "xyes" ; then 
881   AC_DEFINE(HLT_COMP)
882   ALICOMP_LIBS=$ALIHLTMODULE_LIBS
883 else
884   enable_module=$enable_comp
885 fi
886 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
887 AC_MSG_CHECKING([whether to compile comp library])
888 AC_MSG_RESULT([$enable_module])
889 AC_SUBST([ALICOMP_LIBS])
890
891 dnl ------------------------------------------------------------------
892 AC_MSG_CHECKING([whether to disable AliRoot logging])
893 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
894 AC_ARG_ENABLE(aliroot-logging,
895   [AC_HELP_STRING([--disable-aliroot-logging],
896       [disable logging through AliRoot logging methods])],
897   [],[enable_aliroot_logging=no])
898 if test "x$have_aliroot" = "xno" ; then
899   enable_aliroot_logging=yes # this means 'disable'
900 fi
901 if test "x$enable_aliroot_logging" != "xno" ; then 
902   AC_DEFINE(NOALIROOT_LOGGING)
903 fi
904 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
905 AC_MSG_RESULT([$enable_aliroot_logging])
906
907 dnl ------------------------------------------------------------------
908 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
909 AH_TEMPLATE([DOMC],[MC saving])
910 AC_ARG_ENABLE(mc-saving,
911   [AC_HELP_STRING([--enable-mc-saving],
912       [enable saving MC data through the chain])],
913   [],[enable_mc_saving=no])
914 if test "x$enable_mc_saving" = "xyes" ; then 
915   AC_DEFINE(DOMC)
916 fi
917 AC_MSG_RESULT([$enable_mc_saving])
918
919 dnl ------------------------------------------------------------------
920 dnl certainly something old, but we keep the define
921 AC_MSG_CHECKING([whether to use ROWHOUGH])
922 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
923 AC_ARG_ENABLE(rowhough,
924   [AC_HELP_STRING([--enable-rowhough],
925       [use ROWHOUGH ])],
926   [],[enable_rowhough=no])
927 if test "x$enable_rowhough" = "xyes" ; then 
928   AC_DEFINE(USEROWHOUGH)
929 fi
930 AC_MSG_RESULT([$enable_rowhough])
931
932 dnl ------------------------------------------------------------------
933 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
934 dnl stand-alone build system. This is most likely something old we can
935 dnl get rid off later, or do something more reasonable. Since the define
936 dnl needs the quotes they have to be  escaped. This works well for the
937 dnl Makefile but not for the configure script. So we have to add the
938 dnl defines after all the other checks.
939 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
940 if test ! "x$have_aliroot" = "xno" ; then
941   CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
942 fi
943
944 dnl ------------------------------------------------------------------
945 dnl
946 dnl Documentation
947 dnl
948 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
949 AC_PATH_PROG(PERL, perl)
950 AC_PATH_PROG(DOXYGEN, doxygen)
951 AC_ARG_ENABLE(dot,
952   [AC_HELP_STRING([--enable-dot],
953       [enable dot documentation generator])],
954   [],[enable_dot=no])
955 HAVE_DOT=NO
956 DOT_PATH=
957 AC_PATH_PROG(DOT, dot)
958 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
959    HAVE_DOT=YES
960    DOT_PATH=`dirname $DOT`
961 fi
962
963 AC_MSG_CHECKING([for documentation mode])
964 AC_ARG_ENABLE(doc,
965   [AC_HELP_STRING([--disable-doc],
966       [disable documentation build; monolithic build --enable-doc=mono ])],
967   [],[enable_doc=modules])
968 if test "x$DOXYGEN" = "x" ; then
969    enable_doc=no.doxygen
970 elif 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])
975 fi
976 if test "x$enable_doc" = "xno" ; then
977    enable_doc=off
978    DOXYGEN=
979 fi
980
981 AC_MSG_RESULT([$enable_doc])
982 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
983 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
984 AC_SUBST([HAVE_DOT])
985 AC_SUBST([DOT_PATH])
986
987 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
988 dnl echo $HAVE_SRC_SUBDIR
989 dnl if ! test -d $HAVE_SRC_SUBDIR; then
990 dnl   HAVE_SRC_SUBDIR=
991 dnl fi
992 dnl AC_SUBST([HAVE_SRC_SUBDIR])
993
994 dnl ------------------------------------------------------------------
995 AC_MSG_NOTICE([---------------------------------------------- ])
996 AC_MSG_NOTICE([                build summary                  ])
997 AC_MSG_NOTICE([---------------------------------------------- ])
998
999 AC_CONFIG_FILES([Makefile 
1000                  BASE/Makefile
1001                  BASE/setenv.sh
1002                  BASE/setenv.csh
1003                  BASE/HOMER/Makefile
1004                  BASE/util/Makefile
1005                  BASE/interface/Makefile
1006                  BASE/test/Makefile
1007                  BASE/interface/test/Makefile
1008                  doc/Makefile
1009                  doc/doxygen.conf
1010                  doc/doxymodule.conf])
1011
1012 dnl AliRoot and installation directory for libraries
1013 dnl 
1014 AC_MSG_NOTICE([AliRoot: $have_aliroot])
1015 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1016 if test "x$have_aliroot" != "xno"; then 
1017   AC_CONFIG_FILES([sim/Makefile  
1018                    rec/Makefile  
1019                    rec/test/Makefile     
1020                    shuttle/Makefile
1021                    pendolino/Makefile
1022                    ])
1023 fi
1024 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1025 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1026 AC_MSG_NOTICE([libdir set to $libdir])
1027 fi
1028
1029 AC_MSG_NOTICE([compile sample library: $enable_sample])
1030 if test "x$enable_sample" = "xyes"; then 
1031   AC_CONFIG_FILES([SampleLib/Makefile])
1032 fi
1033
1034 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1035 if test "x$enable_rcu" = "xyes"; then 
1036   AC_CONFIG_FILES([RCU/Makefile
1037                    RCU/test/Makefile
1038                    ])
1039 fi
1040
1041 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1042 if 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                    ])
1048 fi
1049
1050 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1051 if test "x$enable_phos" = "xyes"; then 
1052   AC_CONFIG_FILES([PHOS/Makefile])
1053 fi
1054
1055 AC_MSG_NOTICE([compile TRD library: $enable_trd])
1056 if test "x$enable_trd" = "xyes"; then 
1057   AC_CONFIG_FILES([TRD/Makefile])
1058 fi
1059
1060 AC_MSG_NOTICE([compile MUON library: $enable_muon])
1061 if test "x$enable_muon" = "xyes"; then 
1062   AC_CONFIG_FILES([MUON/Makefile])
1063 fi
1064
1065 AC_MSG_NOTICE([compile ITS library: $enable_its])
1066 if test "x$enable_its" = "xyes"; then 
1067   AC_CONFIG_FILES([ITS/Makefile])
1068 fi
1069
1070 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1071 if test "x$enable_trigger" = "xyes"; then 
1072   AC_CONFIG_FILES([trigger/Makefile])
1073 fi
1074
1075 AC_MSG_NOTICE([compile comp library: $enable_comp])
1076 if test "x$enable_comp" = "xyes"; then 
1077   AC_CONFIG_FILES([comp/Makefile])
1078 fi
1079
1080 AC_OUTPUT
1081 dnl
1082 dnl EOF
1083 dnl
1084