added skeleton for HLTpendolino 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 AC_MSG_CHECKING([whether to compile sample library])
468 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
469 AC_ARG_ENABLE(sample,
470   [AC_HELP_STRING([--disable-sample],
471       [compile the sample library ])],
472   [],
473   [if test "x$have_aliroot" = "xno" ; then
474      enable_sample="no...requires.AliRoot"
475    else
476      enable_sample=yes
477    fi
478   ])
479
480 if test "x$enable_sample" = "xyes" ; then 
481   AC_DEFINE(HLT_SAMPLE)
482 fi
483 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
484 AC_MSG_RESULT([$enable_sample])
485
486 dnl ------------------------------------------------------------------
487 AC_MSG_CHECKING([whether to compile util library])
488 AH_TEMPLATE([HLT_UTIL],[HLT utility library])
489 AC_ARG_ENABLE(util,
490   [AC_HELP_STRING([--disable-util],
491       [compile the util library ])],
492   [],
493   [if test "x$have_aliroot" = "xno" ; then
494      enable_util="no...requires.AliRoot"
495    else
496      enable_util=yes
497    fi
498   ])
499
500 if test "x$enable_util" = "xyes" ; then 
501   AC_DEFINE(HLT_UTIL)
502 fi
503 AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
504 AC_MSG_RESULT([$enable_util])
505
506 dnl ------------------------------------------------------------------
507 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
508
509 ALITPC_LIBS=
510 CHECK_HLTMODULE([tpc],
511                 [AliTPCRawStream.h], 
512                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
513                 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
514                 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
515                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
516
517 if test "x$enable_module" = "xmissheader"; then
518   enable_module="no...missing.headers"
519   enable_tpc="no...missing.headers"
520 elif test "x$enable_module" = "xforce"; then
521   enable_tpc="yes"
522 else
523   enable_tpc=$enable_module
524 fi
525
526 if test "x$enable_tpc" = "xyes" ; then 
527   AC_LANG_PUSH(C++)
528   AC_DEFINE(HLT_TPC)
529   ALITPC_LIBS=$ALIHLTMODULE_LIBS
530   dnl
531   dnl Check for functionality in the TPC reconstruction required for online
532   dnl processing
533   dnl 
534   have_tpc_hltoffline_rec=no
535   AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
536     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
537     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
538     LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
539     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
540                                        #include <AliTPCclustererMI.h>   
541                                        #include <TObjArray.h>], 
542                                     [AliTPCtrackerMI tracker;
543                                        TObjArray* array=NULL;
544                                        tracker.LoadClusters(array);
545                                        AliTPCclustererMI cl(NULL, NULL);
546                                        cl.GetOutputClonesArray();])],
547                                     [have_tpc_hltoffline_rec=yes], 
548                                       [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
549   AC_MSG_RESULT([$have_tpc_hltoffline_rec])
550
551   AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
552   AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
553
554   have_tpc_mapping=no
555   if test ! "x$have_aliroot" = "xno" ; then
556     # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC 
557     # which is stored in the TPC/mapping/Patchx.data files from
558     # AliRoot version v4-04-Release (May 2006)
559     AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
560     TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
561     AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data], 
562                    [have_tpc_mapping=yes
563                     AC_SUBST(TPC_PAD_MAPPING_PATH)
564                     AC_DEFINE(HAVE_TPC_MAPPING)],
565                    [])
566     
567   fi
568   AC_MSG_CHECKING([for TPC mapping layout])
569   AC_MSG_RESULT([$have_tpc_mapping])
570   AC_LANG_POP(C++)
571
572 else
573   enable_module=$enable_tpc
574 fi
575 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
576 AC_MSG_CHECKING([whether to compile TPC library])
577 AC_MSG_RESULT([$enable_module])
578 AC_SUBST([ALITPC_LIBS])
579
580 dnl ------------------------------------------------------------------
581 AH_TEMPLATE([HLT_RCU],[hlt rcu library])
582
583 CHECK_HLTMODULE([rcu],
584                 [AliAltroDecoder.h], 
585                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
586                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
587                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
588                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
589
590 if test "x$enable_module" = "xmissheader"; then
591   enable_module="no...missing.headers"
592   enable_rcu="no...missing.headers"
593 elif test "x$enable_module" = "xforce"; then
594   enable_rcu="yes"
595 else
596   AC_LANG_PUSH(C++)
597   save_CPPFLAGS=$CPPFLAGS
598   save_LDFLAGS=$LDFLAGS
599   save_LIBS=$LIBS
600   CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
601   LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
602   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
603   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>], 
604                                   [AliAltroDecoder decoder;
605                                   decoder.CopyBackward(NULL, 0);])],
606                                   [enable_rcu=$enable_module], 
607                                   [enable_module="no...requires.AliRoot>v4-10-Release"
608                                    enable_rcu="no...requires.AliRoot>v4-10-Release"])
609   CPPFLAGS=$save_CPPFLAGS
610   LDFLAGS=$save_LDFLAGS
611   LIBS=$save_LIBS
612   AC_LANG_POP(C++)
613 fi
614
615 if test "x$enable_rcu" = "xyes" ; then 
616   AC_DEFINE(HLT_RCU)
617 else
618   enable_module=$enable_rcu
619 fi
620 AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
621 AC_MSG_CHECKING([whether to compile RCU library])
622 AC_MSG_RESULT([$enable_module])
623 AC_SUBST([ALIRCU_LIBS])
624
625 dnl ------------------------------------------------------------------
626 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
627   
628 ALIPHOS_LIBS=
629 CHECK_HLTMODULE([phos],
630                 [], [$ALIROOT_CPPFLAGS],
631                 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
632                 [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
633                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
634
635 if test "x$enable_module" = "xmissheader"; then
636   enable_module="no...requires.AliRoot>v4-05-07"
637   enable_phos="no...requires.AliRoot>v4-05-07"
638 elif test "x$enable_module" = "xforce"; then
639   enable_phos="yes"
640 else
641   have_alicalorawstream=no
642   if test ! "x$have_aliroot" = "xno" ; then
643     AC_LANG_PUSH(C++)
644     save_CPPFLAGS="$CPPFLAGS"
645     # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
646     #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
647     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
648     AC_MSG_CHECKING([for AliCaloRawStream.h usability])
649     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
650                                         #include <AliCaloRawStream.h>], 
651                                        [int i])],
652                                        [AC_DEFINE(HAVE_ALICALORAWSTREAM)
653                                         have_alicalorawstream=yes], 
654                                        [])
655     AC_MSG_RESULT([$have_aliphosrecoparam])
656     AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
657     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>], 
658                                        [AliPHOSRecoParam param;
659                                         param.GetEMCClusteringThreshold()])],
660                                        [have_aliphosrecoparam=yes], 
661                                        [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
662     AC_MSG_RESULT([$have_alicalorawstream])
663     AC_LANG_POP(C++)
664     CPPFLAGS="$save_CPPFLAGS"
665   fi
666   if test "x$have_alicalorawstream" != "xyes"; then
667     enable_phos="no...requires.AliRoot>v4-05-07"
668   else
669     enable_phos=$enable_module
670   fi
671 fi
672
673 if test "x$enable_phos" = "xyes" ; then 
674   AC_DEFINE(HLT_PHOS)
675   ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
676 else
677   enable_module=$enable_phos
678 fi
679 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
680 AC_MSG_CHECKING([whether to compile PHOS library])
681 AC_MSG_RESULT([$enable_module])
682 AC_SUBST([ALIPHOS_LIBS])
683
684 dnl ------------------------------------------------------------------
685 AH_TEMPLATE([HLT_TRD],[hlt trd library])
686   
687 ALITRD_LIBS=
688 CHECK_HLTMODULE([trd],
689                 [], [],
690                 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
691                 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
692                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
693
694 if test "x$enable_module" = "xmissheader"; then
695   enable_module="no...requires.AliRoot>v4-07-Release"
696   enable_trd="no...requires.AliRoot>v4-07-Release"
697 elif test "x$enable_module" = "xforce"; then
698   enable_trd="yes"
699 else
700   enable_trd=$enable_module
701   if test "x$enable_trd" = "xyes" ; then
702     AC_LANG_PUSH(C++)
703     save_CPPFLAGS="$CPPFLAGS"
704     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
705     # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
706     # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
707     AC_MSG_CHECKING([for required functions in AliTRDrecoParam])
708     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrecoParam.h>], 
709                                        [AliTRDrecoParam p;
710                                        p.SetSeeding(0)])],
711                                        [], 
712                                        [enable_trd="no...requires.AliRoot>v4-13-Release"])
713     AC_MSG_RESULT([$enable_trd])       
714     AC_LANG_POP(C++)
715     CPPFLAGS="$save_CPPFLAGS"
716   fi
717 fi
718
719 if test "x$enable_trd" = "xyes" ; then 
720   AC_DEFINE(HLT_TRD)
721   ALITRD_LIBS=$ALIHLTMODULE_LIBS
722 else
723   enable_module=$enable_trd
724 fi
725 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
726 AC_MSG_CHECKING([whether to compile TRD library])
727 AC_MSG_RESULT([$enable_module])
728 AC_SUBST([ALITRD_LIBS])
729
730 dnl ------------------------------------------------------------------
731 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
732
733 ALIMUON_LIBS=
734 CHECK_HLTMODULE([dimuon],
735                 [AliMpExMap.h AliMUONTriggerIO.h], 
736                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
737                 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
738                 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
739                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
740
741 if test "x$enable_module" = "xmissheader"; then
742   enable_module="no...requires.AliRoot>=v4-08-Release"
743   enable_muon="no...requires.AliRoot>=v4-08-Release"
744 elif test "x$enable_module" = "xforce"; then
745   enable_muon="yes"
746 else
747   enable_muon=$enable_module
748 fi
749
750 if test "x$enable_muon" = "xyes" ; then 
751   AC_DEFINE(HLT_MUON)
752   ALIMUON_LIBS=$ALIHLTMODULE_LIBS
753 else
754   enable_module=$enable_muon
755 fi
756 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
757 AC_MSG_CHECKING([whether to compile MUON library])
758 AC_MSG_RESULT([$enable_module])
759 AC_SUBST([ALIMUON_LIBS])
760
761 dnl ------------------------------------------------------------------
762 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
763
764 ALITRIGGER_LIBS=
765 CHECK_HLTMODULE([trigger],
766                 [], [$ALIROOT_CPPFLAGS],
767                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
768                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
769                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
770
771 if test "x$enable_module" = "xmissheader"; then
772   enable_module="no...header.missing"
773   enable_trigger="no...header.missing"
774 elif test "x$enable_module" = "xforce"; then
775   enable_trigger="yes"
776 else
777   enable_trigger=$enable_module
778 fi
779
780 if test "x$enable_trigger" = "xyes" ; then 
781   AC_DEFINE(HLT_TRIGGER)
782   ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
783 else
784   enable_module=$enable_trigger
785 fi
786 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
787 AC_MSG_CHECKING([whether to compile Trigger library])
788 AC_MSG_RESULT([$enable_module])
789 AC_SUBST([ALITRIGGER_LIBS])
790
791 dnl ------------------------------------------------------------------
792 AH_TEMPLATE([HLT_ITS],[hlt its library])
793
794 ALIITS_LIBS=
795 CHECK_HLTMODULE([its],
796                 [], [$ALIROOT_CPPFLAGS],
797                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
798                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
799                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
800
801 if test "x$enable_module" = "xmissheader"; then
802   enable_module="no...header.missing"
803   enable_its="no...header.missing"
804 elif test "x$enable_module" = "xforce"; then
805   enable_its="yes"
806 else
807   enable_its=$enable_module
808   if test "x$enable_its" = "xyes" ; then
809     AC_LANG_PUSH(C++)
810     save_CPPFLAGS="$CPPFLAGS"
811     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
812     # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
813     # require AliVertexer::GetNominalPos()
814     AC_MSG_CHECKING([for required functions in AliITSVertexer])
815     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>], 
816                                        [AliITSVertexerZ v;
817                                        v.GetNominalPos()])],
818                                        [], 
819                                        [enable_its="no...requires.AliRoot>v4-13-Release"])
820     AC_MSG_RESULT([$enable_its])       
821     AC_LANG_POP(C++)
822     CPPFLAGS="$save_CPPFLAGS"
823   fi
824 fi
825
826 if test "x$enable_its" = "xyes" ; then 
827   AC_DEFINE(HLT_ITS)
828   ALIITS_LIBS=$ALIHLTMODULE_LIBS
829 else
830   enable_module=$enable_its
831 fi
832 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
833 AC_MSG_CHECKING([whether to compile ITS library])
834 AC_MSG_RESULT([$enable_module])
835 AC_SUBST([ALIITS_LIBS])
836
837 dnl ------------------------------------------------------------------
838 AH_TEMPLATE([HLT_COMP],[hlt comp library])
839
840 ALICOMP_LIBS=
841 CHECK_HLTMODULE([comp],
842                 [], [$ALIROOT_CPPFLAGS],
843                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
844                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
845                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
846
847 if test "x$enable_module" = "xmissheader"; then
848   enable_module="no...header.missing"
849   enable_comp="no...header.missing"
850 elif test "x$enable_module" = "xforce"; then
851   enable_comp="yes"
852 else
853   enable_comp=$enable_module
854 fi
855
856 if test "x$enable_comp" = "xyes" ; then 
857   AC_DEFINE(HLT_COMP)
858   ALICOMP_LIBS=$ALIHLTMODULE_LIBS
859 else
860   enable_module=$enable_comp
861 fi
862 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
863 AC_MSG_CHECKING([whether to compile comp library])
864 AC_MSG_RESULT([$enable_module])
865 AC_SUBST([ALICOMP_LIBS])
866
867 dnl ------------------------------------------------------------------
868 AC_MSG_CHECKING([whether to disable AliRoot logging])
869 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
870 AC_ARG_ENABLE(aliroot-logging,
871   [AC_HELP_STRING([--disable-aliroot-logging],
872       [disable logging through AliRoot logging methods])],
873   [],[enable_aliroot_logging=no])
874 if test "x$have_aliroot" = "xno" ; then
875   enable_aliroot_logging=yes # this means 'disable'
876 fi
877 if test "x$enable_aliroot_logging" != "xno" ; then 
878   AC_DEFINE(NOALIROOT_LOGGING)
879 fi
880 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
881 AC_MSG_RESULT([$enable_aliroot_logging])
882
883 dnl ------------------------------------------------------------------
884 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
885 AH_TEMPLATE([DOMC],[MC saving])
886 AC_ARG_ENABLE(mc-saving,
887   [AC_HELP_STRING([--enable-mc-saving],
888       [enable saving MC data through the chain])],
889   [],[enable_mc_saving=no])
890 if test "x$enable_mc_saving" = "xyes" ; then 
891   AC_DEFINE(DOMC)
892 fi
893 AC_MSG_RESULT([$enable_mc_saving])
894
895 dnl ------------------------------------------------------------------
896 dnl certainly something old, but we keep the define
897 AC_MSG_CHECKING([whether to use ROWHOUGH])
898 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
899 AC_ARG_ENABLE(rowhough,
900   [AC_HELP_STRING([--enable-rowhough],
901       [use ROWHOUGH ])],
902   [],[enable_rowhough=no])
903 if test "x$enable_rowhough" = "xyes" ; then 
904   AC_DEFINE(USEROWHOUGH)
905 fi
906 AC_MSG_RESULT([$enable_rowhough])
907
908 dnl ------------------------------------------------------------------
909 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
910 dnl stand-alone build system. This is most likely something old we can
911 dnl get rid off later, or do something more reasonable. Since the define
912 dnl needs the quotes they have to be  escaped. This works well for the
913 dnl Makefile but not for the configure script. So we have to add the
914 dnl defines after all the other checks.
915 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
916 if test ! "x$have_aliroot" = "xno" ; then
917   CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
918 fi
919
920 dnl ------------------------------------------------------------------
921 dnl
922 dnl Documentation
923 dnl
924 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
925 AC_PATH_PROG(PERL, perl)
926 AC_PATH_PROG(DOXYGEN, doxygen)
927 AC_ARG_ENABLE(dot,
928   [AC_HELP_STRING([--enable-dot],
929       [enable dot documentation generator])],
930   [],[enable_dot=no])
931 HAVE_DOT=NO
932 DOT_PATH=
933 AC_PATH_PROG(DOT, dot)
934 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
935    HAVE_DOT=YES
936    DOT_PATH=`dirname $DOT`
937 fi
938
939 AC_MSG_CHECKING([for documentation mode])
940 AC_ARG_ENABLE(doc,
941   [AC_HELP_STRING([--disable-doc],
942       [disable documentation build; monolithic build --enable-doc=mono ])],
943   [],[enable_doc=modules])
944 if test "x$DOXYGEN" = "x" ; then
945    enable_doc=no.doxygen
946 elif test ! "x$enable_doc" = "xmono" && \
947      test ! "x$enable_doc" = "xmodules"  && \
948      test ! "x$enable_doc" = "xno"; then
949    enable_doc=no
950    AC_MSG_WARN([unknown option])
951 fi
952 if test "x$enable_doc" = "xno" ; then
953    enable_doc=off
954    DOXYGEN=
955 fi
956
957 AC_MSG_RESULT([$enable_doc])
958 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
959 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
960 AC_SUBST([HAVE_DOT])
961 AC_SUBST([DOT_PATH])
962
963 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
964 dnl echo $HAVE_SRC_SUBDIR
965 dnl if ! test -d $HAVE_SRC_SUBDIR; then
966 dnl   HAVE_SRC_SUBDIR=
967 dnl fi
968 dnl AC_SUBST([HAVE_SRC_SUBDIR])
969
970 dnl ------------------------------------------------------------------
971 AC_MSG_NOTICE([---------------------------------------------- ])
972 AC_MSG_NOTICE([                build summary                  ])
973 AC_MSG_NOTICE([---------------------------------------------- ])
974
975 AC_CONFIG_FILES([Makefile 
976                  BASE/Makefile
977                  BASE/setenv.sh
978                  BASE/setenv.csh
979                  BASE/HOMER/Makefile
980                  BASE/util/Makefile
981                  BASE/interface/Makefile
982                  BASE/test/Makefile
983                  doc/Makefile
984                  doc/doxygen.conf
985                  doc/doxymodule.conf])
986
987 dnl AliRoot and installation directory for libraries
988 dnl 
989 AC_MSG_NOTICE([AliRoot: $have_aliroot])
990 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
991 if test "x$have_aliroot" != "xno"; then 
992   AC_CONFIG_FILES([sim/Makefile  
993                    rec/Makefile  
994                    rec/test/Makefile     
995                    shuttle/Makefile
996                    pendolino/Makefile
997                    ])
998 fi
999 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1000 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1001 AC_MSG_NOTICE([libdir set to $libdir])
1002 fi
1003
1004 AC_MSG_NOTICE([compile sample library: $enable_sample])
1005 if test "x$enable_sample" = "xyes"; then 
1006   AC_CONFIG_FILES([SampleLib/Makefile])
1007 fi
1008
1009 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1010 if test "x$enable_rcu" = "xyes"; then 
1011   AC_CONFIG_FILES([RCU/Makefile
1012                    RCU/test/Makefile
1013                    ])
1014 fi
1015
1016 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1017 if test "x$enable_tpc" = "xyes"; then 
1018   AC_CONFIG_FILES([TPCLib/Makefile            
1019                    TPCLib/test/Makefile       
1020                    TPCLib/mapping2array.cxx     
1021                    TPCLib/OnlineDisplay/Makefile
1022                    ])
1023 fi
1024
1025 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1026 if test "x$enable_phos" = "xyes"; then 
1027   AC_CONFIG_FILES([PHOS/Makefile])
1028 fi
1029
1030 AC_MSG_NOTICE([compile TRD library: $enable_trd])
1031 if test "x$enable_trd" = "xyes"; then 
1032   AC_CONFIG_FILES([TRD/Makefile])
1033 fi
1034
1035 AC_MSG_NOTICE([compile MUON library: $enable_muon])
1036 if test "x$enable_muon" = "xyes"; then 
1037   AC_CONFIG_FILES([MUON/Makefile])
1038 fi
1039
1040 AC_MSG_NOTICE([compile ITS library: $enable_its])
1041 if test "x$enable_its" = "xyes"; then 
1042   AC_CONFIG_FILES([ITS/Makefile])
1043 fi
1044
1045 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1046 if test "x$enable_trigger" = "xyes"; then 
1047   AC_CONFIG_FILES([trigger/Makefile])
1048 fi
1049
1050 AC_MSG_NOTICE([compile comp library: $enable_comp])
1051 if test "x$enable_comp" = "xyes"; then 
1052   AC_CONFIG_FILES([comp/Makefile])
1053 fi
1054
1055 AC_OUTPUT
1056 dnl
1057 dnl EOF
1058 dnl
1059