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