]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/configure.ac
adding libEMCALUtils to libAliHLTCalo dependencies
[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([-Wno-portability])
36 AC_PROG_CC
37 AC_PROG_CXX
38 AC_PROG_LIBTOOL
39
40 AC_DEBUG
41 AC_PROFILING
42 AC_OPTIMIZATION
43 AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
44
45 dnl ------------------------------------------------------------------
46 dnl A warning posted into the auto-generated files
47 dnl Does NOT concern this file ;-)
48 AUTOGENERATED_WARNING="!!!!!!!    DO NOT EDIT THIS FILE !!!!!!"
49 AC_SUBST([AUTOGENERATED_WARNING])
50
51 dnl ------------------------------------------------------------------
52 dnl
53 dnl Check for ROOT
54 dnl
55 ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
56 AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
57 AC_SUBST([ROOTSYS])
58 ROOTBINDIR=`dirname $ROOTEXEC`
59 AC_SUBST([ROOTBINDIR])
60
61 dnl test for additional required root libraries and headers
62 LIBS='-ldl'
63 if test "x$have_root" = "x1"; then
64   AC_LANG_PUSH(C++)
65   save_CPPFLAGS=$CPPFLAGS
66   save_LDFLAGS=$LDFLAGS
67   save_LIBS=$LIBS
68   CPPFLAGS=`echo $save_CPPFLAGS; for i in ${ROOTINCDIR}; do echo -n "-I$i " ; done`
69   
70   # we check for the libSTEER library which is linked to
71   # - the ROOT libs libGeom libMinuit libVMC libEG
72   # - the AliRoot libESD libRAWData (libRAWDatarec from v4-04-Rev-07)
73   # - ROOT libCint needs also libdl
74   # - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires
75   #   libTreePlayer.so
76   # - from Jan 07 libESD also depends on libXMLIO
77   # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
78   # - libCDB.so depends on libXMLParser since Mar 11 2009 r 31411
79   ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer XMLParser'
80   for CHECKLIB in $ROOT_CHECKLIBS ; do
81     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
82     LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
83     AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
84   done
85
86   # TBuffer.h has been made pure virtual in root v5-15-02 and one
87   # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
88   AC_CHECK_HEADER([TBufferFile.h], [], [HAVE_NOT_TBUFFERFILE])
89
90   # TView.h has been made pure virtual right after root v5-15-02 and one
91   # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
92   AC_CHECK_HEADER([TView3D.h], [], [HAVE_NOT_TVIEW3D])
93
94   CPPFLAGS=$save_CPPFLAGS
95   LDFLAGS=$save_LDFLAGS
96   LIBS=$save_LIBS
97   AC_LANG_POP(C++)
98 fi
99
100 dnl ------------------------------------------------------------------
101 # TODO: make this configurable through arguments
102 #Define whether you want to run with ALIROOT or only ROOT
103 AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
104 ALIHLT_USEPACKAGE=ALIROOT
105 #ALIHLT_USEPACKAGE=ROOT
106 #ALIHLT_USEPACKAGE=STANDALONE
107 AC_DEFINE(use_aliroot)
108 AC_DEFINE(use_root)
109 CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
110 save_CPPFLAGS=$CPPFLAGS
111 save_LDFLAGS=$LDFLAGS
112 save_LIBS=$LIBS
113
114 dnl ------------------------------------------------------------------
115 dnl check for AliRoot features
116 AC_LANG_PUSH(C++)
117 have_aliroot=no
118 AC_ARG_WITH(aliroot,[  --with-aliroot   top of the AliRoot installation],
119                     [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
120                     [])
121
122 if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
123   dnl ------------------------------------------------------------------
124   dnl Try to estimate the system architecture
125   case $host_os:$host_cpu in
126   linux*:x86_64*)       alice_target='linuxx8664gcc'            ;;
127   linux*)               alice_target='linux'                    ;;
128   *)                    alice_target='unknown'                  ;;
129   esac
130   if test "x$alice_target" = "xunknown" ; then
131     if test -z $ALICE_TARGET ; then
132     AC_MSG_ERROR([Can not estimate system architecture.
133     To avoid the problem, set the ALICE_TARGET variable appropriately.
134     Please send the following information to Matthias.Richter@ift.uib.no:
135         ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
136     else
137     AC_MSG_NOTICE([Unknown system architecture.
138     Please send the following information to Matthias.Richter@ift.uib.no:
139         ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])  
140     fi
141   else
142     if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
143     AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
144     overriding $ALICE_TARGET by $alice_target])
145     fi
146     ALICE_TARGET=$alice_target
147   fi
148   ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
149   ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
150   ALIROOTINCDIR=${ALICE_ROOT}/include
151   test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
152   test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
153   test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
154 fi
155
156 AC_MSG_CHECKING([for AliRoot])
157 if test "x$ALICE_ROOT" != "x" \
158    && test -d ${ALIROOTBINDIR} \
159    && test -d ${ALIROOTLIBDIR} \
160    && test -d ${ALIROOTINCDIR}; then
161   have_aliroot=$ALICE_ROOT
162 else
163   ALIROOTBINDIR=
164   ALIROOTLIBDIR=
165   ALIROOTINCDIR=
166 fi
167 AC_MSG_RESULT([$have_aliroot])
168
169 if test ! "x$have_aliroot" = "xno" ; then
170   ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
171   ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
172   ALIROOT_LIBS="$ADD_ROOTLIBS"
173   save_CPPFLAGS=$CPPFLAGS
174   save_LDFLAGS=$LDFLAGS
175   save_LIBS=$LIBS
176   CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
177   LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
178   
179   # check for certain AliRoot libraries/files/features
180   # libSTEERBase present since Aug 7 2007
181   # ###########################################
182   # temporary workaround for circular dependency libSTEERbase libSTEER   
183   # https://savannah.cern.ch/bugs/index.php?49914
184   # disable the sequence of checks and load libraries in parallel
185   ALIROOT_LIBS="$ALIROOT_LIBS -lAOD -lCDB -lRAWDatabase -lRAWDatarec -lESD -lSTEER"
186   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
187   CHECKLIB=STEERBase
188   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
189
190   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
191   CHECKLIB=AOD
192   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
193
194   # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
195   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
196   CHECKLIB=CDB
197   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
198
199   # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
200   have_alirawdata=no
201   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
202   CHECKLIB=RAWDatabase
203   AC_CHECK_LIB([$CHECKLIB],[_init],
204         [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
205          LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lESD -lSTEER"
206          CHECKLIB=RAWDatarec
207          AC_CHECK_LIB([$CHECKLIB],[_init],
208                [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
209                 have_alirawdata=$CHECKLIB])],
210         [# second pass with -RAWData
211          CHECKLIB="-lRAWData"
212          LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
213          AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
214                                        #include <AliRawReaderFile.h>
215                                        #include <AliRawReaderDate.h>
216                                        #include <AliRawReaderRoot.h>], 
217                                      [AliRawReaderMemory mreader;
218                                        AliRawReaderFile freader;
219                                        AliRawReaderDate dreader(NULL,0);
220                                        AliRawReaderRoot rreader(NULL,0);])],
221                                      [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
222                                        have_alirawdata=$CHECKLIB], 
223                                       [have_alirawdata=no])
224         ]) dnl AC_CHECK_LIB RAWDatabase
225   AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
226   AC_MSG_RESULT([$have_alirawdata])
227
228   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
229   CHECKLIB=ESD
230   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
231
232   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
233   CHECKLIB=STEER
234   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
235
236   dnl
237   dnl check whether AliLog supports notification callback
238   dnl 2010-03-03: revision 38921 introduces AliLog::GetRootLogger in order to make AliLog
239   dnl a pure sigleton, introduce a 2-level check here
240   dnl
241   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
242   have_alilog_notification=no
243   if test ! "x$have_aliroot" = "xno" ; then
244   AC_MSG_CHECKING([whether AliLog supports notification callback])
245   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>], 
246                                   [AliLog* logger=AliLog::GetRootLogger();])],
247                                   [have_alilog_notification=yes],
248                                   [AC_DEFINE(NO_ALILOG_GETROOTLOGGER)
249                                   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>], 
250                                                                   [AliLog::AliLogNotification fct])],
251                                                                   [have_alilog_notification=yes], 
252                                                                   [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
253                                   ])
254   AC_MSG_RESULT([$have_alilog_notification])
255   fi
256
257   if test "x$have_aliroot" = "xno" ; then
258     # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
259     # but library dependencies might not be resolved completely
260     #ALIROOT_CPPFLAGS=
261     AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
262     This can happen from time to time due to development in AliRoot. You can
263     force compilation of detector libs by --enable-<detector>, but be aware
264     of unresolved references at runtime.])
265     AC_MSG_WARN([       ------------------------------------------ ])
266     AC_MSG_WARN([       Report this to $PACKAGE_BUGREPORT ])
267     AC_MSG_WARN([       please include config.log                  ])
268     AC_MSG_WARN([       ------------------------------------------ ])
269     ALIROOT_LDFLAGS=
270     ALIROOT_LIBS=
271   fi
272
273   dnl
274   dnl ESD supports non-std content
275   dnl
276   have_esd_nonstd=no
277   AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>
278                                    #include <AliExternalTrackParam.h>
279                                    #include <TTree.h>
280                                    #include <TClonesArray.h>],
281                                   [AliESDEvent esd;
282                                    esd.CreateStdContent();
283                                    TTree* tree=new TTree("esdTree", "Tree with HLT ESD objects");
284                                    TClonesArray* a=new TClonesArray("AliExternalTrackParam");
285                                    a->SetName("SomeObject");
286                                    esd.AddObject(a);
287                                    esd.WriteToTree(tree);
288                                    if (!tree->FindBranch("SomeObject")) return 1;
289                                    return 0;])],
290                  [have_esd_nonstd=yes], 
291                  [AC_DEFINE(HAVE_NOT_ESD_NONSTD)])
292   AC_MSG_CHECKING(whether ESD supports non standard content)
293   AC_MSG_RESULT([$have_esd_nonstd])
294
295   dnl
296   dnl ESD copy function added May 9 2008 rev 25667
297   dnl
298   if test "x$have_esd_nonstd" != "xyes"; then
299   have_esd_copy=no
300   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
301                                   [AliESDEvent esd1;
302                                    AliESDEvent esd2;
303                                    esd2=esd1;])],
304                  [have_esd_copy=yes], 
305                  [AC_DEFINE(HAVE_NOT_ESD_COPY)])
306   AC_MSG_CHECKING(for ESD assignment operator)
307   AC_MSG_RESULT([$have_esd_copy])
308   fi
309
310   dnl
311   dnl AliRawReaderMemory support for multiple buffers added
312   dnl revision 26829 Jun 2008
313   dnl
314   CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
315   have_rawreadermemory_multbuffers=no
316   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
317                                   [AliRawReaderMemory rr;
318                                    rr.AddBuffer(NULL, 0, 0);])],
319                  [have_rawreadermemory_multbuffers=yes], 
320                  [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
321   AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
322   AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
323
324   dnl
325   dnl Changes in the magnetic field implementation
326   dnl revision 30848 Feb 1 2009
327   dnl
328   CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
329   have_alimagf30848=no
330   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMagF.h>],
331                                   [int test=AliMagF::k5kG;])],
332                  [have_alimagf30848=yes], 
333                  [AC_DEFINE(HAVE_NOT_ALIMAGF30848)])
334   AC_MSG_CHECKING(AliMagF contains field definitions)
335   AC_MSG_RESULT([$have_alimagf30848])
336
337   dnl
338   dnl Cleanup of the RunLoader implementation
339   dnl revision 30859 Feb 2 2009
340   dnl
341   CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/STEER"
342   have_alirunloader30859=no
343   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRunLoader.h>],
344                                   [AliRunLoader* rl=AliRunLoader::Instance();])],
345                  [have_alirunloader30859=yes], 
346                  [AC_DEFINE(HAVE_NOT_ALIRUNLOADER30859)])
347   AC_MSG_CHECKING(AliRunLoader::Instance)
348   AC_MSG_RESULT([$have_alirunloader30859])
349
350   have_aliqav1=no
351   AC_CHECK_HEADER([AliQAv1.h], [have_aliqav1=yes], [])
352   AM_CONDITIONAL(EN_HLT_QA, test x$have_aliqav1 = xyes)
353   AC_CHECK_HEADER([AliESDHLTDecision.h], [], [AC_DEFINE(HAVE_NOT_ALIESDHLTDECISION)])
354
355   dnl
356   dnl required header files and libraries for modules
357   dnl
358
359   dnl
360   dnl Check for the interface of AliExternalTrackParam which has been changed
361   dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
362   dnl or higher)
363   externaltrackparam_version=1
364   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>], 
365                                   [AliExternalTrackParam trackparam;
366                                    Double_t param[[5]]; Double_t covar[[15]];
367                                    trackparam.Set(0., 0., param, covar);])],
368                                   [externaltrackparam_version=2],
369                                   [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
370   AC_MSG_CHECKING(for version of AliExternalTrackParam)
371   AC_MSG_RESULT($externaltrackparam_version)
372
373   dnl The AliShuttleInterface was changed in rev 29388. Some return types
374   dnl had been const, now changed according to gcc 4.3 warnings 
375   AC_MSG_CHECKING(for version of AliShuttleInterface.h)
376     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/"
377     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
378     LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
379     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliShuttleInterface.h>],
380                                     [class dummy : public AliShuttleInterface {
381                                      public:
382                                        const UInt_t GetStartTimeDCSQuery() {;}
383                                      };])],
384                                     [AC_DEFINE(SHUTTLE_PRE_REV29388_INTERFACE)
385                                      alishuttleinterface_version=pre.rev.29388],
386                                     [alishuttleinterface_version=up.to.date])
387   AC_MSG_RESULT([$alishuttleinterface_version])
388
389   CPPFLAGS=$save_CPPFLAGS
390   LDFLAGS=$save_LDFLAGS
391   LIBS=$save_LIBS
392 fi # if test ! "x$have_aliroot" = "xno"
393
394 AC_LANG_POP(C++)
395 AC_SUBST([ALICE_ROOT])
396 AC_SUBST([ALIROOT_CPPFLAGS])
397 AC_SUBST([ALIROOT_LDFLAGS])
398 AC_SUBST([ALIROOTBINDIR])
399 AC_SUBST([ALIROOTLIBDIR])
400
401 ALIROOT_LIBS="$ALIROOT_LIBS $ADD_ROOTLIBS"
402 AC_SUBST([ALIROOT_LIBS])
403 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
404
405 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
406 HLTBASE_LDFLAGS=
407 AC_SUBST([HLTBASE_CPPFLAGS])
408 AC_SUBST([HLTBASE_LDFLAGS])
409
410 dnl ------------------------------------------------------------------
411 dnl check for the HLT PubSub Framework
412 dnl namely for the existence of the HOMER library
413 dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
414 dnl package. It os though possible to choose an external. library
415 dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
416 dnl got the name libAliHLTHOMER
417 AC_MSG_CHECKING([for HLT PubSub Framework])
418 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
419                     [],
420                     [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
421 if test -z $with_pubsub || ! test -d $with_pubsub ; then
422   with_pubsub=no
423 fi
424 AC_MSG_RESULT([$with_pubsub])
425 HOMER_VERSION=2
426 HOMER_LIBS=
427
428 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
429 if test "x$with_pubsub" != "xno" ; then
430   save_CPPFLAGS=$CPPFLAGS
431   save_LDFLAGS=$LDFLAGS
432   save_LIBS=$LIBS
433   # currently the different versions of the HLT PubSub framework have a different
434   # directory layout
435   if test -d ${with_pubsub}/include/HOMER ; then
436     # the 'early' location of the include files with separated HOMER sub dirs
437     HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
438   elif test -d ${with_pubsub}/include/Util/HOMER ; then
439     # location for HLT Framework versions after Sep 2006
440     HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
441   elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
442     # fall back if include files were not installed (versions after Sep 06)
443     HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
444   else
445     # fall back if include files were not installed (versions before Sep 06)
446     HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
447   fi
448   HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
449
450   AC_ARG_ENABLE(pubsub-debug,
451     [AC_HELP_STRING([--disable-pubsub-debug],
452         [force the production version of the PubSub framework])],
453     [],[enable_pubsub_debug=yes])
454   homer_type="none"
455   HOMER_TARGET="`uname -s`-`uname -m`"
456   AC_MSG_CHECKING([for HLT PubSub Framework release type])
457   if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
458     homer_type="production"
459     HOMER_TARGET="${HOMER_TARGET}-release"
460   elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
461     homer_type="debug"
462     HOMER_TARGET="${HOMER_TARGET}-debug"
463   fi
464   AC_MSG_RESULT([${homer_type}])
465   HOMERREADER_HEADER=HOMERReader.h
466   HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
467   HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
468   HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
469   CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
470   LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
471   LIBS="$save_LIBS "
472   with_homer=no
473   AC_LANG_PUSH(C++)
474   AC_CHECK_HEADER([$HOMERREADER_HEADER],
475     [ AC_CHECK_LIB([HOMER],[_init],
476       [with_homer=yes
477        HOMER_LIBS="-lHOMER"],
478       [ AC_CHECK_LIB([HOMERReader],[_init],
479                      [with_homer=yes
480                       HOMER_LIBS="-lHOMERReader"])])
481       LIBS="$LIBS $HOMER_LIBS"
482       AC_MSG_CHECKING([version of HOMER library])
483       dnl The Homer library has no versioning, so we do our own
484       dnl version           description
485       dnl ----------------------------------------------------------------------
486       dnl   1          inintial version
487       dnl   2          GetBlockStatusFlags added to the interface
488       AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
489                                       [HOMERReader reader("dummy", 0);
490                                        reader.GetBlockStatusFlags(0);])],
491                                       [],
492                                       [HOMER_VERSION=1])
493       AC_MSG_RESULT([$HOMER_VERSION])
494   ],
495   [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
496   AC_LANG_POP(C++)
497   HOMER_INBUILT_LIB=
498 else
499 dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
500   topdir=`dirname $0`
501   HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
502   HOMERREADER_HEADER=AliHLTHOMERReader.h
503   HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
504   HOMER_BINDIR=
505   HOMER_LIBDIR=
506   HOMER_LDFLAGS=
507 fi
508
509   if test "x$with_homer" = "xno" ; then
510     HOMER_CPPFLAGS=
511     HOMER_LDFLAGS=
512     HOMER_LIBS=
513   else
514     HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
515     AC_DEFINE(HAVE_HOMERREADER)
516   fi
517   CPPFLAGS="$save_CPPFLAGS"
518   LDFLAGS="$save_LDFLAGS"
519   LIBS="$save_LIBS"  
520
521 AC_SUBST([HOMERREADER_HEADER])
522 AC_SUBST([HOMER_INBUILT_LIB])
523 AC_SUBST([HOMER_CPPFLAGS])
524 AC_SUBST([HOMER_LDFLAGS])
525 AC_SUBST([HOMER_LIBDIR])
526 AC_SUBST([HOMER_BINDIR])
527 AC_SUBST([HOMER_LIBS])
528
529 dnl ------------------------------------------------------------------
530 AC_ARG_ENABLE(all,
531   [AC_HELP_STRING([--disable-all],
532       [disable all detector modules, individual modules can be switched on by --enable-det])],
533   [disable_all=yes],[])
534
535 dnl ------------------------------------------------------------------
536 AC_MSG_CHECKING([whether to impose strict coding conventions])
537 AC_ARG_ENABLE(strict,
538   [AC_HELP_STRING([--disable-strict],
539       [disable coding convention checks ])],
540   [],[enable_strict=yes])
541 if test "x$enable_strict" = "xyes" ; then
542    CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
543 fi
544 AC_MSG_RESULT([$enable_strict])
545
546 dnl ------------------------------------------------------------------
547 AC_MSG_CHECKING([whether to enable component statistics])
548 AC_ARG_ENABLE(component-stat,
549   [AC_HELP_STRING([--enable-component-stat],
550       [enable component statistics ])],
551   [],[])
552
553 dnl enable component statistics if not explicitely disabled
554 if test "x$enable_component_stat" != "xno" &&
555    test "x$enable_debug" = "xyes" ; then
556    enable_component_stat=yes.debug
557 fi
558
559 if test "x$enable_component_stat" = "x" ; then
560    enable_component_stat=no
561 fi
562
563 if test "x$enable_component_stat" != "xno" ; then
564    AC_DEFINE(HLT_COMPONENT_STATISTICS)
565 fi
566 AC_MSG_RESULT([$enable_component_stat])
567
568 dnl ------------------------------------------------------------------
569 dnl ----  module checks
570 dnl ------------------------------------------------------------------
571 save_CPPFLAGS=$CPPFLAGS
572 save_LDFLAGS=$LDFLAGS
573 save_LIBS=$LIBS
574
575 dnl ------------------------------------------------------------------
576 AC_MSG_NOTICE([-------------------------------------------------])
577 AC_MSG_NOTICE([checking dependencies for HLTbase library])
578 HLTBASE_CHECKLIBS='XMLParser'
579 for CHECKLIB in $HLTBASE_CHECKLIBS ; do
580   LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
581   LIBS="$save_LIBS $ROOTLIBS $ALIHLTBASE_LIBS"
582   AC_CHECK_LIB([$CHECKLIB],[_init], [ALIHLTBASE_LIBS="$ALIHLTBASE_LIBS -l$CHECKLIB"])
583 done
584 AC_SUBST([ALIHLTBASE_LIBS])
585
586 dnl ------------------------------------------------------------------
587 AC_MSG_CHECKING([whether to compile sample library])
588 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
589 AC_ARG_ENABLE(sample,
590   [AC_HELP_STRING([--disable-sample],
591       [compile the sample library ])],
592   [],
593   [if test "x$have_aliroot" = "xno" ; then
594      enable_sample="no...requires.AliRoot"
595    else
596      enable_sample=yes
597    fi
598   ])
599
600 if test "x$enable_sample" = "xyes" ; then 
601   AC_DEFINE(HLT_SAMPLE)
602 fi
603 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
604 AC_MSG_RESULT([$enable_sample])
605
606 dnl ------------------------------------------------------------------
607 AH_TEMPLATE([HLT_UTIL],[HLT utility library])
608 ALIUTIL_LIBS=
609 CHECK_HLTMODULE([util],
610                 [], 
611                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/STEER -I$ALICE_ROOT/RAW -I$ALICE_ROOT/PYTHIA6],
612                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
613                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
614                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
615
616 if test "x$enable_module" = "xmissheader"; then
617   enable_module="no...missing.headers"
618   enable_util=$enable_module
619 elif test "x$enable_module" = "xforce"; then
620   enable_util="yes"
621 else
622   enable_util=$enable_module
623 fi
624 if test "x$enable_util" = "xyes" ; then 
625   AC_DEFINE(HLT_UTIL)
626   ALIUTIL_LIBS=$ALIHLTMODULE_LIBS
627 fi
628 AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
629 AC_MSG_CHECKING([whether to compile Util library])
630 AC_MSG_RESULT([$enable_module])
631 AC_SUBST([ALIUTIL_LIBS])
632
633 dnl ------------------------------------------------------------------
634 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
635
636 ALITPC_LIBS=
637 CHECK_HLTMODULE([tpc],
638                 [AliTPCRawStream.h], 
639                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
640                 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
641                 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
642                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
643
644 if test "x$enable_module" = "xmissheader"; then
645   enable_module="no...missing.headers"
646   enable_tpc=$enable_module
647 elif test "x$enable_module" = "xforce"; then
648   enable_tpc="yes"
649 else
650   enable_tpc=$enable_module
651 fi
652
653 if test "x$enable_tpc" = "xyes" ; then 
654   AC_LANG_PUSH(C++)
655   AC_DEFINE(HLT_TPC)
656   ALITPC_LIBS=$ALIHLTMODULE_LIBS
657   dnl
658   dnl Check for functionality in the TPC reconstruction required for online
659   dnl processing
660   dnl 
661   have_tpc_hltoffline_rec=no
662   AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
663     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
664     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
665     LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
666     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
667                                        #include <AliTPCclustererMI.h>   
668                                        #include <TObjArray.h>], 
669                                     [AliTPCtrackerMI tracker;
670                                        TObjArray* array=NULL;
671                                        tracker.LoadClusters(array);
672                                        AliTPCclustererMI cl(NULL, NULL);
673                                        cl.GetOutputClonesArray();])],
674                                     [have_tpc_hltoffline_rec=yes], 
675                                       [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
676   AC_MSG_RESULT([$have_tpc_hltoffline_rec])
677
678     have_alitpcclusterparam_r40128=no
679     AC_MSG_CHECKING([checking for AliTPCClusterParam r40128])
680     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTPCClusterParam.h>], 
681                                        [AliTPCClusterParam param;
682                                           float test=param.ParamS0Par(0,0,0)]);],
683                                        [have_alitpcclusterparam_r40128=yes],
684                                          [AC_DEFINE(HAVE_NOT_ALITPCCLUSTERPARAM_r40128)])
685     AC_MSG_RESULT([$have_alitpcclusterparam_r40128])
686
687     LIBS=$save_LIBS
688
689
690   AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
691   AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
692   AC_CHECK_HEADER([AliAltroRawStreamV3.h], [], [AC_DEFINE(HAVE_NOT_ALTRORAWSTREAMV3)])
693
694   have_tpc_mapping=no
695   if test ! "x$have_aliroot" = "xno" ; then
696     # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC 
697     # which is stored in the TPC/mapping/Patchx.data files from
698     # AliRoot version v4-04-Release (May 2006)
699     AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
700     TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
701     AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data], 
702                    [have_tpc_mapping=yes
703                     AC_SUBST(TPC_PAD_MAPPING_PATH)
704                     AC_DEFINE(HAVE_TPC_MAPPING)],
705                    [])
706     
707   fi
708   AC_MSG_CHECKING([for TPC mapping layout])
709   AC_MSG_RESULT([$have_tpc_mapping])
710   AC_LANG_POP(C++)
711
712 else
713   enable_module=$enable_tpc
714 fi
715 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
716 AC_MSG_CHECKING([whether to compile TPC library])
717 AC_MSG_RESULT([$enable_module])
718 AC_SUBST([ALITPC_LIBS])
719
720 dnl ------------------------------------------------------------------
721 AH_TEMPLATE([HLT_RCU],[hlt rcu library])
722
723 CHECK_HLTMODULE([rcu],
724                 [AliAltroDecoder.h], 
725                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
726                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
727                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
728                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
729
730 if test "x$enable_module" = "xmissheader"; then
731   enable_module="no...missing.headers"
732   enable_rcu=$enable_module
733 elif test "x$enable_module" = "xforce"; then
734   enable_rcu="yes"
735 else
736   AC_LANG_PUSH(C++)
737   CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
738   LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
739   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
740   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>], 
741                                   [AliAltroDecoder decoder;
742                                   decoder.CopyBackward(NULL, 0);])],
743                                   [enable_rcu=$enable_module], 
744                                   [enable_module="no...requires.AliRoot>v4-10-Release"
745                                    enable_rcu="no...requires.AliRoot>v4-10-Release"])
746   CPPFLAGS=$save_CPPFLAGS
747   LDFLAGS=$save_LDFLAGS
748   LIBS=$save_LIBS
749   AC_LANG_POP(C++)
750 fi
751
752 if test "x$enable_rcu" = "xyes" ; then 
753   AC_DEFINE(HLT_RCU)
754 else
755   enable_module=$enable_rcu
756 fi
757 AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
758 AC_MSG_CHECKING([whether to compile RCU library])
759 AC_MSG_RESULT([$enable_module])
760 AC_SUBST([ALIRCU_LIBS])
761
762 dnl ------------------------------------------------------------------
763 AH_TEMPLATE([HLT_CALO],[hlt calo(rimeter) library])
764   
765 ALICALO_LIBS=
766 CHECK_HLTMODULE([calo],
767                 [], [$ALIROOT_CPPFLAGS],
768                 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
769                 [EMCALUtils PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
770                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
771
772 if test "x$enable_module" = "xmissheader"; then
773   enable_module="no...missing.headers"
774   enable_calo=$enable_module
775 elif test "x$enable_module" = "xforce"; then
776   enable_calo="yes"
777 else
778   have_alicalorawstream=no
779   if test ! "x$have_aliroot" = "xno" ; then
780     AC_LANG_PUSH(C++)
781     save_CPPFLAGS="$CPPFLAGS"
782     # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
783     #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
784     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
785     AC_MSG_CHECKING([for AliCaloRawStream.h usability])
786     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
787                                         #include <AliCaloRawStream.h>], 
788                                        [int i])],
789                                        [AC_DEFINE(HAVE_ALICALORAWSTREAM)
790                                         have_alicalorawstream=yes], 
791                                        [])
792     AC_MSG_RESULT([$have_alicalorawstream])
793
794     have_aliesdcalocluster_r38477=no
795     AC_MSG_CHECKING([for AliESDCaloCluster r38477])
796     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDCaloCluster.h>], 
797                                        [AliESDCaloCluster cluster;
798                                         cluster.SetTrackDistance(0.0, 0.0)]);],
799                                        [have_aliesdcalocluster_r38477=yes],
800                                          [AC_DEFINE(HAVE_NOT_ALIESDCALOCLUSTER_r38477)])
801     AC_MSG_RESULT([$have_aliesdcalocluster_r38477])
802
803     AC_LANG_POP(C++)
804     CPPFLAGS="$save_CPPFLAGS"
805   fi
806   if test "x$have_alicalorawstream" != "xyes"; then
807     enable_calo="no...requires.AliRoot>v4-05-07"
808   else
809     enable_calo=$enable_module
810   fi
811 fi
812
813 if test "x$enable_calo" = "xyes" ; then 
814   AC_DEFINE(HLT_CALO)
815   ALICALO_LIBS=$ALIHLTMODULE_LIBS
816 else
817   enable_module=$enable_calo
818 fi
819 AM_CONDITIONAL(EN_HLT_CALO, test x$enable_calo = xyes)
820 AC_MSG_CHECKING([whether to compile CALO library])
821 AC_MSG_RESULT([$enable_module])
822 AC_SUBST([ALICALO_LIBS])
823
824 dnl ------------------------------------------------------------------
825 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
826   
827 ALIPHOS_LIBS=
828 CHECK_HLTMODULE([phos],
829                 [], [$ALIROOT_CPPFLAGS],
830                 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
831                 [PHOSUtils PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
832                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
833
834 if test "x$enable_module" = "xmissheader"; then
835   enable_module="no...requires.AliRoot>v4-05-07"
836   enable_phos=$enable_module
837 elif test "x$enable_module" = "xforce"; then
838   enable_phos="yes"
839 else
840   have_alicalorawstream=no
841   if test ! "x$have_aliroot" = "xno" ; then
842     AC_LANG_PUSH(C++)
843     save_CPPFLAGS="$CPPFLAGS"
844     # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
845     #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
846     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
847     AC_MSG_CHECKING([for AliCaloRawStream.h usability])
848     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
849                                         #include <AliCaloRawStream.h>], 
850                                        [int i])],
851                                        [AC_DEFINE(HAVE_ALICALORAWSTREAM)
852                                         have_alicalorawstream=yes], 
853                                        [])
854     AC_MSG_RESULT([$have_alicalorawstream])
855     AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
856     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>], 
857                                        [AliPHOSRecoParam param;
858                                         param.GetEMCClusteringThreshold()])],
859                                        [have_aliphosrecoparam=yes], 
860                                        [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
861     AC_MSG_RESULT([$have_aliphosrecoparam])
862     AC_LANG_POP(C++)
863     CPPFLAGS="$save_CPPFLAGS"
864   fi
865   if test "x$have_alicalorawstream" != "xyes"; then
866     enable_phos="no...requires.AliRoot>v4-05-07"
867   else
868     enable_phos=$enable_module
869   fi
870 fi
871
872 if test "x$enable_phos" = "xyes" ; then 
873   AC_DEFINE(HLT_PHOS)
874   ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
875 else
876   enable_module=$enable_phos
877 fi
878 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
879 AC_MSG_CHECKING([whether to compile PHOS library])
880 AC_MSG_RESULT([$enable_module])
881 AC_SUBST([ALIPHOS_LIBS])
882
883 dnl ------------------------------------------------------------------
884 AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
885
886 ALIEMCAL_LIBS=
887 CHECK_HLTMODULE([emcal],
888                 [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL -I$ALICE_ROOT/VZERO],
889                 [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
890                 [EMCALrec EMCALsim EMCALbase EMCALUtils VZERObase], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
891                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
892
893 if test "x$enable_module" = "xmissheader"; then
894   enable_module="no...header.missing"
895   enable_emcal=$enable_module
896 elif test "x$enable_module" = "xforce"; then
897   enable_emcal="yes"
898 else
899   enable_emcal=$enable_module
900 fi
901
902 if test "x$enable_emcal" = "xyes" ; then 
903   AC_DEFINE(HLT_EMCAL)
904   ALIEMCAL_LIBS=$ALIHLTMODULE_LIBS
905 else
906   enable_module=$enable_emcal
907 fi
908 AM_CONDITIONAL(EN_HLT_EMCAL, test x$enable_emcal = xyes)
909 AC_MSG_CHECKING([whether to compile EMCAL library])
910 AC_MSG_RESULT([$enable_module])
911 AC_SUBST([ALIEMCAL_LIBS])
912
913 dnl ------------------------------------------------------------------
914 AH_TEMPLATE([HLT_TRD],[hlt trd library])
915   
916 ALITRD_LIBS=
917 CHECK_HLTMODULE([trd],
918                 [], [],
919                 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
920                 [STAT TRDbase TRDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
921                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
922
923 if test "x$enable_module" = "xmissheader"; then
924   enable_module="no...requires.AliRoot>v4-07-Release"
925   enable_trd=$enable_module
926 elif test "x$enable_module" = "xforce"; then
927   enable_trd="yes"
928 else
929   enable_trd=$enable_module
930   if test "x$enable_trd" = "xyes" ; then
931     AC_LANG_PUSH(C++)
932     save_CPPFLAGS="$CPPFLAGS"
933     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
934     # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
935     # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
936     # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
937     # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
938     # changed to AliTRDCluster according to revision 30461, Thu Dec 18 2008
939     # changed to AliTRDclusterizer::GetAddedClusters according to revision 31299, Wed Mar 4 2009
940     # changed to AliTRDclusterizer::GetNTimeBins according to revision 37102 Sun Nov 22 2009
941     AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
942     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>], 
943                                        [AliTRDclusterizer c;
944                                        c.GetNTimeBins()])],
945                                        [], 
946                                        [enable_trd="no...requires.AliRoot>v4-18-Release"])
947     AC_MSG_RESULT([$enable_trd])       
948
949     if test "x$enable_trd" = "xyes" ; then
950       have_alitrdseedv1_r39693=no
951       AC_MSG_CHECKING([checking for AliTRDseedV1 r39693])
952       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDseedV1.h>], 
953                                          [AliTRDseedV1 seed;
954                                           seed.SetC(0.0, 1)]);],
955                                          [have_alitrdseedv1_r39693=yes],
956                                          [AC_DEFINE(HAVE_NOT_ALITRD_SEEDV1_r39693)])
957       AC_MSG_RESULT([$have_alitrdseedv1_r39693])
958
959       have_alitrdrawstream_r39608=no
960       AC_MSG_CHECKING([checking for AliTRDrawStream r39608])
961       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrawStreamBase.h>], 
962                                          [AliTRDrawStreamBase::SetRawStreamVersion(AliTRDrawStreamBase::kTRDdefaultStream)]);],
963                                          [have_alitrdrawstream_r39608=yes],
964                                          [AC_DEFINE(HAVE_NOT_ALITRD_RAWSTREAM_r39608)])
965       AC_MSG_RESULT([$have_alitrdrawstream_r39608])
966     fi
967
968     AC_LANG_POP(C++)
969     CPPFLAGS="$save_CPPFLAGS"
970   fi
971 fi
972
973 if test "x$enable_trd" = "xyes" ; then 
974   AC_DEFINE(HLT_TRD)
975   ALITRD_LIBS=$ALIHLTMODULE_LIBS
976 else
977   enable_module=$enable_trd
978 fi
979 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
980 AC_MSG_CHECKING([whether to compile TRD library])
981 AC_MSG_RESULT([$enable_module])
982 AC_SUBST([ALITRD_LIBS])
983
984 dnl ------------------------------------------------------------------
985 AH_TEMPLATE([HLT_FMD],[hlt fmd library])
986
987 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
988 CHECK_HLTMODULE([fmd],
989                 [], [],
990                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
991                 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
992                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
993
994 if test "x$enable_module" = "xmissheader"; then
995   enable_module="no...missing.headers"
996   enable_fmd=$enable_module
997 elif test "x$enable_module" = "xforce"; then
998   enable_fmd="yes"
999 else
1000   enable_fmd=$enable_module
1001 fi
1002
1003 if test "x$enable_fmd" = "xyes" ; then
1004   AC_DEFINE(HLT_FMD)
1005   ALIFMD_LIBS=$ALIHLTMODULE_LIBS
1006 else
1007   enable_module=$enable_fmd
1008 fi
1009 AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
1010 AC_MSG_CHECKING([whether to compile FMD library])
1011 AC_MSG_RESULT([$enable_module])
1012 AC_SUBST([ALIFMD_LIBS])
1013
1014 dnl ------------------------------------------------------------------
1015 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
1016
1017 ALIMUON_LIBS=
1018 CHECK_HLTMODULE([dimuon],
1019                 [AliMpExMap.h AliMUONTriggerIO.h], 
1020                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
1021                 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1022                 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
1023                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1024
1025 if test "x$enable_module" = "xmissheader"; then
1026   enable_module="no...requires.AliRoot>=v4-08-Release"
1027   enable_muon=$enable_module
1028 elif test "x$enable_module" = "xforce"; then
1029   enable_muon="yes"
1030 else
1031   enable_muon=$enable_module
1032 fi
1033
1034 if test "x$enable_muon" = "xyes" ; then 
1035   AC_DEFINE(HLT_MUON)
1036   ALIMUON_LIBS=$ALIHLTMODULE_LIBS
1037   AC_LANG_PUSH(C++)
1038   save_CPPFLAGS="$CPPFLAGS"
1039
1040   dnl
1041   dnl Check for functionality GetRawStream AliMUONDigitMaker.h
1042   dnl 
1043   have_muon_digitmaker_getrawstream=no
1044   AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
1045     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
1046     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1047     LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1048     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>], 
1049                                     [AliMUONDigitMaker dm;
1050                                        dm.GetRawStreamTracker();])],
1051                                     [have_muon_digitmaker_getrawstream=yes], 
1052                                       [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
1053     LIBS=$save_LIBS
1054   AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
1055
1056   dnl
1057   dnl Check for AliMpPad::GetPositionX/Y
1058   dnl change of implementation in MUON code
1059   dnl revision 31769, Wed Apr 1 2009
1060   dnl 
1061   have_muon_alimppad_getposition=no
1062   AC_MSG_CHECKING(for GetPosition methods of AliMpPad)
1063     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON/mapping"
1064     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1065     LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1066     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMpPad.h>], 
1067                                     [AliMpPad pad;
1068                                      pad.GetPositionX();])],
1069                                     [have_muon_alimppad_getposition=yes], 
1070                                       [AC_DEFINE(HAVE_NOT_MUON_ALIMPPAD_GETPOSITION)])
1071     LIBS=$save_LIBS
1072   AC_MSG_RESULT([$have_muon_alimppad_getposition])
1073
1074   CPPFLAGS="$save_CPPFLAGS"
1075
1076   AC_LANG_POP(C++)
1077 else
1078   enable_module=$enable_muon
1079 fi
1080 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
1081 AC_MSG_CHECKING([whether to compile MUON library])
1082 AC_MSG_RESULT([$enable_module])
1083 AC_SUBST([ALIMUON_LIBS])
1084
1085 dnl ------------------------------------------------------------------
1086 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
1087
1088 ALITRIGGER_LIBS=
1089 CHECK_HLTMODULE([trigger],
1090                 [], [$ALIROOT_CPPFLAGS],
1091                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1092                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
1093                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1094
1095 if test "x$enable_module" = "xmissheader"; then
1096   enable_module="no...header.missing"
1097   enable_trigger=$enable_module
1098 elif test "x$enable_module" = "xforce"; then
1099   enable_trigger="yes"
1100 else
1101   enable_trigger=$enable_module
1102 fi
1103
1104 if test "x$enable_trigger" = "xyes" ; then 
1105   AC_DEFINE(HLT_TRIGGER)
1106   ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
1107 else
1108   enable_module=$enable_trigger
1109 fi
1110 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
1111 AC_MSG_CHECKING([whether to compile Trigger library])
1112 AC_MSG_RESULT([$enable_module])
1113 AC_SUBST([ALITRIGGER_LIBS])
1114
1115 dnl ------------------------------------------------------------------
1116 AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
1117
1118 ALIGLOBAL_LIBS=
1119 CHECK_HLTMODULE([global],
1120                 [], [$ALIROOT_CPPFLAGS],
1121                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1122                 [PHOSUtils ], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
1123                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1124
1125 if test "x$enable_module" = "xmissheader"; then
1126   enable_module="no...header.missing"
1127   enable_global=$enable_module
1128 elif test "x$enable_module" = "xforce"; then
1129   enable_global="yes"
1130 else
1131   enable_global=$enable_module
1132   if test "x$enable_global" = "xyes" ; then
1133     AC_LANG_PUSH(C++)
1134     save_CPPFLAGS="$CPPFLAGS"
1135     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
1136     AC_MSG_CHECKING([for required functions in AliESDtrack])
1137     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>], 
1138                                        [AliESDtrack t;
1139                                        t.SetGlobalChi2(0)])],
1140                                        [], 
1141                                        [enable_global="no...requires.AliRoot>v4-17-Release"])
1142     AC_MSG_RESULT([$enable_global])       
1143     AC_LANG_POP(C++)
1144     CPPFLAGS="$save_CPPFLAGS"
1145   fi
1146 fi
1147
1148 if test "x$enable_global" = "xyes" ; then 
1149   AC_DEFINE(HLT_GLOBAL)
1150   ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
1151 else
1152   enable_module=$enable_global
1153 fi
1154 AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
1155 AC_MSG_CHECKING([whether to compile Global library])
1156 AC_MSG_RESULT([$enable_module])
1157 AC_SUBST([ALIGLOBAL_LIBS])
1158
1159 dnl ------------------------------------------------------------------
1160 AH_TEMPLATE([HLT_JET],[hlt jet library])
1161
1162 ALIFASTJET_HEADER=
1163 ALIFASTJET_INCFLAGS=
1164 ALIFASTJET_LIBS=
1165 ALIFASTJET_LDFLAGS=
1166 AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
1167                      [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
1168                      [ test -n $FASTJET && with_fastjet=$FASTJET ])
1169
1170 if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
1171   ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
1172   ALIFASTJET_HEADER="fastjet/PseudoJet.hh"
1173   ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
1174   ALIFASTJET_LIBS="CGAL fastjet"
1175 else
1176   with_fastjet=no
1177 fi
1178
1179 CHECK_HLTMODULE([jet],
1180         [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
1181         [$ALIFASTJET_LIBS], [$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
1182         [AOD ESD ANALYSIS ANALYSISalice JETAN], 
1183         [-L$ROOTLIBDIR $ALIROOT_LDFLAGS $ALIFASTJET_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
1184         [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1185
1186 if test "x$enable_module" = "xmissheader"; then
1187   enable_module="no...header.missing"
1188   enable_jet=$enable_module
1189 elif test "x$enable_module" = "xforce"; then
1190   enable_jet="yes"
1191 else
1192   enable_jet=$enable_module
1193 fi
1194
1195 if test "x$enable_jet" = "xyes" ; then
1196   AC_DEFINE(HLT_JET)
1197   ALIJET_LIBS="$ALIHLTMODULE_LIBS"
1198   
1199   if test "x$with_fastjet" != "xno"; then
1200      AC_DEFINE(HAVE_FASTJET)
1201      AC_DEFINE(WITHFASTJET)
1202      ALIJET_LIBS="$ALIJET_LIBS $FASTJET_LDFLAGS"
1203   fi
1204   AC_MSG_CHECKING([compilation with FASTJET package])
1205   AC_MSG_RESULT($with_fastjet)
1206
1207 else
1208   enable_module=$enable_jet
1209 fi
1210
1211 AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
1212 AC_MSG_CHECKING([whether to compile Jet library])
1213 AC_MSG_RESULT([$enable_module])
1214 AC_SUBST([ALIJET_LIBS])
1215
1216 dnl ------------------------------------------------------------------
1217 AH_TEMPLATE([HLT_ITS],[hlt its library])
1218
1219 ALIITS_LIBS=
1220 CHECK_HLTMODULE([its],
1221                 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
1222                 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1223                 [ITSbase ITSrec ITSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
1224                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1225
1226 if test "x$enable_module" = "xmissheader"; then
1227   enable_module="no...header.missing"
1228   enable_its=$enable_module
1229 elif test "x$enable_module" = "xforce"; then
1230   enable_its="yes"
1231 else
1232   enable_its=$enable_module
1233   if test "x$enable_its" = "xyes" ; then
1234     AC_LANG_PUSH(C++)
1235     save_CPPFLAGS="$CPPFLAGS"
1236     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
1237     # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
1238     # require AliVertexer::GetNominalPos()
1239     AC_MSG_CHECKING([for required functions in AliITSVertexer])
1240     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>], 
1241                                        [AliITSVertexerZ v;
1242                                        v.GetNominalPos()])],
1243                                        [], 
1244                                        [enable_its="no...requires.AliRoot>v4-13-Release"])
1245     AC_MSG_RESULT([$enable_its])       
1246     AC_LANG_POP(C++)
1247     CPPFLAGS="$save_CPPFLAGS"
1248   fi
1249 fi
1250
1251 if test "x$enable_its" = "xyes" ; then 
1252   AC_DEFINE(HLT_ITS)
1253   ALIITS_LIBS=$ALIHLTMODULE_LIBS
1254 else
1255   enable_module=$enable_its
1256 fi
1257 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
1258 AC_MSG_CHECKING([whether to compile ITS library])
1259 AC_MSG_RESULT([$enable_module])
1260 AC_SUBST([ALIITS_LIBS])
1261
1262 dnl ------------------------------------------------------------------
1263 AH_TEMPLATE([HLT_COMP],[hlt comp library])
1264
1265 ALICOMP_LIBS=
1266 CHECK_HLTMODULE([comp],
1267                 [], [$ALIROOT_CPPFLAGS],
1268                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1269                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
1270                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1271
1272 if test "x$enable_module" = "xmissheader"; then
1273   enable_module="no...header.missing"
1274   enable_comp=$enable_module
1275 elif test "x$enable_module" = "xforce"; then
1276   enable_comp="yes"
1277 else
1278   enable_comp=$enable_module
1279 fi
1280
1281 if test "x$enable_comp" = "xyes" ; then 
1282   AC_DEFINE(HLT_COMP)
1283   ALICOMP_LIBS=$ALIHLTMODULE_LIBS
1284 else
1285   enable_module=$enable_comp
1286 fi
1287 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
1288 AC_MSG_CHECKING([whether to compile comp library])
1289 AC_MSG_RESULT([$enable_module])
1290 AC_SUBST([ALICOMP_LIBS])
1291
1292 dnl ------------------------------------------------------------------
1293 AC_MSG_CHECKING([whether to disable AliRoot logging])
1294 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
1295 AC_ARG_ENABLE(aliroot-logging,
1296   [AC_HELP_STRING([--disable-aliroot-logging],
1297       [disable logging through AliRoot logging methods])],
1298   [],[enable_aliroot_logging=no])
1299 if test "x$have_aliroot" = "xno" ; then
1300   enable_aliroot_logging=yes # this means 'disable'
1301 fi
1302 if test "x$enable_aliroot_logging" != "xno" ; then 
1303   AC_DEFINE(NOALIROOT_LOGGING)
1304 fi
1305 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1306 AC_MSG_RESULT([$enable_aliroot_logging])
1307
1308 dnl ------------------------------------------------------------------
1309 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1310 AH_TEMPLATE([DOMC],[MC saving])
1311 AC_ARG_ENABLE(mc-saving,
1312   [AC_HELP_STRING([--enable-mc-saving],
1313       [enable saving MC data through the chain])],
1314   [],[enable_mc_saving=no])
1315 if test "x$enable_mc_saving" = "xyes" ; then 
1316   AC_DEFINE(DOMC)
1317 fi
1318 AC_MSG_RESULT([$enable_mc_saving])
1319
1320 dnl ------------------------------------------------------------------
1321 dnl certainly something old, but we keep the define
1322 AC_MSG_CHECKING([whether to use ROWHOUGH])
1323 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1324 AC_ARG_ENABLE(rowhough,
1325   [AC_HELP_STRING([--enable-rowhough],
1326       [use ROWHOUGH ])],
1327   [],[enable_rowhough=no])
1328 if test "x$enable_rowhough" = "xyes" ; then 
1329   AC_DEFINE(USEROWHOUGH)
1330 fi
1331 AC_MSG_RESULT([$enable_rowhough])
1332
1333 dnl ------------------------------------------------------------------
1334 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1335 dnl stand-alone build system. This is most likely something old we can
1336 dnl get rid off later, or do something more reasonable. Since the define
1337 dnl needs the quotes they have to be  escaped. This works well for the
1338 dnl Makefile but not for the configure script. So we have to add the
1339 dnl defines after all the other checks.
1340 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1341 if test ! "x$have_aliroot" = "xno" ; then
1342   CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1343 fi
1344
1345 dnl ------------------------------------------------------------------
1346 dnl
1347 dnl Documentation
1348 dnl
1349 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1350 AC_PATH_PROG(PERL, perl)
1351 AC_PATH_PROG(DOXYGEN, doxygen)
1352 AC_ARG_ENABLE(dot,
1353   [AC_HELP_STRING([--enable-dot],
1354       [enable dot documentation generator])],
1355   [],[enable_dot=no])
1356 HAVE_DOT=NO
1357 DOT_PATH=
1358 AC_PATH_PROG(DOT, dot)
1359 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
1360    HAVE_DOT=YES
1361    DOT_PATH=`dirname $DOT`
1362 fi
1363
1364 AC_MSG_CHECKING([for documentation mode])
1365 AC_ARG_ENABLE(doc,
1366   [AC_HELP_STRING([--disable-doc],
1367       [disable documentation build; monolithic build --enable-doc=mono ])],
1368   [],[enable_doc=modules])
1369
1370 if test "x$DOXYGEN" = "x" ; then
1371    enable_doc=no.doxygen
1372 elif test "x$enable_doc" = "xyes" ; then
1373    enable_doc=yes
1374 elif test ! "x$enable_doc" = "xmono" && \
1375      test ! "x$enable_doc" = "xmodules"  && \
1376      test ! "x$enable_doc" = "xno"; then
1377    enable_doc=no
1378    AC_MSG_WARN([unknown option])
1379 fi
1380 if test "x$enable_doc" = "xno" ; then
1381    enable_doc=off
1382    DOXYGEN=
1383 fi
1384
1385 AC_MSG_RESULT([$enable_doc])
1386 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1387 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
1388 AC_SUBST([HAVE_DOT])
1389 AC_SUBST([DOT_PATH])
1390
1391 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1392 dnl echo $HAVE_SRC_SUBDIR
1393 dnl if ! test -d $HAVE_SRC_SUBDIR; then
1394 dnl   HAVE_SRC_SUBDIR=
1395 dnl fi
1396 dnl AC_SUBST([HAVE_SRC_SUBDIR])
1397
1398 dnl ------------------------------------------------------------------
1399 AC_MSG_NOTICE([---------------------------------------------- ])
1400 AC_MSG_NOTICE([                build summary                  ])
1401 AC_MSG_NOTICE([---------------------------------------------- ])
1402
1403 AC_CONFIG_FILES([Makefile 
1404                  BASE/Makefile
1405                  BASE/setenv.sh
1406                  BASE/setenv.csh
1407                  BASE/HOMER/Makefile
1408                  BASE/util/Makefile
1409                  BASE/util/test/Makefile
1410                  BASE/interface/Makefile
1411                  BASE/test/Makefile
1412                  BASE/interface/test/Makefile
1413                  doc/Makefile
1414                  doc/doxygen.conf
1415                  doc/doxymodule.conf])
1416
1417 dnl AliRoot and installation directory for libraries
1418 dnl 
1419 AC_MSG_NOTICE([AliRoot: $have_aliroot])
1420 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1421 if test "x$have_aliroot" != "xno"; then 
1422   AC_CONFIG_FILES([sim/Makefile  
1423                    rec/Makefile  
1424                    rec/test/Makefile     
1425                    rec/startAliEVE-barrel-tracks.sh
1426                    shuttle/Makefile
1427                    pendolino/Makefile
1428                    benchmark/Makefile
1429                    QA/Makefile
1430                    ])
1431 fi
1432 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1433 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1434 AC_MSG_NOTICE([libdir set to $libdir])
1435 fi
1436
1437 AC_MSG_NOTICE([compile sample library: $enable_sample])
1438 if test "x$enable_sample" = "xyes"; then 
1439   AC_CONFIG_FILES([SampleLib/Makefile])
1440 fi
1441
1442 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1443 if test "x$enable_rcu" = "xyes"; then 
1444   AC_CONFIG_FILES([RCU/Makefile
1445                    RCU/test/Makefile
1446                    ])
1447 fi
1448
1449 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1450 if test "x$enable_tpc" = "xyes"; then 
1451   AC_CONFIG_FILES([TPCLib/Makefile            
1452                    TPCLib/test/Makefile       
1453                    TPCLib/mapping2array.cxx     
1454                    TPCLib/EVE/Makefile
1455                    TPCLib/calibration/Makefile
1456                    ])
1457 fi
1458
1459 AC_MSG_NOTICE([compile CALO library: $enable_calo])
1460 if test "x$enable_calo" = "xyes"; then 
1461   AC_CONFIG_FILES([CALO/Makefile
1462                    CALO/test/Makefile])
1463 fi
1464
1465 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1466 if test "x$enable_phos" = "xyes"; then 
1467   AC_CONFIG_FILES([PHOS/Makefile])
1468 fi
1469
1470 AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1471 if test "x$enable_emcal" = "xyes"; then 
1472   AC_CONFIG_FILES([EMCAL/Makefile])
1473 fi
1474
1475 AC_MSG_NOTICE([compile TRD library: $enable_trd])
1476 if test "x$enable_trd" = "xyes"; then 
1477   AC_CONFIG_FILES([TRD/Makefile])
1478 fi
1479
1480 AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1481 if test "x$enable_fmd" = "xyes"; then 
1482   AC_CONFIG_FILES([FMD/Makefile])
1483 fi
1484
1485 AC_MSG_NOTICE([compile MUON library: $enable_muon])
1486 if test "x$enable_muon" = "xyes"; then 
1487   AC_CONFIG_FILES([MUON/Makefile])
1488 fi
1489
1490 AC_MSG_NOTICE([compile ITS library: $enable_its])
1491 if test "x$enable_its" = "xyes"; then 
1492   AC_CONFIG_FILES([ITS/Makefile])
1493 fi
1494
1495 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1496 if test "x$enable_trigger" = "xyes"; then 
1497   AC_CONFIG_FILES([trigger/Makefile
1498                    trigger/test/Makefile])
1499 fi
1500
1501 AC_MSG_NOTICE([compile global library: $enable_global])
1502 if test "x$enable_global" = "xyes"; then 
1503   AC_CONFIG_FILES([global/Makefile])
1504 fi
1505
1506 AC_MSG_NOTICE([compile jet library: $enable_jet])
1507 if test "x$enable_jet" = "xyes"; then 
1508   AC_CONFIG_FILES([JET/Makefile])
1509 fi
1510
1511 AC_MSG_NOTICE([compile comp library: $enable_comp])
1512 if test "x$enable_comp" = "xyes"; then 
1513   AC_CONFIG_FILES([comp/Makefile])
1514 fi
1515
1516 AC_OUTPUT
1517 dnl
1518 dnl EOF
1519 dnl
1520