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