]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/configure.ac
- check whether AliLog supports external streams and notification callback
[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 AC_INIT([Alice High Level Trigger] , [0.6-dev], [Matthias.Richter@ift.uib.no], alice-hlt)
9
10 dnl ------------------------------------------------------------------
11 dnl the package from CVS contains the old Makefiles as well. In order to
12 dnl prevent them from becoming overwritten, we require a separate build
13 dnl directory
14 if test "`dirname $0`" = "." ; then
15    AC_ERROR([please run the script from a separate build directory])
16 fi
17
18 dnl ------------------------------------------------------------------
19 AC_CANONICAL_SYSTEM
20 AC_PREFIX_DEFAULT(${PWD})
21 AC_CONFIG_SRCDIR(BASE/AliHLTComponent.cxx)
22 AM_INIT_AUTOMAKE
23 AC_PROG_CC
24 AC_PROG_CXX
25 AC_PROG_LIBTOOL
26
27 AC_DEBUG
28 AC_OPTIMIZATION
29 AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
30
31 dnl ------------------------------------------------------------------
32 dnl A warning posted into the auto-generated files
33 dnl Does NOT concern this file ;-)
34 AUTOGENERATED_WARNING="!!!!!!!    DO NOT EDIT THIS FILE !!!!!!"
35 AC_SUBST([AUTOGENERATED_WARNING])
36
37 dnl ------------------------------------------------------------------
38 dnl
39 dnl Check for ROOT
40 dnl
41 ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
42 AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
43 AC_SUBST([ROOTSYS])
44 ROOTBINDIR=`dirname $ROOTEXEC`
45 AC_SUBST([ROOTBINDIR])
46
47 dnl test for additional required root libraries and headers
48 LIBS='-ldl'
49 if test "x$have_root" = "x1"; then
50   AC_LANG_PUSH(C++)
51   save_CPPFLAGS=$CPPFLAGS
52   save_LDFLAGS=$LDFLAGS
53   save_LIBS=$LIBS
54   CPPFLAGS=`echo $save_CPPFLAGS; for i in ${ROOTINCDIR}; do echo -n "-I$i " ; done`
55   
56   # we check for the libSTEER library which is linked to
57   # - the ROOT libs libGeom libMinuit libVMC libEG
58   # - the AliRoot libESD libRAWData (libRAWDatarec from v4-04-Rev-07)
59   # - ROOT libCint needs also libdl
60   # - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires
61   #   libTreePlayer.so
62   # - from Jan 07 libESD also depends on libXMLIO
63   ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO'
64   for CHECKLIB in $ROOT_CHECKLIBS ; do
65     LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
66     LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
67     AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
68   done
69
70   # TBuffer.h has been made pure virtual in root v5-15-02 and one
71   # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
72   AC_CHECK_HEADERS([TBufferFile.h])
73
74   # TView.h has been made pure virtual right after root v5-15-02 and one
75   # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
76   AC_CHECK_HEADERS([TView3D.h])
77
78   CPPFLAGS=$save_CPPFLAGS
79   LDFLAGS=$save_LDFLAGS
80   LIBS=$save_LIBS
81   AC_LANG_POP(C++)
82 fi
83
84 dnl ------------------------------------------------------------------
85 # TODO: make this configurable through arguments
86 #Define whether you want to run with ALIROOT or only ROOT
87 AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
88 ALIHLT_USEPACKAGE=ALIROOT
89 #ALIHLT_USEPACKAGE=ROOT
90 #ALIHLT_USEPACKAGE=STANDALONE
91 AC_DEFINE(use_aliroot)
92 AC_DEFINE(use_root)
93 CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
94
95 dnl ------------------------------------------------------------------
96 dnl check for AliRoot features
97 AC_LANG_PUSH(C++)
98 have_aliroot=no
99 AC_ARG_WITH(aliroot,[  --with-aliroot   top of the AliRoot installation],
100                     [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
101                     [])
102
103 if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
104   dnl ------------------------------------------------------------------
105   dnl Try to estimate the system architecture
106   case $host_os:$host_cpu in
107   linux*:x86_64*)       alice_target='linuxx8664gcc'            ;;
108   linux*)               alice_target='linux'                    ;;
109   *)                    alice_target='unknown'                  ;;
110   esac
111   if test "x$alice_target" = "xunknown" ; then
112     if test -z $ALICE_TARGET ; then
113     AC_MSG_ERROR([Can not estimate system architecture.
114     To avoid the problem, set the ALICE_TARGET variable appropriately.
115     Please send the following information to Matthias.Richter@ift.uib.no:
116         ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
117     else
118     AC_MSG_NOTICE([Unknown system architecture.
119     Please send the following information to Matthias.Richter@ift.uib.no:
120         ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])  
121     fi
122   else
123     if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
124     AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
125     overriding $ALICE_TARGET by $alice_target])
126     fi
127     ALICE_TARGET=$alice_target
128   fi
129   ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
130   ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
131   ALIROOTINCDIR=${ALICE_ROOT}/include
132   test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
133   test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
134   test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
135 fi
136
137 AC_MSG_CHECKING([for AliRoot])
138 if test "x$ALICE_ROOT" != "x" \
139    && test -d ${ALIROOTBINDIR} \
140    && test -d ${ALIROOTLIBDIR} \
141    && test -d ${ALIROOTINCDIR}; then
142   have_aliroot=$ALICE_ROOT
143 else
144   ALIROOTBINDIR=
145   ALIROOTLIBDIR=
146   ALIROOTINCDIR=
147 fi
148 AC_MSG_RESULT([$have_aliroot])
149
150 if test ! "x$have_aliroot" = "xno" ; then
151   ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
152   ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
153   ALIROOT_LIBS="-lESD $ADD_ROOTLIBS"
154   save_CPPFLAGS=$CPPFLAGS
155   save_LDFLAGS=$LDFLAGS
156   save_LIBS=$LIBS
157   CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
158   LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
159   
160   # check for certain AliRoot libraries/files/features
161   # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
162   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
163   CHECKLIB=CDB
164   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
165
166   # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
167   have_alirawdata=no
168   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
169   CHECKLIB=RAWDatabase
170   AC_CHECK_LIB([$CHECKLIB],[_init],
171         [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
172          LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
173          CHECKLIB=RAWDatarec
174          AC_CHECK_LIB([$CHECKLIB],[_init],
175                [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
176                 AC_DEFINE(HAVE_ALIRAWDATA)
177                 have_alirawdata=$CHECKLIB])],
178         [# second pass with -RAWData
179          CHECKLIB="-lRAWData"
180          LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
181          AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
182                                        #include <AliRawReaderFile.h>
183                                        #include <AliRawReaderDate.h>
184                                        #include <AliRawReaderRoot.h>], 
185                                      [AliRawReaderMemory mreader;
186                                        AliRawReaderFile freader;
187                                        AliRawReaderDate dreader(NULL,0);
188                                        AliRawReaderRoot rreader(NULL,0);])],
189                                      [AC_DEFINE(HAVE_ALIRAWDATA)
190                                        ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
191                                        have_alirawdata=$CHECKLIB], 
192                                       [have_alirawdata=no])
193         ]) dnl AC_CHECK_LIB RAWDatabase
194   AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
195   AC_MSG_RESULT([$have_alirawdata])
196
197   dnl
198   dnl check whether AliLog supports notification callback
199   dnl
200   have_alilog_notification=no
201   AC_MSG_CHECKING([whether AliLog supports notification callback])
202   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>], 
203                                   [AliLog::AliLogNotification fct])],
204                                   [have_alilog_notification=yes], 
205                                   [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
206   AC_MSG_RESULT([$have_alilog_notification])
207
208   dnl
209   dnl Check for the interface of AliExternalTrackParam which has been changed
210   dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
211   dnl or higher)
212   externaltrackparam_version=1
213   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>], 
214                                   [AliExternalTrackParam trackparam;
215                                    Double_t param[[5]]; Double_t covar[[15]];
216                                    trackparam.Set(0., 0., param, covar);])],
217                                   [externaltrackparam_version=2],
218                                   [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
219   AC_MSG_CHECKING(for version of AliExternalTrackParam)
220   AC_MSG_RESULT($externaltrackparam_version)
221
222   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
223   CHECKLIB=STEER
224   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
225
226   if test ! "x$have_aliroot" = "xno" ; then
227     # the HLTTPCLib needs to link agains TPCbase and TPCrec
228     # TPC library for AliTPCParam and AliSimDigits used in 
229     # AliHLTTPCFileHandler.h and AliHLTTPCDisplay.cxx
230     saveALIROOT_CPPFLAGS="$ALIROOT_CPPFLAGS"
231     ALIROOT_CPPFLAGS="$saveALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
232     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
233     have_alitpc=yes
234     AC_MSG_CHECKING(for required classes in TPC libraries)
235     if test ! "x$have_alitpc" = "xno" ; then
236       save_ALIROOT_LIBS=$ALIROOT_LIBS
237       ALIROOT_LIBS="$save_ALIROOT_LIBS -lTPCbase -lTPCrec"
238       LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
239       AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliSimDigits.h>
240                                        #include <AliTPCParam.h>
241                                        #include <AliTPCParamSR.h>
242                                        #include <AliTPCDigitsArray.h>
243                                        #include <AliTPCClustersArray.h>
244                                        #include <AliTPCcluster.h>     
245                                        #include <AliTPCClustersRow.h>], 
246                                       [AliSimDigits dig;
247                                        AliTPCParam param;
248                                        AliTPCParamSR paramsr;
249                                        AliTPCDigitsArray digarray;
250                                        AliTPCClustersArray clustarray;
251                                        AliTPCcluster clust;
252                                        AliTPCClustersRow row])],
253                                       [AC_DEFINE(HAVE_ALITPC)
254                                        saveALIROOT_CPPFLAGS=$ALIROOT_CPPFLAGS
255                                        saveALIROOT_LIBS=$ALIROOT_LIBS], 
256                                       [have_alitpc=no
257                                        ALIROOT_CPPFLAGS=$saveALIROOT_CPPFLAGS
258                                        ALIROOT_LIBS=$saveALIROOT_LIBS])
259     fi
260     AC_MSG_RESULT($have_alitpc)
261   fi
262
263   if test ! "x$have_alirawdata" = "xno" ; then
264     # check for header files needed by the TPCLib/AliHLTTPCDigitReaderPacket
265     # the header file has been moved to the TPC module
266     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
267     # AliRawReaderMemory.h AliRawReaderFile.h already checked
268     #AC_CHECK_HEADERS([AliRawReaderMemory.h AliRawReaderFile.h AliTPCRawStream.h])
269     AC_CHECK_HEADERS([AliTPCRawStream.h])
270   fi
271
272   have_tpc_mapping=no
273   if test ! "x$have_aliroot" = "xno" ; then
274     # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC 
275     # which is stored in the TPC/mapping/Patchx.data files from
276     # AliRoot version v4-04-Release (May 2006)
277     AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
278     TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
279     AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data], 
280                    [have_tpc_mapping=yes
281                     AC_SUBST(TPC_PAD_MAPPING_PATH)
282                     AC_DEFINE(HAVE_TPC_MAPPING)],
283                    [])
284     
285   fi
286   AC_MSG_CHECKING([for TPC mapping layout])
287   AC_MSG_RESULT([$have_tpc_mapping])
288
289   dnl
290   dnl required header files and libraries for the AliHLTPHOS library  
291   dnl
292   have_alicalorawstream=no
293   if test ! "x$have_aliroot" = "xno" ; then
294     # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
295     #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
296     AC_MSG_CHECKING([for AliCaloRawStream.h usability])
297     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
298                                      #include <AliCaloRawStream.h>], 
299                                     [int i])],
300                                     [AC_DEFINE(HAVE_ALICALORAWSTREAM)
301                                      have_alicalorawstream=yes], 
302                                     [])
303     AC_MSG_RESULT([$have_alicalorawstream])
304   fi
305
306   if test "x$have_aliroot" = "xno" ; then
307     ALIROOT_CPPFLAGS=
308     ALIROOT_LDFLAGS=
309     ALIROOT_LIBS=
310   fi
311   CPPFLAGS=$save_CPPFLAGS
312   LDFLAGS=$save_LDFLAGS
313   LIBS=$save_LIBS
314 fi
315 AC_LANG_POP(C++)
316 AC_SUBST([ALICE_ROOT])
317 AC_SUBST([ALIROOT_CPPFLAGS])
318 AC_SUBST([ALIROOT_LDFLAGS])
319 AC_SUBST([ALIROOTBINDIR])
320 AC_SUBST([ALIROOTLIBDIR])
321 AC_SUBST([ALIROOT_LIBS])
322 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
323
324 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
325 HLTBASE_LDFLAGS=
326 AC_SUBST([HLTBASE_CPPFLAGS])
327 AC_SUBST([HLTBASE_LDFLAGS])
328
329 dnl ------------------------------------------------------------------
330 dnl check for the HLT PubSub Framework
331 AC_MSG_CHECKING([for HLT PubSub Framework])
332 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
333                     [],
334                     [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
335 if test -z $with_pubsub || ! test -d $with_pubsub ; then
336   with_pubsub=no
337 fi
338 AC_MSG_RESULT([$with_pubsub])
339 HOMER_VERSION=1
340 HOMER_LIBS=
341
342 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
343 if test "x$with_pubsub" != "xno" ; then
344   save_CPPFLAGS=$CPPFLAGS
345   save_LDFLAGS=$LDFLAGS
346   save_LIBS=$LIBS
347   # currently the different versions of the HLT PubSub framework have a different
348   # directory layout
349   if test -d ${with_pubsub}/include/HOMER ; then
350     # the 'early' location of the include files with separated HOMER sub dirs
351     HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
352   elif test -d ${with_pubsub}/include/Util/HOMER ; then
353     # location for HLT Framework versions after Sep 2006
354     HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
355   elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
356     # fall back if include files were not installed (versions after Sep 06)
357     HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
358   else
359     # fall back if include files were not installed (versions before Sep 06)
360     HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
361   fi
362   HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
363   HOMER_BINDIR="${with_pubsub}/bin/`uname -s`-`uname -m`"
364   HOMER_LIBDIR="${with_pubsub}/lib/`uname -s`-`uname -m`"
365   HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
366   CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
367   LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
368   LIBS="$save_LIBS "
369   with_homer=no
370   AC_LANG_PUSH(C++)
371   AC_CHECK_HEADER([HOMERReader.h],
372     [ AC_CHECK_LIB([HOMER],[_init],
373       [with_homer=yes
374        HOMER_LIBS="-lHOMER"],
375       [ AC_CHECK_LIB([HOMERReader],[_init],
376                      [with_homer=yes
377                       HOMER_LIBS="-lHOMERReader"])])
378       LIBS="$LIBS $HOMER_LIBS"
379       AC_MSG_CHECKING([version of HOMER library])
380       dnl The Homer library has no versioning, so we do our own
381       dnl version           description
382       dnl ----------------------------------------------------------------------
383       dnl   1          inintial version
384       dnl   2          GetBlockStatusFlags added to the interface
385       AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
386                                       [HOMERReader reader("dummy", 0);
387                                        reader.GetBlockStatusFlags(0);])],
388                                       [if test $HOMER_VERSION -lt 2 ; then HOMER_VERSION=2; fi],
389                                       [])
390       AC_MSG_RESULT([$HOMER_VERSION])
391   ]) #AC_CHECK_HEADER([HOMERReader.h])
392   AC_LANG_POP(C++)
393   if test "x$with_homer" = "xno" ; then
394     HOMER_CPPFLAGS=
395     HOMER_LDFLAGS=
396     HOMER_LIBS=
397   else
398     HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
399     AC_DEFINE(HAVE_HOMERREADER)
400   fi
401   CPPFLAGS="$save_CPPFLAGS"
402   LDFLAGS="$save_LDFLAGS"
403   LIBS="$save_LIBS"  
404 fi
405 AC_SUBST([HOMER_CPPFLAGS])
406 AC_SUBST([HOMER_LDFLAGS])
407 AC_SUBST([HOMER_LIBDIR])
408 AC_SUBST([HOMER_BINDIR])
409 AC_SUBST([HOMER_LIBS])
410
411 dnl ------------------------------------------------------------------
412 AC_MSG_CHECKING([whether to impose strict coding conventions])
413 AC_ARG_ENABLE(strict,
414   [AC_HELP_STRING([--enable-strict],
415       [enable coding convention checks ])],
416   [],[enable_strict=no])
417 if test "x$enable_strict" = "xyes" ; then
418    CPPFLAGS="$CPPFLAGS -Weffc++"
419 fi
420 AC_MSG_RESULT([$enable_strict])
421
422 dnl ------------------------------------------------------------------
423 AC_MSG_CHECKING([whether to compile sample library])
424 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
425 AC_ARG_ENABLE(sample,
426   [AC_HELP_STRING([--enable-sample],
427       [compile the sample library ])],
428   [],[enable_sample=yes])
429 if test "x$enable_sample" = "xyes" ; then 
430   AC_DEFINE(HLT_SAMPLE)
431 fi
432 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
433 AC_MSG_RESULT([$enable_sample])
434
435 dnl ------------------------------------------------------------------
436 AC_MSG_CHECKING([whether to compile tpc library])
437 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
438 AC_ARG_ENABLE(tpc,
439   [AC_HELP_STRING([--enable-tpc],
440       [compile the tpc library ])],
441   [],[enable_tpc=yes])
442 if test "x$have_aliroot" = "xno" ; then
443    enable_tpc="no...requires.AliRoot"
444 elif test "x$have_alitpc" = "xno" ; then
445    enable_tpc="no...requires.AliRoot.TPC.libraries"
446 fi
447 if test "x$enable_tpc" = "xyes" ; then 
448   AC_DEFINE(HLT_TPC)
449 fi
450 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
451 AC_MSG_RESULT([$enable_tpc])
452
453 dnl ------------------------------------------------------------------
454 AC_MSG_CHECKING([whether to compile phos library])
455 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
456 AC_ARG_ENABLE(phos,
457   [AC_HELP_STRING([--enable-phos],
458       [compile the phos library ])],
459   [],[enable_phos=yes])
460 if test "x$have_aliroot" = "xno" ; then
461    enable_phos="no...requires.AliRoot"
462 elif ! test "x$have_alicalorawstream" = "xyes"; then
463    enable_phos="no...requires.AliRoot>v4-05-07"
464 fi
465 if test "x$enable_phos" = "xyes" ; then 
466   AC_DEFINE(HLT_PHOS)
467 fi
468 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
469 AC_MSG_RESULT([$enable_phos])
470
471 dnl ------------------------------------------------------------------
472 AC_MSG_CHECKING([whether to compile trd library])
473 AH_TEMPLATE([HLT_TRD],[hlt trd library])
474 AC_ARG_ENABLE(trd,
475   [AC_HELP_STRING([--enable-trd],
476       [compile the trd library ])],
477   [],[enable_trd=yes])
478 if test "x$have_aliroot" = "xno" ; then
479    enable_trd="no...requires.AliRoot"
480 fi
481 if test "x$enable_trd" = "xyes" ; then 
482   AC_DEFINE(HLT_TRD)
483 fi
484 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
485 AC_MSG_RESULT([$enable_trd])
486
487 dnl ------------------------------------------------------------------
488 AC_MSG_CHECKING([whether to disable AliRoot logging])
489 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
490 AC_ARG_ENABLE(aliroot-logging,
491   [AC_HELP_STRING([--disable-aliroot-logging],
492       [disable logging through AliRoot logging methods])],
493   [],[enable_aliroot_logging=no])
494 if test "x$enable_aliroot_logging" != "xno" ; then 
495   AC_DEFINE(NOALIROOT_LOGGING)
496 fi
497 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
498 AC_MSG_RESULT([$enable_aliroot_logging])
499
500 dnl ------------------------------------------------------------------
501 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
502 AH_TEMPLATE([DOMC],[MC saving])
503 AC_ARG_ENABLE(mc-saving,
504   [AC_HELP_STRING([--enable-mc-saving],
505       [enable saving MC data through the chain])],
506   [],[enable_mc_saving=no])
507 if test "x$enable_mc_saving" = "xyes" ; then 
508   AC_DEFINE(DOMC)
509 fi
510 AC_MSG_RESULT([$enable_mc_saving])
511
512 dnl ------------------------------------------------------------------
513 dnl certainly something old, but we keep the define
514 AC_MSG_CHECKING([whether to use ROWHOUGH])
515 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
516 AC_ARG_ENABLE(rowhough,
517   [AC_HELP_STRING([--enable-rowhough],
518       [use ROWHOUGH ])],
519   [],[enable_rowhough=no])
520 if test "x$enable_rowhough" = "xyes" ; then 
521   AC_DEFINE(USEROWHOUGH)
522 fi
523 AC_MSG_RESULT([$enable_rowhough])
524
525 dnl ------------------------------------------------------------------
526 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
527 dnl stand-alone build system. This is most likely something old we can
528 dnl get rid off later, or do something more reasonable. Since the define
529 dnl needs the quotes they have to be  escaped. This works well for the
530 dnl Makefile but not for the configure script. So we have to add the
531 dnl defines after all the other checks.
532 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
533 if test ! "x$have_aliroot" = "xno" ; then
534   CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
535 fi
536
537 dnl ------------------------------------------------------------------
538 dnl
539 dnl Documentation
540 dnl
541 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
542 AC_PATH_PROG(PERL, perl)
543 AC_PATH_PROG(DOXYGEN, doxygen)
544 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
545 HAVE_DOT=NO
546 DOT_PATH=
547 AC_PATH_PROG(DOT, dot)
548 if ! test "x$DOT" = "x" ; then
549    HAVE_DOT=YES
550    DOT_PATH=`dirname $DOT`
551 fi
552 AC_SUBST([HAVE_DOT])
553 AC_SUBST([DOT_PATH])
554
555 dnl ------------------------------------------------------------------
556 dnl inatallation directory for libraries
557 dnl 
558 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
559 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
560 AC_MSG_NOTICE([libdir set to $libdir])
561 fi
562 dnl ------------------------------------------------------------------
563 AC_CONFIG_FILES([Makefile 
564                  BASE/Makefile
565                  BASE/setenv.sh
566                  BASE/setenv.csh
567                  SampleLib/Makefile
568                  TPCLib/Makefile
569                  TPCLib/mapping2array.cxx
570                  TPCLib/OnlineDisplay/Makefile
571                  PHOS/Makefile
572                  TRD/Makefile
573                  doc/Makefile
574                  doc/doxygen.conf])
575
576
577 AC_OUTPUT
578 dnl
579 dnl EOF
580 dnl
581