]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/configure.ac
- include missing header TObjString.h
[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
905     if test "x$enable_trd" = "xyes" ; then
906       have_alitrdrecoparam_r34995=no
907       AC_MSG_CHECKING([checking for AliTRDrecoParam r34995])
908       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDrecoParam.h>], 
909                                          [AliTRDrecoParam param;
910                                           param.SetPIDNeuralNetwork(kFALSE)]);],
911                                          [have_alitrdrecoparam_r34995=yes],
912                                          [AC_DEFINE(HAVE_NOT_ALITRDRECOPARAM_r34995)])
913       AC_MSG_RESULT([$have_alitrdrecoparam_r34995])       
914       
915     fi
916
917     AC_LANG_POP(C++)
918     CPPFLAGS="$save_CPPFLAGS"
919   fi
920 fi
921
922 if test "x$enable_trd" = "xyes" ; then 
923   AC_DEFINE(HLT_TRD)
924   ALITRD_LIBS=$ALIHLTMODULE_LIBS
925 else
926   enable_module=$enable_trd
927 fi
928 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
929 AC_MSG_CHECKING([whether to compile TRD library])
930 AC_MSG_RESULT([$enable_module])
931 AC_SUBST([ALITRD_LIBS])
932
933 dnl ------------------------------------------------------------------
934 AH_TEMPLATE([HLT_FMD],[hlt fmd library])
935
936 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
937 CHECK_HLTMODULE([fmd],
938                 [], [],
939                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
940                 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
941                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
942
943 if test "x$enable_module" = "xmissheader"; then
944   enable_module="no...missing.headers"
945   enable_fmd=$enable_module
946 elif test "x$enable_module" = "xforce"; then
947   enable_fmd="yes"
948 else
949   enable_fmd=$enable_module
950 fi
951
952 if test "x$enable_fmd" = "xyes" ; then
953   AC_DEFINE(HLT_FMD)
954   ALIFMD_LIBS=$ALIHLTMODULE_LIBS
955 else
956   enable_module=$enable_fmd
957 fi
958 AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
959 AC_MSG_CHECKING([whether to compile FMD library])
960 AC_MSG_RESULT([$enable_module])
961 AC_SUBST([ALIFMD_LIBS])
962
963 dnl ------------------------------------------------------------------
964 AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
965
966 ALIMUON_LIBS=
967 CHECK_HLTMODULE([dimuon],
968                 [AliMpExMap.h AliMUONTriggerIO.h], 
969                 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
970                 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
971                 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
972                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
973
974 if test "x$enable_module" = "xmissheader"; then
975   enable_module="no...requires.AliRoot>=v4-08-Release"
976   enable_muon=$enable_module
977 elif test "x$enable_module" = "xforce"; then
978   enable_muon="yes"
979 else
980   enable_muon=$enable_module
981 fi
982
983 if test "x$enable_muon" = "xyes" ; then 
984   AC_DEFINE(HLT_MUON)
985   ALIMUON_LIBS=$ALIHLTMODULE_LIBS
986   AC_LANG_PUSH(C++)
987   save_CPPFLAGS="$CPPFLAGS"
988
989   dnl
990   dnl Check for functionality GetRawStream AliMUONDigitMaker.h
991   dnl 
992   have_muon_digitmaker_getrawstream=no
993   AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
994     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
995     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
996     LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
997     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>], 
998                                     [AliMUONDigitMaker dm;
999                                        dm.GetRawStreamTracker();])],
1000                                     [have_muon_digitmaker_getrawstream=yes], 
1001                                       [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
1002     LIBS=$save_LIBS
1003   AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
1004
1005   dnl
1006   dnl Check for AliMpPad::GetPositionX/Y
1007   dnl change of implementation in MUON code
1008   dnl revision 31769, Wed Apr 1 2009
1009   dnl 
1010   have_muon_alimppad_getposition=no
1011   AC_MSG_CHECKING(for GetPosition methods of AliMpPad)
1012     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON/mapping"
1013     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
1014     LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
1015     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMpPad.h>], 
1016                                     [AliMpPad pad;
1017                                      pad.GetPositionX();])],
1018                                     [have_muon_alimppad_getposition=yes], 
1019                                       [AC_DEFINE(HAVE_NOT_MUON_ALIMPPAD_GETPOSITION)])
1020     LIBS=$save_LIBS
1021   AC_MSG_RESULT([$have_muon_alimppad_getposition])
1022
1023   CPPFLAGS="$save_CPPFLAGS"
1024
1025   AC_LANG_POP(C++)
1026 else
1027   enable_module=$enable_muon
1028 fi
1029 AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
1030 AC_MSG_CHECKING([whether to compile MUON library])
1031 AC_MSG_RESULT([$enable_module])
1032 AC_SUBST([ALIMUON_LIBS])
1033
1034 dnl ------------------------------------------------------------------
1035 AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
1036
1037 ALITRIGGER_LIBS=
1038 CHECK_HLTMODULE([trigger],
1039                 [], [$ALIROOT_CPPFLAGS],
1040                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1041                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
1042                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1043
1044 if test "x$enable_module" = "xmissheader"; then
1045   enable_module="no...header.missing"
1046   enable_trigger=$enable_module
1047 elif test "x$enable_module" = "xforce"; then
1048   enable_trigger="yes"
1049 else
1050   enable_trigger=$enable_module
1051 fi
1052
1053 if test "x$enable_trigger" = "xyes" ; then 
1054   AC_DEFINE(HLT_TRIGGER)
1055   ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
1056 else
1057   enable_module=$enable_trigger
1058 fi
1059 AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
1060 AC_MSG_CHECKING([whether to compile Trigger library])
1061 AC_MSG_RESULT([$enable_module])
1062 AC_SUBST([ALITRIGGER_LIBS])
1063
1064 dnl ------------------------------------------------------------------
1065 AH_TEMPLATE([HLT_GLOBAL],[hlt global library])
1066
1067 ALIGLOBAL_LIBS=
1068 CHECK_HLTMODULE([global],
1069                 [], [$ALIROOT_CPPFLAGS],
1070                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1071                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
1072                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1073
1074 if test "x$enable_module" = "xmissheader"; then
1075   enable_module="no...header.missing"
1076   enable_global=$enable_module
1077 elif test "x$enable_module" = "xforce"; then
1078   enable_global="yes"
1079 else
1080   enable_global=$enable_module
1081   if test "x$enable_global" = "xyes" ; then
1082     AC_LANG_PUSH(C++)
1083     save_CPPFLAGS="$CPPFLAGS"
1084     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
1085     AC_MSG_CHECKING([for required functions in AliESDtrack])
1086     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliESDtrack.h>], 
1087                                        [AliESDtrack t;
1088                                        t.SetGlobalChi2(0)])],
1089                                        [], 
1090                                        [enable_global="no...requires.AliRoot>v4-17-Release"])
1091     AC_MSG_RESULT([$enable_global])       
1092     AC_LANG_POP(C++)
1093     CPPFLAGS="$save_CPPFLAGS"
1094   fi
1095 fi
1096
1097 if test "x$enable_global" = "xyes" ; then 
1098   AC_DEFINE(HLT_GLOBAL)
1099   ALIGLOBAL_LIBS=$ALIHLTMODULE_LIBS
1100 else
1101   enable_module=$enable_global
1102 fi
1103 AM_CONDITIONAL(EN_HLT_GLOBAL, test x$enable_global = xyes)
1104 AC_MSG_CHECKING([whether to compile Global library])
1105 AC_MSG_RESULT([$enable_module])
1106 AC_SUBST([ALIGLOBAL_LIBS])
1107
1108 dnl ------------------------------------------------------------------
1109 AH_TEMPLATE([HLT_JET],[hlt jet library])
1110
1111 ALIFASTJET_HEADER=
1112 ALIFASTJET_INCFLAGS=
1113 ALIFASTJET_LIBS=
1114 ALIFASTJET_LDFLAGS=
1115 AC_ARG_WITH(fastjet, [installation path of the FASTJET package],
1116                      [ test "x$with_fastjet" != "xno" && export FASTJET=$with_fastjet],
1117                      [ test -n $FASTJET && with_fastjet=$FASTJET ])
1118
1119 if test "x$with_fastjet" != "x" && test "x$with_fastjet" != "xno" ; then
1120   ALIFASTJET_INCFLAGS="-I${with_fastjet}/include"
1121   ALIFASTJET_HEADER="PseudoJet.hh"
1122   ALIFASTJET_LDFLAGS="-L${with_fastjet}/lib"
1123   ALIFASTJET_LIBS="CGAL fastjet"
1124 else
1125   with_fastjet=no
1126 fi
1127
1128 CHECK_HLTMODULE([jet],
1129         [$ALIFASTJET_HEADER], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/JETAN $ALIFASTJET_INCFLAGS],
1130         [$ALIFASTJET_LIBS], [-L$ROOTLIBDIR $ALIFASTJET_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS],
1131         [AOD ESD ANALYSIS ANALYSISalice JETAN JETANMC], 
1132         [-L$ROOTLIBDIR $ALIROOT_LDFLAGS -L$ALICE_ROOT/lib/tgt_$ALICE_TARGET],
1133         [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1134
1135 if test "x$enable_module" = "xmissheader"; then
1136   enable_module="no...header.missing"
1137   enable_jet=$enable_module
1138 elif test "x$enable_module" = "xforce"; then
1139   enable_jet="yes"
1140 else
1141   enable_jet=$enable_module
1142 fi
1143
1144 if test "x$enable_jet" = "xyes" ; then
1145   AC_DEFINE(HLT_JET)
1146   ALIJET_LIBS="$ALIHLTMODULE_LIBS"
1147   
1148   if test "x$with_fastjet" != "xno"; then
1149      AC_DEFINE(HAVE_FASTJET)
1150      AC_DEFINE(WITHFASTJET)
1151      ALIJET_LIBS="$ALIJET_LIBS -L$FASTJET_LDFLAGS"
1152   fi
1153   AC_MSG_CHECKING([compilation with FASTJET package])
1154   AC_MSG_RESULT($with_fastjet)
1155
1156 else
1157   enable_module=$enable_jet
1158 fi
1159
1160 AM_CONDITIONAL(EN_HLT_JET, test x$enable_jet = xyes)
1161 AC_MSG_CHECKING([whether to compile Jet library])
1162 AC_MSG_RESULT([$enable_module])
1163 AC_SUBST([ALIJET_LIBS])
1164
1165 dnl ------------------------------------------------------------------
1166 AH_TEMPLATE([HLT_ITS],[hlt its library])
1167
1168 ALIITS_LIBS=
1169 CHECK_HLTMODULE([its],
1170                 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
1171                 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1172                 [ITSbase ITSrec ITSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
1173                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1174
1175 if test "x$enable_module" = "xmissheader"; then
1176   enable_module="no...header.missing"
1177   enable_its=$enable_module
1178 elif test "x$enable_module" = "xforce"; then
1179   enable_its="yes"
1180 else
1181   enable_its=$enable_module
1182   if test "x$enable_its" = "xyes" ; then
1183     AC_LANG_PUSH(C++)
1184     save_CPPFLAGS="$CPPFLAGS"
1185     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
1186     # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
1187     # require AliVertexer::GetNominalPos()
1188     AC_MSG_CHECKING([for required functions in AliITSVertexer])
1189     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>], 
1190                                        [AliITSVertexerZ v;
1191                                        v.GetNominalPos()])],
1192                                        [], 
1193                                        [enable_its="no...requires.AliRoot>v4-13-Release"])
1194     AC_MSG_RESULT([$enable_its])       
1195     AC_LANG_POP(C++)
1196     CPPFLAGS="$save_CPPFLAGS"
1197   fi
1198 fi
1199
1200 if test "x$enable_its" = "xyes" ; then 
1201   AC_DEFINE(HLT_ITS)
1202   ALIITS_LIBS=$ALIHLTMODULE_LIBS
1203 else
1204   enable_module=$enable_its
1205 fi
1206 AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
1207 AC_MSG_CHECKING([whether to compile ITS library])
1208 AC_MSG_RESULT([$enable_module])
1209 AC_SUBST([ALIITS_LIBS])
1210
1211 dnl ------------------------------------------------------------------
1212 AH_TEMPLATE([HLT_COMP],[hlt comp library])
1213
1214 ALICOMP_LIBS=
1215 CHECK_HLTMODULE([comp],
1216                 [], [$ALIROOT_CPPFLAGS],
1217                 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
1218                 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], 
1219                 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
1220
1221 if test "x$enable_module" = "xmissheader"; then
1222   enable_module="no...header.missing"
1223   enable_comp=$enable_module
1224 elif test "x$enable_module" = "xforce"; then
1225   enable_comp="yes"
1226 else
1227   enable_comp=$enable_module
1228 fi
1229
1230 if test "x$enable_comp" = "xyes" ; then 
1231   AC_DEFINE(HLT_COMP)
1232   ALICOMP_LIBS=$ALIHLTMODULE_LIBS
1233 else
1234   enable_module=$enable_comp
1235 fi
1236 AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
1237 AC_MSG_CHECKING([whether to compile comp library])
1238 AC_MSG_RESULT([$enable_module])
1239 AC_SUBST([ALICOMP_LIBS])
1240
1241 dnl ------------------------------------------------------------------
1242 AC_MSG_CHECKING([whether to disable AliRoot logging])
1243 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
1244 AC_ARG_ENABLE(aliroot-logging,
1245   [AC_HELP_STRING([--disable-aliroot-logging],
1246       [disable logging through AliRoot logging methods])],
1247   [],[enable_aliroot_logging=no])
1248 if test "x$have_aliroot" = "xno" ; then
1249   enable_aliroot_logging=yes # this means 'disable'
1250 fi
1251 if test "x$enable_aliroot_logging" != "xno" ; then 
1252   AC_DEFINE(NOALIROOT_LOGGING)
1253 fi
1254 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1255 AC_MSG_RESULT([$enable_aliroot_logging])
1256
1257 dnl ------------------------------------------------------------------
1258 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1259 AH_TEMPLATE([DOMC],[MC saving])
1260 AC_ARG_ENABLE(mc-saving,
1261   [AC_HELP_STRING([--enable-mc-saving],
1262       [enable saving MC data through the chain])],
1263   [],[enable_mc_saving=no])
1264 if test "x$enable_mc_saving" = "xyes" ; then 
1265   AC_DEFINE(DOMC)
1266 fi
1267 AC_MSG_RESULT([$enable_mc_saving])
1268
1269 dnl ------------------------------------------------------------------
1270 dnl certainly something old, but we keep the define
1271 AC_MSG_CHECKING([whether to use ROWHOUGH])
1272 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1273 AC_ARG_ENABLE(rowhough,
1274   [AC_HELP_STRING([--enable-rowhough],
1275       [use ROWHOUGH ])],
1276   [],[enable_rowhough=no])
1277 if test "x$enable_rowhough" = "xyes" ; then 
1278   AC_DEFINE(USEROWHOUGH)
1279 fi
1280 AC_MSG_RESULT([$enable_rowhough])
1281
1282 dnl ------------------------------------------------------------------
1283 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1284 dnl stand-alone build system. This is most likely something old we can
1285 dnl get rid off later, or do something more reasonable. Since the define
1286 dnl needs the quotes they have to be  escaped. This works well for the
1287 dnl Makefile but not for the configure script. So we have to add the
1288 dnl defines after all the other checks.
1289 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1290 if test ! "x$have_aliroot" = "xno" ; then
1291   CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1292 fi
1293
1294 dnl ------------------------------------------------------------------
1295 dnl
1296 dnl Documentation
1297 dnl
1298 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1299 AC_PATH_PROG(PERL, perl)
1300 AC_PATH_PROG(DOXYGEN, doxygen)
1301 AC_ARG_ENABLE(dot,
1302   [AC_HELP_STRING([--enable-dot],
1303       [enable dot documentation generator])],
1304   [],[enable_dot=no])
1305 HAVE_DOT=NO
1306 DOT_PATH=
1307 AC_PATH_PROG(DOT, dot)
1308 if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
1309    HAVE_DOT=YES
1310    DOT_PATH=`dirname $DOT`
1311 fi
1312
1313 AC_MSG_CHECKING([for documentation mode])
1314 AC_ARG_ENABLE(doc,
1315   [AC_HELP_STRING([--disable-doc],
1316       [disable documentation build; monolithic build --enable-doc=mono ])],
1317   [],[enable_doc=modules])
1318
1319 if test "x$DOXYGEN" = "x" ; then
1320    enable_doc=no.doxygen
1321 elif test "x$enable_doc" = "xyes" ; then
1322    enable_doc=yes
1323 elif test ! "x$enable_doc" = "xmono" && \
1324      test ! "x$enable_doc" = "xmodules"  && \
1325      test ! "x$enable_doc" = "xno"; then
1326    enable_doc=no
1327    AC_MSG_WARN([unknown option])
1328 fi
1329 if test "x$enable_doc" = "xno" ; then
1330    enable_doc=off
1331    DOXYGEN=
1332 fi
1333
1334 AC_MSG_RESULT([$enable_doc])
1335 AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1336 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
1337 AC_SUBST([HAVE_DOT])
1338 AC_SUBST([DOT_PATH])
1339
1340 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1341 dnl echo $HAVE_SRC_SUBDIR
1342 dnl if ! test -d $HAVE_SRC_SUBDIR; then
1343 dnl   HAVE_SRC_SUBDIR=
1344 dnl fi
1345 dnl AC_SUBST([HAVE_SRC_SUBDIR])
1346
1347 dnl ------------------------------------------------------------------
1348 AC_MSG_NOTICE([---------------------------------------------- ])
1349 AC_MSG_NOTICE([                build summary                  ])
1350 AC_MSG_NOTICE([---------------------------------------------- ])
1351
1352 AC_CONFIG_FILES([Makefile 
1353                  BASE/Makefile
1354                  BASE/setenv.sh
1355                  BASE/setenv.csh
1356                  BASE/HOMER/Makefile
1357                  BASE/util/Makefile
1358                  BASE/util/test/Makefile
1359                  BASE/interface/Makefile
1360                  BASE/test/Makefile
1361                  BASE/interface/test/Makefile
1362                  doc/Makefile
1363                  doc/doxygen.conf
1364                  doc/doxymodule.conf])
1365
1366 dnl AliRoot and installation directory for libraries
1367 dnl 
1368 AC_MSG_NOTICE([AliRoot: $have_aliroot])
1369 AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1370 if test "x$have_aliroot" != "xno"; then 
1371   AC_CONFIG_FILES([sim/Makefile  
1372                    rec/Makefile  
1373                    rec/test/Makefile     
1374                    rec/startAliEVE-barrel-tracks.sh
1375                    shuttle/Makefile
1376                    pendolino/Makefile
1377                    benchmark/Makefile
1378                    QA/Makefile
1379                    ])
1380 fi
1381 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1382 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1383 AC_MSG_NOTICE([libdir set to $libdir])
1384 fi
1385
1386 AC_MSG_NOTICE([compile sample library: $enable_sample])
1387 if test "x$enable_sample" = "xyes"; then 
1388   AC_CONFIG_FILES([SampleLib/Makefile])
1389 fi
1390
1391 AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1392 if test "x$enable_rcu" = "xyes"; then 
1393   AC_CONFIG_FILES([RCU/Makefile
1394                    RCU/test/Makefile
1395                    ])
1396 fi
1397
1398 AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1399 if test "x$enable_tpc" = "xyes"; then 
1400   AC_CONFIG_FILES([TPCLib/Makefile            
1401                    TPCLib/test/Makefile       
1402                    TPCLib/mapping2array.cxx     
1403                    TPCLib/EVE/Makefile
1404                    TPCLib/calibration/Makefile
1405                    ])
1406 fi
1407
1408 AC_MSG_NOTICE([compile CALO library: $enable_calo])
1409 if test "x$enable_calo" = "xyes"; then 
1410   AC_CONFIG_FILES([CALO/Makefile
1411                    CALO/test/Makefile])
1412 fi
1413
1414 AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1415 if test "x$enable_phos" = "xyes"; then 
1416   AC_CONFIG_FILES([PHOS/Makefile])
1417 fi
1418
1419 AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1420 if test "x$enable_emcal" = "xyes"; then 
1421   AC_CONFIG_FILES([EMCAL/Makefile])
1422 fi
1423
1424 AC_MSG_NOTICE([compile TRD library: $enable_trd])
1425 if test "x$enable_trd" = "xyes"; then 
1426   AC_CONFIG_FILES([TRD/Makefile])
1427 fi
1428
1429 AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1430 if test "x$enable_fmd" = "xyes"; then 
1431   AC_CONFIG_FILES([FMD/Makefile])
1432 fi
1433
1434 AC_MSG_NOTICE([compile MUON library: $enable_muon])
1435 if test "x$enable_muon" = "xyes"; then 
1436   AC_CONFIG_FILES([MUON/Makefile])
1437 fi
1438
1439 AC_MSG_NOTICE([compile ITS library: $enable_its])
1440 if test "x$enable_its" = "xyes"; then 
1441   AC_CONFIG_FILES([ITS/Makefile])
1442 fi
1443
1444 AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1445 if test "x$enable_trigger" = "xyes"; then 
1446   AC_CONFIG_FILES([trigger/Makefile
1447                    trigger/test/Makefile])
1448 fi
1449
1450 AC_MSG_NOTICE([compile global library: $enable_global])
1451 if test "x$enable_global" = "xyes"; then 
1452   AC_CONFIG_FILES([global/Makefile])
1453 fi
1454
1455 AC_MSG_NOTICE([compile jet library: $enable_jet])
1456 if test "x$enable_jet" = "xyes"; then 
1457   AC_CONFIG_FILES([JET/Makefile])
1458 fi
1459
1460 AC_MSG_NOTICE([compile comp library: $enable_comp])
1461 if test "x$enable_comp" = "xyes"; then 
1462   AC_CONFIG_FILES([comp/Makefile])
1463 fi
1464
1465 AC_OUTPUT
1466 dnl
1467 dnl EOF
1468 dnl
1469