Avoiding the creation of empty fles with funny dates
[u/mrichter/AliRoot.git] / HLT / configure.ac
CommitLineData
b521659f 1dnl -*- mode: autoconf -*-
2dnl
3dnl $Id$
4dnl template for the configuration script for the Alice HLT
5dnl framework and components
6dnl
7dnl ------------------------------------------------------------------
c018a1bd 8AC_INIT([Alice High Level Trigger] , [0.8-dev], [Matthias.Richter@ift.uib.no], alice-hlt)
b521659f 9
10dnl ------------------------------------------------------------------
11dnl the package from CVS contains the old Makefiles as well. In order to
12dnl prevent them from becoming overwritten, we require a separate build
13dnl directory
14if test "`dirname $0`" = "." ; then
15 AC_ERROR([please run the script from a separate build directory])
16fi
17
18dnl ------------------------------------------------------------------
19AC_CANONICAL_SYSTEM
20AC_PREFIX_DEFAULT(${PWD})
21AC_CONFIG_SRCDIR(BASE/AliHLTComponent.cxx)
22AM_INIT_AUTOMAKE
23AC_PROG_CC
24AC_PROG_CXX
25AC_PROG_LIBTOOL
26
27AC_DEBUG
28AC_OPTIMIZATION
dc8f7cb7 29AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
30
31dnl ------------------------------------------------------------------
32dnl A warning posted into the auto-generated files
33dnl Does NOT concern this file ;-)
34AUTOGENERATED_WARNING="!!!!!!! DO NOT EDIT THIS FILE !!!!!!"
35AC_SUBST([AUTOGENERATED_WARNING])
b521659f 36
37dnl ------------------------------------------------------------------
38dnl
39dnl Check for ROOT
40dnl
41ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
42AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
53feaef5 43AC_SUBST([ROOTSYS])
dc8f7cb7 44ROOTBINDIR=`dirname $ROOTEXEC`
45AC_SUBST([ROOTBINDIR])
46
dfaa582a 47dnl test for additional required root libraries and headers
48LIBS='-ldl'
49if 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
dc8f7cb7 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
dc8f7cb7 63 ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO'
64 for CHECKLIB in $ROOT_CHECKLIBS ; do
dc8f7cb7 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
dfaa582a 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
0b6c2560 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
dc8f7cb7 78 CPPFLAGS=$save_CPPFLAGS
79 LDFLAGS=$save_LDFLAGS
80 LIBS=$save_LIBS
dfaa582a 81 AC_LANG_POP(C++)
dc8f7cb7 82fi
b521659f 83
84dnl ------------------------------------------------------------------
85# TODO: make this configurable through arguments
86#Define whether you want to run with ALIROOT or only ROOT
87AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
88ALIHLT_USEPACKAGE=ALIROOT
89#ALIHLT_USEPACKAGE=ROOT
90#ALIHLT_USEPACKAGE=STANDALONE
91AC_DEFINE(use_aliroot)
92AC_DEFINE(use_root)
85869391 93CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
85869391 94
95dnl ------------------------------------------------------------------
74c73e5a 96dnl check for AliRoot features
97AC_LANG_PUSH(C++)
74c73e5a 98have_aliroot=no
2bbbadd1 99AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation],
100 [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
101 [])
102
103if 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
dc8f7cb7 129 ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
74c73e5a 130 ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
131 ALIROOTINCDIR=${ALICE_ROOT}/include
dc8f7cb7 132 test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
2bbbadd1 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])
74c73e5a 135fi
2bbbadd1 136
137AC_MSG_CHECKING([for AliRoot])
74c73e5a 138if test "x$ALICE_ROOT" != "x" \
dc8f7cb7 139 && test -d ${ALIROOTBINDIR} \
74c73e5a 140 && test -d ${ALIROOTLIBDIR} \
141 && test -d ${ALIROOTINCDIR}; then
142 have_aliroot=$ALICE_ROOT
143else
dc8f7cb7 144 ALIROOTBINDIR=
74c73e5a 145 ALIROOTLIBDIR=
146 ALIROOTINCDIR=
147fi
148AC_MSG_RESULT([$have_aliroot])
149
150if test ! "x$have_aliroot" = "xno" ; then
74c73e5a 151 ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
152 ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
dc8f7cb7 153 ALIROOT_LIBS="-lESD $ADD_ROOTLIBS"
74c73e5a 154 save_CPPFLAGS=$CPPFLAGS
155 save_LDFLAGS=$LDFLAGS
156 save_LIBS=$LIBS
157 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
db16520a 158 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
2bbbadd1 159
f8c5e339 160 # check for certain AliRoot libraries/files/features
c018a1bd 161 # libSTEERBase present since Aug 7 2007
162 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
163 CHECKLIB=STEERBase
164 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
165
f5bf5fc3 166 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
167 CHECKLIB=AOD
168 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
169
170 # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
171 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
172 CHECKLIB=CDB
173 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
174
2bbbadd1 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
fa274626 203 AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
204 AC_MSG_RESULT([$have_alirawdata])
205
f5bf5fc3 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
33e463e1 246 AC_CHECK_HEADERS([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
247 AC_CHECK_HEADERS([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
675d662a 248
249 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
250 CHECKLIB=STEER
c018a1bd 251 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
675d662a 252
fa274626 253 dnl
254 dnl check whether AliLog supports notification callback
255 dnl
675d662a 256 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
fa274626 257 have_alilog_notification=no
c018a1bd 258 if test ! "x$have_aliroot" = "xno" ; then
fa274626 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])
c018a1bd 265 fi
2bbbadd1 266
04dbc9e4 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
5894eaa5 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
74c73e5a 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
85869391 311
db16520a 312 have_tpc_mapping=no
313 if test ! "x$have_aliroot" = "xno" ; then
04dbc9e4 314 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
db16520a 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])
db16520a 327 AC_MSG_RESULT([$have_tpc_mapping])
04dbc9e4 328
74c73e5a 329 if test "x$have_aliroot" = "xno" ; then
c018a1bd 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([ ------------------------------------------ ])
74c73e5a 339 ALIROOT_LDFLAGS=
340 ALIROOT_LIBS=
341 fi
342 CPPFLAGS=$save_CPPFLAGS
343 LDFLAGS=$save_LDFLAGS
344 LIBS=$save_LIBS
74c73e5a 345fi
346AC_LANG_POP(C++)
5f5b708b 347AC_SUBST([ALICE_ROOT])
74c73e5a 348AC_SUBST([ALIROOT_CPPFLAGS])
349AC_SUBST([ALIROOT_LDFLAGS])
dc8f7cb7 350AC_SUBST([ALIROOTBINDIR])
53feaef5 351AC_SUBST([ALIROOTLIBDIR])
74c73e5a 352AC_SUBST([ALIROOT_LIBS])
0f51f5b8 353AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
85869391 354
6c1a9d9e 355HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
356HLTBASE_LDFLAGS=
357AC_SUBST([HLTBASE_CPPFLAGS])
358AC_SUBST([HLTBASE_LDFLAGS])
359
85869391 360dnl ------------------------------------------------------------------
78b557c2 361dnl check for the HLT PubSub Framework
f8c5e339 362dnl namely for the existence of the HOMER library
363dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
364dnl package. It os though possible to choose an external. library
365dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
366dnl got the name libAliHLTHOMER
78b557c2 367AC_MSG_CHECKING([for HLT PubSub Framework])
368AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
369 [],
370 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
371if test -z $with_pubsub || ! test -d $with_pubsub ; then
372 with_pubsub=no
373fi
374AC_MSG_RESULT([$with_pubsub])
f8c5e339 375HOMER_VERSION=2
5f1685a0 376HOMER_LIBS=
78b557c2 377
378AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
379if test "x$with_pubsub" != "xno" ; then
380 save_CPPFLAGS=$CPPFLAGS
381 save_LDFLAGS=$LDFLAGS
382 save_LIBS=$LIBS
4a6b4894 383 # currently the different versions of the HLT PubSub framework have a different
384 # directory layout
20b6dd9a 385 if test -d ${with_pubsub}/include/HOMER ; then
5235c3e9 386 # the 'early' location of the include files with separated HOMER sub dirs
9ce4bf4a 387 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
5235c3e9 388 elif test -d ${with_pubsub}/include/Util/HOMER ; then
389 # location for HLT Framework versions after Sep 2006
9ce4bf4a 390 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
5235c3e9 391 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
392 # fall back if include files were not installed (versions after Sep 06)
9ce4bf4a 393 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
4a6b4894 394 else
5235c3e9 395 # fall back if include files were not installed (versions before Sep 06)
9ce4bf4a 396 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
4a6b4894 397 fi
9ce4bf4a 398 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
5894eaa5 399
400 AC_ARG_ENABLE(pubsub-debug,
401 [AC_HELP_STRING([--disable-pubsub-debug],
402 [force the production version of the PubSub framework])],
403 [],[enable_pubsub_debug=yes])
404 homer_type="none"
405 HOMER_TARGET="`uname -s`-`uname -m`"
406 AC_MSG_CHECKING([for HLT PubSub Framework release type])
407 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
408 homer_type="production"
409 HOMER_TARGET="${HOMER_TARGET}-release"
410 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
411 homer_type="debug"
412 HOMER_TARGET="${HOMER_TARGET}-debug"
413 fi
414 AC_MSG_RESULT([${homer_type}])
f8c5e339 415 HOMERREADER_HEADER=HOMERReader.h
5894eaa5 416 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
417 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
53feaef5 418 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
78b557c2 419 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
420 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
421 LIBS="$save_LIBS "
422 with_homer=no
423 AC_LANG_PUSH(C++)
f8c5e339 424 AC_CHECK_HEADER([$HOMERREADER_HEADER],
5f1685a0 425 [ AC_CHECK_LIB([HOMER],[_init],
426 [with_homer=yes
427 HOMER_LIBS="-lHOMER"],
428 [ AC_CHECK_LIB([HOMERReader],[_init],
429 [with_homer=yes
430 HOMER_LIBS="-lHOMERReader"])])
431 LIBS="$LIBS $HOMER_LIBS"
9ce4bf4a 432 AC_MSG_CHECKING([version of HOMER library])
5f1685a0 433 dnl The Homer library has no versioning, so we do our own
434 dnl version description
435 dnl ----------------------------------------------------------------------
436 dnl 1 inintial version
437 dnl 2 GetBlockStatusFlags added to the interface
438 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
439 [HOMERReader reader("dummy", 0);
440 reader.GetBlockStatusFlags(0);])],
f8c5e339 441 [],
442 [HOMER_VERSION=1])
5f1685a0 443 AC_MSG_RESULT([$HOMER_VERSION])
f8c5e339 444 ],
445 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
78b557c2 446 AC_LANG_POP(C++)
f8c5e339 447 HOMER_INBUILT_LIB=
448else
449dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
450 topdir=`dirname $0`
451 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
452 HOMERREADER_HEADER=AliHLTHOMERReader.h
453 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
454 HOMER_BINDIR=
455 HOMER_LIBDIR=
456 HOMER_LDFLAGS=
457fi
458
78b557c2 459 if test "x$with_homer" = "xno" ; then
460 HOMER_CPPFLAGS=
461 HOMER_LDFLAGS=
5f1685a0 462 HOMER_LIBS=
78b557c2 463 else
5f1685a0 464 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
78b557c2 465 AC_DEFINE(HAVE_HOMERREADER)
466 fi
467 CPPFLAGS="$save_CPPFLAGS"
468 LDFLAGS="$save_LDFLAGS"
469 LIBS="$save_LIBS"
f8c5e339 470
471AC_SUBST([HOMERREADER_HEADER])
472AC_SUBST([HOMER_INBUILT_LIB])
78b557c2 473AC_SUBST([HOMER_CPPFLAGS])
474AC_SUBST([HOMER_LDFLAGS])
53feaef5 475AC_SUBST([HOMER_LIBDIR])
476AC_SUBST([HOMER_BINDIR])
5f1685a0 477AC_SUBST([HOMER_LIBS])
78b557c2 478
479dnl ------------------------------------------------------------------
85869391 480AC_MSG_CHECKING([whether to impose strict coding conventions])
481AC_ARG_ENABLE(strict,
482 [AC_HELP_STRING([--enable-strict],
483 [enable coding convention checks ])],
484 [],[enable_strict=no])
485if test "x$enable_strict" = "xyes" ; then
486 CPPFLAGS="$CPPFLAGS -Weffc++"
487fi
488AC_MSG_RESULT([$enable_strict])
b521659f 489
490dnl ------------------------------------------------------------------
491AC_MSG_CHECKING([whether to compile sample library])
492AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
493AC_ARG_ENABLE(sample,
c018a1bd 494 [AC_HELP_STRING([--disable-sample],
b521659f 495 [compile the sample library ])],
2e742d30 496 [],
497 [if test "x$have_aliroot" = "xno" ; then
498 enable_sample="no...requires.AliRoot"
499 else
500 enable_sample=yes
501 fi
502 ])
503
b521659f 504if test "x$enable_sample" = "xyes" ; then
505 AC_DEFINE(HLT_SAMPLE)
506fi
507AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
508AC_MSG_RESULT([$enable_sample])
509
510dnl ------------------------------------------------------------------
c018a1bd 511AC_MSG_CHECKING([whether to compile util library])
512AH_TEMPLATE([HLT_UTIL],[HLT utility library])
513AC_ARG_ENABLE(util,
514 [AC_HELP_STRING([--disable-util],
515 [compile the util library ])],
2e742d30 516 [],
517 [if test "x$have_aliroot" = "xno" ; then
518 enable_util="no...requires.AliRoot"
519 else
520 enable_util=yes
521 fi
522 ])
c018a1bd 523
524if test "x$enable_util" = "xyes" ; then
525 AC_DEFINE(HLT_UTIL)
526fi
527AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
528AC_MSG_RESULT([$enable_util])
529
530dnl ------------------------------------------------------------------
b521659f 531AC_MSG_CHECKING([whether to compile tpc library])
532AH_TEMPLATE([HLT_TPC],[hlt tpc library])
533AC_ARG_ENABLE(tpc,
c018a1bd 534 [AC_HELP_STRING([--disable-tpc],
b521659f 535 [compile the tpc library ])],
2e742d30 536 [],
537 [if test "x$have_aliroot" = "xno" ; then
538 enable_tpc="no...requires.AliRoot"
539 elif test "x$have_alitpc" = "xno" ; then
540 enable_tpc="no...requires.AliRoot.TPC.libraries"
541 else
542 enable_tpc=yes
543 fi
544 ])
545
b521659f 546if test "x$enable_tpc" = "xyes" ; then
547 AC_DEFINE(HLT_TPC)
548fi
549AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
550AC_MSG_RESULT([$enable_tpc])
551
552dnl ------------------------------------------------------------------
c160eda8 553AC_MSG_CHECKING([whether to compile phos library])
554AH_TEMPLATE([HLT_PHOS],[hlt phos library])
555AC_ARG_ENABLE(phos,
c018a1bd 556 [AC_HELP_STRING([--disable-phos],
c160eda8 557 [compile the phos library ])],
2e742d30 558 [],
559 [if test "x$have_aliroot" = "xno" ; then
560 enable_phos="no...requires.AliRoot"
561 elif ! test "x$have_alicalorawstream" = "xyes"; then
562 enable_phos="no...requires.AliRoot>v4-05-07"
563 else
564 enable_phos=yes
565 fi
566 ])
567
c160eda8 568if test "x$enable_phos" = "xyes" ; then
569 AC_DEFINE(HLT_PHOS)
570fi
571AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
572AC_MSG_RESULT([$enable_phos])
573
574dnl ------------------------------------------------------------------
0f51f5b8 575AC_MSG_CHECKING([whether to compile trd library])
576AH_TEMPLATE([HLT_TRD],[hlt trd library])
577AC_ARG_ENABLE(trd,
c018a1bd 578 [AC_HELP_STRING([--disable-trd],
0f51f5b8 579 [compile the trd library ])],
2e742d30 580 [],
581 [if test "x$have_aliroot" = "xno" ; then
582 enable_trd="no...requires.AliRoot"
583 else
584 enable_trd=yes
585 fi
586 ])
587
0f51f5b8 588if test "x$enable_trd" = "xyes" ; then
589 AC_DEFINE(HLT_TRD)
590fi
591AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
592AC_MSG_RESULT([$enable_trd])
593
594dnl ------------------------------------------------------------------
94cc9aab 595AC_MSG_CHECKING([whether to compile dimuon library])
596AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
597AC_ARG_ENABLE(dimuon,
c018a1bd 598 [AC_HELP_STRING([--disable-dimuon],
94cc9aab 599 [compile the dimuon library ])],
2e742d30 600 [],
601 [if test "x$have_aliroot" = "xno" ; then
602 enable_dimuon="no...requires.AliRoot"
603 else
604 enable_dimuon=yes
605 fi
606 ])
607
94cc9aab 608if test "x$enable_dimuon" = "xyes" ; then
609 AC_DEFINE(HLT_MUON)
610fi
611AM_CONDITIONAL(EN_HLT_MUON, test x$enable_dimuon = xyes)
612AC_MSG_RESULT([$enable_dimuon])
613
614dnl ------------------------------------------------------------------
fc455fba 615AC_MSG_CHECKING([whether to disable AliRoot logging])
616AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
617AC_ARG_ENABLE(aliroot-logging,
618 [AC_HELP_STRING([--disable-aliroot-logging],
619 [disable logging through AliRoot logging methods])],
620 [],[enable_aliroot_logging=no])
c018a1bd 621if test "x$have_aliroot" = "xno" ; then
622 enable_aliroot_logging=yes # this means 'disable'
623fi
fc455fba 624if test "x$enable_aliroot_logging" != "xno" ; then
625 AC_DEFINE(NOALIROOT_LOGGING)
b521659f 626fi
fc455fba 627AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
628AC_MSG_RESULT([$enable_aliroot_logging])
b521659f 629
630dnl ------------------------------------------------------------------
631AC_MSG_CHECKING([whether to enable saving MC data through the chain])
632AH_TEMPLATE([DOMC],[MC saving])
633AC_ARG_ENABLE(mc-saving,
634 [AC_HELP_STRING([--enable-mc-saving],
635 [enable saving MC data through the chain])],
636 [],[enable_mc_saving=no])
637if test "x$enable_mc_saving" = "xyes" ; then
638 AC_DEFINE(DOMC)
639fi
640AC_MSG_RESULT([$enable_mc_saving])
641
642dnl ------------------------------------------------------------------
b521659f 643dnl certainly something old, but we keep the define
644AC_MSG_CHECKING([whether to use ROWHOUGH])
645AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
646AC_ARG_ENABLE(rowhough,
647 [AC_HELP_STRING([--enable-rowhough],
648 [use ROWHOUGH ])],
649 [],[enable_rowhough=no])
650if test "x$enable_rowhough" = "xyes" ; then
651 AC_DEFINE(USEROWHOUGH)
652fi
653AC_MSG_RESULT([$enable_rowhough])
654
655dnl ------------------------------------------------------------------
53feaef5 656dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
657dnl stand-alone build system. This is most likely something old we can
658dnl get rid off later, or do something more reasonable. Since the define
659dnl needs the quotes they have to be escaped. This works well for the
660dnl Makefile but not for the configure script. So we have to add the
661dnl defines after all the other checks.
662CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
663if test ! "x$have_aliroot" = "xno" ; then
664 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
665fi
666
667dnl ------------------------------------------------------------------
b521659f 668dnl
669dnl Documentation
670dnl
671AC_ARG_VAR(DOXYGEN, The Documentation Generator)
672AC_PATH_PROG(PERL, perl)
673AC_PATH_PROG(DOXYGEN, doxygen)
674AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
5894eaa5 675AC_ARG_ENABLE(dot,
676 [AC_HELP_STRING([--enable-dot],
677 [enable dot documentation generator])],
678 [],[enable_dot=no])
b521659f 679HAVE_DOT=NO
680DOT_PATH=
681AC_PATH_PROG(DOT, dot)
5894eaa5 682if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
b521659f 683 HAVE_DOT=YES
684 DOT_PATH=`dirname $DOT`
685fi
686AC_SUBST([HAVE_DOT])
687AC_SUBST([DOT_PATH])
688
90ebac25 689dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
690dnl echo $HAVE_SRC_SUBDIR
691dnl if ! test -d $HAVE_SRC_SUBDIR; then
692dnl HAVE_SRC_SUBDIR=
693dnl fi
694dnl AC_SUBST([HAVE_SRC_SUBDIR])
695
b521659f 696dnl ------------------------------------------------------------------
2bbbadd1 697dnl inatallation directory for libraries
698dnl
699if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
700libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
701AC_MSG_NOTICE([libdir set to $libdir])
702fi
703dnl ------------------------------------------------------------------
b521659f 704AC_CONFIG_FILES([Makefile
705 BASE/Makefile
53feaef5 706 BASE/setenv.sh
707 BASE/setenv.csh
2be16a33 708 BASE/HOMER/Makefile
242bb794 709 BASE/util/Makefile
d098ebd4 710 BASE/interface/Makefile
4cbaf07b 711 sim/Makefile
712 rec/Makefile
b521659f 713 SampleLib/Makefile
714 TPCLib/Makefile
db16520a 715 TPCLib/mapping2array.cxx
78b557c2 716 TPCLib/OnlineDisplay/Makefile
c160eda8 717 PHOS/Makefile
0f51f5b8 718 TRD/Makefile
94cc9aab 719 MUON/Makefile
b521659f 720 doc/Makefile
721 doc/doxygen.conf])
722
723
724AC_OUTPUT
725dnl
726dnl EOF
727dnl
728