HLT sample applications
[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   # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
162   have_alirawdata=no
163   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
164   CHECKLIB=RAWDatabase
165   AC_CHECK_LIB([$CHECKLIB],[_init],
166         [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
167          LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
168          CHECKLIB=RAWDatarec
169          AC_CHECK_LIB([$CHECKLIB],[_init],
170                [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
171                 AC_DEFINE(HAVE_ALIRAWDATA)
172                 have_alirawdata=$CHECKLIB])],
173         [# second pass with -RAWData
174          CHECKLIB="-lRAWData"
175          LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
176          AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
177                                        #include <AliRawReaderFile.h>
178                                        #include <AliRawReaderDate.h>
179                                        #include <AliRawReaderRoot.h>], 
180                                      [AliRawReaderMemory mreader;
181                                        AliRawReaderFile freader;
182                                        AliRawReaderDate dreader(NULL,0);
183                                        AliRawReaderRoot rreader(NULL,0);])],
184                                      [AC_DEFINE(HAVE_ALIRAWDATA)
185                                        ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
186                                        have_alirawdata=$CHECKLIB], 
187                                       [have_alirawdata=no])
188         ]) dnl AC_CHECK_LIB RAWDatabase
189   AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
190   AC_MSG_RESULT([$have_alirawdata])
191
192   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
193   CHECKLIB=AOD
194   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
195
196   # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
197   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
198   CHECKLIB=CDB
199   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
200
201   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
202   CHECKLIB=STEER
203   AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
204
205   dnl
206   dnl check whether AliLog supports notification callback
207   dnl
208   LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
209   have_alilog_notification=no
210   AC_MSG_CHECKING([whether AliLog supports notification callback])
211   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>], 
212                                   [AliLog::AliLogNotification fct])],
213                                   [have_alilog_notification=yes], 
214                                   [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
215   AC_MSG_RESULT([$have_alilog_notification])
216
217   dnl
218   dnl Check for the interface of AliExternalTrackParam which has been changed
219   dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
220   dnl or higher)
221   externaltrackparam_version=1
222   AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>], 
223                                   [AliExternalTrackParam trackparam;
224                                    Double_t param[[5]]; Double_t covar[[15]];
225                                    trackparam.Set(0., 0., param, covar);])],
226                                   [externaltrackparam_version=2],
227                                   [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
228   AC_MSG_CHECKING(for version of AliExternalTrackParam)
229   AC_MSG_RESULT($externaltrackparam_version)
230
231   if test ! "x$have_aliroot" = "xno" ; then
232     # the HLTTPCLib needs to link agains TPCbase and TPCrec
233     # TPC library for AliTPCParam and AliSimDigits used in 
234     # AliHLTTPCFileHandler.h and AliHLTTPCDisplay.cxx
235     saveALIROOT_CPPFLAGS="$ALIROOT_CPPFLAGS"
236     ALIROOT_CPPFLAGS="$saveALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
237     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
238     have_alitpc=yes
239     AC_MSG_CHECKING(for required classes in TPC libraries)
240     if test ! "x$have_alitpc" = "xno" ; then
241       save_ALIROOT_LIBS=$ALIROOT_LIBS
242       ALIROOT_LIBS="$save_ALIROOT_LIBS -lTPCbase -lTPCrec"
243       LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
244       AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliSimDigits.h>
245                                        #include <AliTPCParam.h>
246                                        #include <AliTPCParamSR.h>
247                                        #include <AliTPCDigitsArray.h>
248                                        #include <AliTPCClustersArray.h>
249                                        #include <AliTPCcluster.h>     
250                                        #include <AliTPCClustersRow.h>], 
251                                       [AliSimDigits dig;
252                                        AliTPCParam param;
253                                        AliTPCParamSR paramsr;
254                                        AliTPCDigitsArray digarray;
255                                        AliTPCClustersArray clustarray;
256                                        AliTPCcluster clust;
257                                        AliTPCClustersRow row])],
258                                       [AC_DEFINE(HAVE_ALITPC)
259                                        saveALIROOT_CPPFLAGS=$ALIROOT_CPPFLAGS
260                                        saveALIROOT_LIBS=$ALIROOT_LIBS], 
261                                       [have_alitpc=no
262                                        ALIROOT_CPPFLAGS=$saveALIROOT_CPPFLAGS
263                                        ALIROOT_LIBS=$saveALIROOT_LIBS])
264     fi
265     AC_MSG_RESULT($have_alitpc)
266   fi
267
268   if test ! "x$have_alirawdata" = "xno" ; then
269     # check for header files needed by the TPCLib/AliHLTTPCDigitReaderPacket
270     # the header file has been moved to the TPC module
271     CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
272     # AliRawReaderMemory.h AliRawReaderFile.h already checked
273     #AC_CHECK_HEADERS([AliRawReaderMemory.h AliRawReaderFile.h AliTPCRawStream.h])
274     AC_CHECK_HEADERS([AliTPCRawStream.h])
275   fi
276
277   have_tpc_mapping=no
278   if test ! "x$have_aliroot" = "xno" ; then
279     # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC 
280     # which is stored in the TPC/mapping/Patchx.data files from
281     # AliRoot version v4-04-Release (May 2006)
282     AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
283     TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
284     AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data], 
285                    [have_tpc_mapping=yes
286                     AC_SUBST(TPC_PAD_MAPPING_PATH)
287                     AC_DEFINE(HAVE_TPC_MAPPING)],
288                    [])
289     
290   fi
291   AC_MSG_CHECKING([for TPC mapping layout])
292   AC_MSG_RESULT([$have_tpc_mapping])
293
294   dnl
295   dnl required header files and libraries for the AliHLTPHOS library  
296   dnl
297   have_alicalorawstream=no
298   if test ! "x$have_aliroot" = "xno" ; then
299     # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
300     #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
301     AC_MSG_CHECKING([for AliCaloRawStream.h usability])
302     AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
303                                      #include <AliCaloRawStream.h>], 
304                                     [int i])],
305                                     [AC_DEFINE(HAVE_ALICALORAWSTREAM)
306                                      have_alicalorawstream=yes], 
307                                     [])
308     AC_MSG_RESULT([$have_alicalorawstream])
309   fi
310
311   if test "x$have_aliroot" = "xno" ; then
312     ALIROOT_CPPFLAGS=
313     ALIROOT_LDFLAGS=
314     ALIROOT_LIBS=
315   fi
316   CPPFLAGS=$save_CPPFLAGS
317   LDFLAGS=$save_LDFLAGS
318   LIBS=$save_LIBS
319 fi
320 AC_LANG_POP(C++)
321 AC_SUBST([ALICE_ROOT])
322 AC_SUBST([ALIROOT_CPPFLAGS])
323 AC_SUBST([ALIROOT_LDFLAGS])
324 AC_SUBST([ALIROOTBINDIR])
325 AC_SUBST([ALIROOTLIBDIR])
326 AC_SUBST([ALIROOT_LIBS])
327 AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
328
329 HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
330 HLTBASE_LDFLAGS=
331 AC_SUBST([HLTBASE_CPPFLAGS])
332 AC_SUBST([HLTBASE_LDFLAGS])
333
334 dnl ------------------------------------------------------------------
335 dnl check for the HLT PubSub Framework
336 AC_MSG_CHECKING([for HLT PubSub Framework])
337 AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
338                     [],
339                     [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
340 if test -z $with_pubsub || ! test -d $with_pubsub ; then
341   with_pubsub=no
342 fi
343 AC_MSG_RESULT([$with_pubsub])
344 HOMER_VERSION=1
345 HOMER_LIBS=
346
347 AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
348 if test "x$with_pubsub" != "xno" ; then
349   save_CPPFLAGS=$CPPFLAGS
350   save_LDFLAGS=$LDFLAGS
351   save_LIBS=$LIBS
352   # currently the different versions of the HLT PubSub framework have a different
353   # directory layout
354   if test -d ${with_pubsub}/include/HOMER ; then
355     # the 'early' location of the include files with separated HOMER sub dirs
356     HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
357   elif test -d ${with_pubsub}/include/Util/HOMER ; then
358     # location for HLT Framework versions after Sep 2006
359     HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
360   elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
361     # fall back if include files were not installed (versions after Sep 06)
362     HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
363   else
364     # fall back if include files were not installed (versions before Sep 06)
365     HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
366   fi
367   HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
368   HOMER_BINDIR="${with_pubsub}/bin/`uname -s`-`uname -m`"
369   HOMER_LIBDIR="${with_pubsub}/lib/`uname -s`-`uname -m`"
370   HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
371   CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
372   LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
373   LIBS="$save_LIBS "
374   with_homer=no
375   AC_LANG_PUSH(C++)
376   AC_CHECK_HEADER([HOMERReader.h],
377     [ AC_CHECK_LIB([HOMER],[_init],
378       [with_homer=yes
379        HOMER_LIBS="-lHOMER"],
380       [ AC_CHECK_LIB([HOMERReader],[_init],
381                      [with_homer=yes
382                       HOMER_LIBS="-lHOMERReader"])])
383       LIBS="$LIBS $HOMER_LIBS"
384       AC_MSG_CHECKING([version of HOMER library])
385       dnl The Homer library has no versioning, so we do our own
386       dnl version           description
387       dnl ----------------------------------------------------------------------
388       dnl   1          inintial version
389       dnl   2          GetBlockStatusFlags added to the interface
390       AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
391                                       [HOMERReader reader("dummy", 0);
392                                        reader.GetBlockStatusFlags(0);])],
393                                       [if test $HOMER_VERSION -lt 2 ; then HOMER_VERSION=2; fi],
394                                       [])
395       AC_MSG_RESULT([$HOMER_VERSION])
396   ]) #AC_CHECK_HEADER([HOMERReader.h])
397   AC_LANG_POP(C++)
398   if test "x$with_homer" = "xno" ; then
399     HOMER_CPPFLAGS=
400     HOMER_LDFLAGS=
401     HOMER_LIBS=
402   else
403     HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
404     AC_DEFINE(HAVE_HOMERREADER)
405   fi
406   CPPFLAGS="$save_CPPFLAGS"
407   LDFLAGS="$save_LDFLAGS"
408   LIBS="$save_LIBS"  
409 fi
410 AC_SUBST([HOMER_CPPFLAGS])
411 AC_SUBST([HOMER_LDFLAGS])
412 AC_SUBST([HOMER_LIBDIR])
413 AC_SUBST([HOMER_BINDIR])
414 AC_SUBST([HOMER_LIBS])
415
416 dnl ------------------------------------------------------------------
417 AC_MSG_CHECKING([whether to impose strict coding conventions])
418 AC_ARG_ENABLE(strict,
419   [AC_HELP_STRING([--enable-strict],
420       [enable coding convention checks ])],
421   [],[enable_strict=no])
422 if test "x$enable_strict" = "xyes" ; then
423    CPPFLAGS="$CPPFLAGS -Weffc++"
424 fi
425 AC_MSG_RESULT([$enable_strict])
426
427 dnl ------------------------------------------------------------------
428 AC_MSG_CHECKING([whether to compile sample library])
429 AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
430 AC_ARG_ENABLE(sample,
431   [AC_HELP_STRING([--enable-sample],
432       [compile the sample library ])],
433   [],[enable_sample=yes])
434 if test "x$enable_sample" = "xyes" ; then 
435   AC_DEFINE(HLT_SAMPLE)
436 fi
437 AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
438 AC_MSG_RESULT([$enable_sample])
439
440 dnl ------------------------------------------------------------------
441 AC_MSG_CHECKING([whether to compile tpc library])
442 AH_TEMPLATE([HLT_TPC],[hlt tpc library])
443 AC_ARG_ENABLE(tpc,
444   [AC_HELP_STRING([--enable-tpc],
445       [compile the tpc library ])],
446   [],[enable_tpc=yes])
447 if test "x$have_aliroot" = "xno" ; then
448    enable_tpc="no...requires.AliRoot"
449 elif test "x$have_alitpc" = "xno" ; then
450    enable_tpc="no...requires.AliRoot.TPC.libraries"
451 fi
452 if test "x$enable_tpc" = "xyes" ; then 
453   AC_DEFINE(HLT_TPC)
454 fi
455 AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
456 AC_MSG_RESULT([$enable_tpc])
457
458 dnl ------------------------------------------------------------------
459 AC_MSG_CHECKING([whether to compile phos library])
460 AH_TEMPLATE([HLT_PHOS],[hlt phos library])
461 AC_ARG_ENABLE(phos,
462   [AC_HELP_STRING([--enable-phos],
463       [compile the phos library ])],
464   [],[enable_phos=yes])
465 if test "x$have_aliroot" = "xno" ; then
466    enable_phos="no...requires.AliRoot"
467 elif ! test "x$have_alicalorawstream" = "xyes"; then
468    enable_phos="no...requires.AliRoot>v4-05-07"
469 fi
470 if test "x$enable_phos" = "xyes" ; then 
471   AC_DEFINE(HLT_PHOS)
472 fi
473 AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
474 AC_MSG_RESULT([$enable_phos])
475
476 dnl ------------------------------------------------------------------
477 AC_MSG_CHECKING([whether to compile trd library])
478 AH_TEMPLATE([HLT_TRD],[hlt trd library])
479 AC_ARG_ENABLE(trd,
480   [AC_HELP_STRING([--enable-trd],
481       [compile the trd library ])],
482   [],[enable_trd=yes])
483 if test "x$have_aliroot" = "xno" ; then
484    enable_trd="no...requires.AliRoot"
485 fi
486 if test "x$enable_trd" = "xyes" ; then 
487   AC_DEFINE(HLT_TRD)
488 fi
489 AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
490 AC_MSG_RESULT([$enable_trd])
491
492 dnl ------------------------------------------------------------------
493 AC_MSG_CHECKING([whether to disable AliRoot logging])
494 AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
495 AC_ARG_ENABLE(aliroot-logging,
496   [AC_HELP_STRING([--disable-aliroot-logging],
497       [disable logging through AliRoot logging methods])],
498   [],[enable_aliroot_logging=no])
499 if test "x$enable_aliroot_logging" != "xno" ; then 
500   AC_DEFINE(NOALIROOT_LOGGING)
501 fi
502 AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
503 AC_MSG_RESULT([$enable_aliroot_logging])
504
505 dnl ------------------------------------------------------------------
506 AC_MSG_CHECKING([whether to enable saving MC data through the chain])
507 AH_TEMPLATE([DOMC],[MC saving])
508 AC_ARG_ENABLE(mc-saving,
509   [AC_HELP_STRING([--enable-mc-saving],
510       [enable saving MC data through the chain])],
511   [],[enable_mc_saving=no])
512 if test "x$enable_mc_saving" = "xyes" ; then 
513   AC_DEFINE(DOMC)
514 fi
515 AC_MSG_RESULT([$enable_mc_saving])
516
517 dnl ------------------------------------------------------------------
518 dnl certainly something old, but we keep the define
519 AC_MSG_CHECKING([whether to use ROWHOUGH])
520 AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
521 AC_ARG_ENABLE(rowhough,
522   [AC_HELP_STRING([--enable-rowhough],
523       [use ROWHOUGH ])],
524   [],[enable_rowhough=no])
525 if test "x$enable_rowhough" = "xyes" ; then 
526   AC_DEFINE(USEROWHOUGH)
527 fi
528 AC_MSG_RESULT([$enable_rowhough])
529
530 dnl ------------------------------------------------------------------
531 dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
532 dnl stand-alone build system. This is most likely something old we can
533 dnl get rid off later, or do something more reasonable. Since the define
534 dnl needs the quotes they have to be  escaped. This works well for the
535 dnl Makefile but not for the configure script. So we have to add the
536 dnl defines after all the other checks.
537 CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
538 if test ! "x$have_aliroot" = "xno" ; then
539   CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
540 fi
541
542 dnl ------------------------------------------------------------------
543 dnl
544 dnl Documentation
545 dnl
546 AC_ARG_VAR(DOXYGEN, The Documentation Generator)
547 AC_PATH_PROG(PERL, perl)
548 AC_PATH_PROG(DOXYGEN, doxygen)
549 AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
550 HAVE_DOT=NO
551 DOT_PATH=
552 AC_PATH_PROG(DOT, dot)
553 if ! test "x$DOT" = "x" ; then
554    HAVE_DOT=YES
555    DOT_PATH=`dirname $DOT`
556 fi
557 AC_SUBST([HAVE_DOT])
558 AC_SUBST([DOT_PATH])
559
560 dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
561 dnl echo $HAVE_SRC_SUBDIR
562 dnl if ! test -d $HAVE_SRC_SUBDIR; then
563 dnl   HAVE_SRC_SUBDIR=
564 dnl fi
565 dnl AC_SUBST([HAVE_SRC_SUBDIR])
566
567 dnl ------------------------------------------------------------------
568 dnl inatallation directory for libraries
569 dnl 
570 if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
571 libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
572 AC_MSG_NOTICE([libdir set to $libdir])
573 fi
574 dnl ------------------------------------------------------------------
575 AC_CONFIG_FILES([Makefile 
576                  BASE/Makefile
577                  BASE/setenv.sh
578                  BASE/setenv.csh
579                  BASE/util/Makefile
580                  SampleLib/Makefile
581                  TPCLib/Makefile
582                  TPCLib/mapping2array.cxx
583                  TPCLib/OnlineDisplay/Makefile
584                  PHOS/Makefile
585                  TRD/Makefile
586                  doc/Makefile
587                  doc/doxygen.conf])
588
589
590 AC_OUTPUT
591 dnl
592 dnl EOF
593 dnl
594