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