fixing bug 39708 (all HLT libraries linked to TPC libraries); correcting library...
[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     AC_MSG_CHECKING([for required functions in AliTRDrecoParam])
713     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrecoParam.h>], 
714                                        [AliTRDrecoParam p;
715                                        p.SetSeeding(0)])],
716                                        [], 
717                                        [enable_trd="no...requires.AliRoot>v4-13-Release"])
718     AC_MSG_RESULT([$enable_trd])       
719     AC_LANG_POP(C++)
720     CPPFLAGS="$save_CPPFLAGS"
721   fi
722 fi
723
724 if test "x$enable_trd" = "xyes" ; then 
725   AC_DEFINE(HLT_TRD)
726   ALITRD_LIBS=$ALIHLTMODULE_LIBS
727 else
728   enable_module=$enable_trd
729 fi
730 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
731 AC_MSG_CHECKING([whether to compile TRD library])
732 AC_MSG_RESULT([$enable_module])
733 AC_SUBST([ALITRD_LIBS])
734
735 dnl ------------------------------------------------------------------
736 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
737
738 ALIMUON_LIBS=
739 CHECK_HLTMODULE([dimuon],
740                 [AliMpExMap.h AliMUONTriggerIO.h], 
741                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
742                 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
743                 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
744                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
745
746 if test "x$enable_module" = "xmissheader"; then
747   enable_module="no...requires.AliRoot>=v4-08-Release"
748   enable_muon="no...requires.AliRoot>=v4-08-Release"
749 elif test "x$enable_module" = "xforce"; then
750   enable_muon="yes"
751 else
752   enable_muon=$enable_module
753 fi
754
755 if test "x$enable_muon" = "xyes" ; then 
756   AC_DEFINE(HLT_MUON)
757   ALIMUON_LIBS=$ALIHLTMODULE_LIBS
758 else
759   enable_module=$enable_muon
760 fi
761 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
762 AC_MSG_CHECKING([whether to compile MUON library])
763 AC_MSG_RESULT([$enable_module])
764 AC_SUBST([ALIMUON_LIBS])
765
766 dnl ------------------------------------------------------------------
767 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
768
769 ALITRIGGER_LIBS=
770 CHECK_HLTMODULE([trigger],
771                 [], [$ALIROOT_CPPFLAGS],
772                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
773                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
774                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
775
776 if test "x$enable_module" = "xmissheader"; then
777   enable_module="no...header.missing"
778   enable_trigger="no...header.missing"
779 elif test "x$enable_module" = "xforce"; then
780   enable_trigger="yes"
781 else
782   enable_trigger=$enable_module
783 fi
784
785 if test "x$enable_trigger" = "xyes" ; then 
786   AC_DEFINE(HLT_TRIGGER)
787   ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
788 else
789   enable_module=$enable_trigger
790 fi
791 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
792 AC_MSG_CHECKING([whether to compile Trigger library])
793 AC_MSG_RESULT([$enable_module])
794 AC_SUBST([ALITRIGGER_LIBS])
795
796 dnl ------------------------------------------------------------------
797 AH_TEMPLATE([HLT_ITS],[hlt its library])
798
799 ALIITS_LIBS=
800 CHECK_HLTMODULE([its],
801                 [], [$ALIROOT_CPPFLAGS],
802                 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
803                 [ITSbase ITSrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
804                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
805
806 if test "x$enable_module" = "xmissheader"; then
807   enable_module="no...header.missing"
808   enable_its="no...header.missing"
809 elif test "x$enable_module" = "xforce"; then
810   enable_its="yes"
811 else
812   enable_its=$enable_module
813   if test "x$enable_its" = "xyes" ; then
814     AC_LANG_PUSH(C++)
815     save_CPPFLAGS="$CPPFLAGS"
816     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
817     # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
818     # require AliVertexer::GetNominalPos()
819     AC_MSG_CHECKING([for required functions in AliITSVertexer])
820     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>], 
821                                        [AliITSVertexerZ v;
822                                        v.GetNominalPos()])],
823                                        [], 
824                                        [enable_its="no...requires.AliRoot>v4-13-Release"])
825     AC_MSG_RESULT([$enable_its])       
826     AC_LANG_POP(C++)
827     CPPFLAGS="$save_CPPFLAGS"
828   fi
829 fi
830
831 if test "x$enable_its" = "xyes" ; then 
832   AC_DEFINE(HLT_ITS)
833   ALIITS_LIBS=$ALIHLTMODULE_LIBS
834 else
835   enable_module=$enable_its
836 fi
837 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
838 AC_MSG_CHECKING([whether to compile ITS library])
839 AC_MSG_RESULT([$enable_module])
840 AC_SUBST([ALIITS_LIBS])
841
842 dnl ------------------------------------------------------------------
843 AH_TEMPLATE([HLT_COMP],[hlt comp library])
844
845 ALICOMP_LIBS=
846 CHECK_HLTMODULE([comp],
847                 [], [$ALIROOT_CPPFLAGS],
848                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
849                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
850                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
851
852 if test "x$enable_module" = "xmissheader"; then
853   enable_module="no...header.missing"
854   enable_comp="no...header.missing"
855 elif test "x$enable_module" = "xforce"; then
856   enable_comp="yes"
857 else
858   enable_comp=$enable_module
859 fi
860
861 if test "x$enable_comp" = "xyes" ; then 
862   AC_DEFINE(HLT_COMP)
863   ALICOMP_LIBS=$ALIHLTMODULE_LIBS
864 else
865   enable_module=$enable_comp
866 fi
867 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
868 AC_MSG_CHECKING([whether to compile comp library])
869 AC_MSG_RESULT([$enable_module])
870 AC_SUBST([ALICOMP_LIBS])
871
872 dnl ------------------------------------------------------------------
873 AC_MSG_CHECKING([whether to disable AliRoot logging])
874 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
875 AC_ARG_ENABLE(aliroot-logging,
876   [AC_HELP_STRING([--disable-aliroot-logging],
877       [disable logging through AliRoot logging methods])],
878   [],[enable_aliroot_logging=no])
879 if test "x$have_aliroot" = "xno" ; then
880   enable_aliroot_logging=yes # this means 'disable'
881 fi
882 if test "x$enable_aliroot_logging" != "xno" ; then 
883   AC_DEFINE(NOALIROOT_LOGGING)
884 fi
885 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
886 AC_MSG_RESULT([$enable_aliroot_logging])
887
888 dnl ------------------------------------------------------------------
889 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
890 AH_TEMPLATE([DOMC],[MC saving])
891 AC_ARG_ENABLE(mc-saving,
892   [AC_HELP_STRING([--enable-mc-saving],
893       [enable saving MC data through the chain])],
894   [],[enable_mc_saving=no])
895 if test "x$enable_mc_saving" = "xyes" ; then 
896   AC_DEFINE(DOMC)
897 fi
898 AC_MSG_RESULT([$enable_mc_saving])
899
900 dnl ------------------------------------------------------------------
901 dnl certainly something old, but we keep the define
902 AC_MSG_CHECKING([whether to use ROWHOUGH])
903 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
904 AC_ARG_ENABLE(rowhough,
905   [AC_HELP_STRING([--enable-rowhough],
906       [use ROWHOUGH ])],
907   [],[enable_rowhough=no])
908 if test "x$enable_rowhough" = "xyes" ; then 
909   AC_DEFINE(USEROWHOUGH)
910 fi
911 AC_MSG_RESULT([$enable_rowhough])
912
913 dnl ------------------------------------------------------------------
914 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
915 dnl stand-alone build system. This is most likely something old we can
916 dnl get rid off later, or do something more reasonable. Since the define
917 dnl needs the quotes they have to be  escaped. This works well for the
918 dnl Makefile but not for the configure script. So we have to add the
919 dnl defines after all the other checks.
920 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
921 if test ! "x$have_aliroot" = "xno" ; then
922   CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
923 fi
924
925 dnl ------------------------------------------------------------------
926 dnl
927 dnl Documentation
928 dnl
929 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
930 AC_PATH_PROG(PERL, perl)
931 AC_PATH_PROG(DOXYGEN, doxygen)
932 AC_ARG_ENABLE(dot,
933   [AC_HELP_STRING([--enable-dot],
934       [enable dot documentation generator])],
935   [],[enable_dot=no])
936 HAVE_DOT=NO
937 DOT_PATH=
938 AC_PATH_PROG(DOT, dot)
939 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
940    HAVE_DOT=YES
941    DOT_PATH=`dirname $DOT`
942 fi
943
944 AC_MSG_CHECKING([for documentation mode])
945 AC_ARG_ENABLE(doc,
946   [AC_HELP_STRING([--disable-doc],
947       [disable documentation build; monolithic build --enable-doc=mono ])],
948   [],[enable_doc=modules])
949 if test "x$DOXYGEN" = "x" ; then
950    enable_doc=no.doxygen
951 elif test ! "x$enable_doc" = "xmono" && \
952      test ! "x$enable_doc" = "xmodules"  && \
953      test ! "x$enable_doc" = "xno"; then
954    enable_doc=no
955    AC_MSG_WARN([unknown option])
956 fi
957 if test "x$enable_doc" = "xno" ; then
958    enable_doc=off
959    DOXYGEN=
960 fi
961
962 AC_MSG_RESULT([$enable_doc])
963 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
964 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
965 AC_SUBST([HAVE_DOT])
966 AC_SUBST([DOT_PATH])
967
968 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
969 dnl echo $HAVE_SRC_SUBDIR
970 dnl if ! test -d $HAVE_SRC_SUBDIR; then
971 dnl   HAVE_SRC_SUBDIR=
972 dnl fi
973 dnl AC_SUBST([HAVE_SRC_SUBDIR])
974
975 dnl ------------------------------------------------------------------
976 AC_MSG_NOTICE([---------------------------------------------- ])
977 AC_MSG_NOTICE([                build summary                  ])
978 AC_MSG_NOTICE([---------------------------------------------- ])
979
980 AC_CONFIG_FILES([Makefile 
981                  BASE/Makefile
982                  BASE/setenv.sh
983                  BASE/setenv.csh
984                  BASE/HOMER/Makefile
985                  BASE/util/Makefile
986                  BASE/interface/Makefile
987                  BASE/test/Makefile
988                  BASE/interface/test/Makefile
989                  doc/Makefile
990                  doc/doxygen.conf
991                  doc/doxymodule.conf])
992
993 dnl AliRoot and installation directory for libraries
994 dnl 
995 AC_MSG_NOTICE([AliRoot: $have_aliroot])
996 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
997 if test "x$have_aliroot" != "xno"; then 
998   AC_CONFIG_FILES([sim/Makefile  
999                    rec/Makefile  
1000                    rec/test/Makefile     
1001                    shuttle/Makefile
1002                    pendolino/Makefile
1003                    ])
1004 fi
1005 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1006 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1007 AC_MSG_NOTICE([libdir set to $libdir])
1008 fi
1009
1010 AC_MSG_NOTICE([compile sample library: $enable_sample])
1011 if test "x$enable_sample" = "xyes"; then 
1012   AC_CONFIG_FILES([SampleLib/Makefile])
1013 fi
1014
1015 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1016 if test "x$enable_rcu" = "xyes"; then 
1017   AC_CONFIG_FILES([RCU/Makefile
1018                    RCU/test/Makefile
1019                    ])
1020 fi
1021
1022 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1023 if test "x$enable_tpc" = "xyes"; then 
1024   AC_CONFIG_FILES([TPCLib/Makefile            
1025                    TPCLib/test/Makefile       
1026                    TPCLib/mapping2array.cxx     
1027                    TPCLib/OnlineDisplay/Makefile
1028                    ])
1029 fi
1030
1031 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1032 if test "x$enable_phos" = "xyes"; then 
1033   AC_CONFIG_FILES([PHOS/Makefile])
1034 fi
1035
1036 AC_MSG_NOTICE([compile TRD library: $enable_trd])
1037 if test "x$enable_trd" = "xyes"; then 
1038   AC_CONFIG_FILES([TRD/Makefile])
1039 fi
1040
1041 AC_MSG_NOTICE([compile MUON library: $enable_muon])
1042 if test "x$enable_muon" = "xyes"; then 
1043   AC_CONFIG_FILES([MUON/Makefile])
1044 fi
1045
1046 AC_MSG_NOTICE([compile ITS library: $enable_its])
1047 if test "x$enable_its" = "xyes"; then 
1048   AC_CONFIG_FILES([ITS/Makefile])
1049 fi
1050
1051 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1052 if test "x$enable_trigger" = "xyes"; then 
1053   AC_CONFIG_FILES([trigger/Makefile])
1054 fi
1055
1056 AC_MSG_NOTICE([compile comp library: $enable_comp])
1057 if test "x$enable_comp" = "xyes"; then 
1058   AC_CONFIG_FILES([comp/Makefile])
1059 fi
1060
1061 AC_OUTPUT
1062 dnl
1063 dnl EOF
1064 dnl
1065