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