AltroChannel selector cleaned from TPC dependencies
[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 ------------------------------------------------------------------
8cde292f 8AC_INIT([Alice High Level Trigger] , [0.9-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
fbf4d793 63 # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
64 ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer'
dc8f7cb7 65 for CHECKLIB in $ROOT_CHECKLIBS ; do
dc8f7cb7 66 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
67 LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
68 AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
69 done
dfaa582a 70
71 # TBuffer.h has been made pure virtual in root v5-15-02 and one
72 # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
73 AC_CHECK_HEADERS([TBufferFile.h])
74
0b6c2560 75 # TView.h has been made pure virtual right after root v5-15-02 and one
76 # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
77 AC_CHECK_HEADERS([TView3D.h])
78
dc8f7cb7 79 CPPFLAGS=$save_CPPFLAGS
80 LDFLAGS=$save_LDFLAGS
81 LIBS=$save_LIBS
dfaa582a 82 AC_LANG_POP(C++)
dc8f7cb7 83fi
b521659f 84
85dnl ------------------------------------------------------------------
86# TODO: make this configurable through arguments
87#Define whether you want to run with ALIROOT or only ROOT
88AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
89ALIHLT_USEPACKAGE=ALIROOT
90#ALIHLT_USEPACKAGE=ROOT
91#ALIHLT_USEPACKAGE=STANDALONE
92AC_DEFINE(use_aliroot)
93AC_DEFINE(use_root)
85869391 94CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
85869391 95
96dnl ------------------------------------------------------------------
74c73e5a 97dnl check for AliRoot features
98AC_LANG_PUSH(C++)
74c73e5a 99have_aliroot=no
2bbbadd1 100AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation],
101 [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
102 [])
103
104if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
105 dnl ------------------------------------------------------------------
106 dnl Try to estimate the system architecture
107 case $host_os:$host_cpu in
108 linux*:x86_64*) alice_target='linuxx8664gcc' ;;
109 linux*) alice_target='linux' ;;
110 *) alice_target='unknown' ;;
111 esac
112 if test "x$alice_target" = "xunknown" ; then
113 if test -z $ALICE_TARGET ; then
114 AC_MSG_ERROR([Can not estimate system architecture.
115 To avoid the problem, set the ALICE_TARGET variable appropriately.
116 Please send the following information to Matthias.Richter@ift.uib.no:
117 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
118 else
119 AC_MSG_NOTICE([Unknown system architecture.
120 Please send the following information to Matthias.Richter@ift.uib.no:
121 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
122 fi
123 else
124 if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
125 AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
126 overriding $ALICE_TARGET by $alice_target])
127 fi
128 ALICE_TARGET=$alice_target
129 fi
dc8f7cb7 130 ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
74c73e5a 131 ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
132 ALIROOTINCDIR=${ALICE_ROOT}/include
dc8f7cb7 133 test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
2bbbadd1 134 test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
135 test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
74c73e5a 136fi
2bbbadd1 137
138AC_MSG_CHECKING([for AliRoot])
74c73e5a 139if test "x$ALICE_ROOT" != "x" \
dc8f7cb7 140 && test -d ${ALIROOTBINDIR} \
74c73e5a 141 && test -d ${ALIROOTLIBDIR} \
142 && test -d ${ALIROOTINCDIR}; then
143 have_aliroot=$ALICE_ROOT
144else
dc8f7cb7 145 ALIROOTBINDIR=
74c73e5a 146 ALIROOTLIBDIR=
147 ALIROOTINCDIR=
148fi
149AC_MSG_RESULT([$have_aliroot])
150
151if test ! "x$have_aliroot" = "xno" ; then
74c73e5a 152 ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
153 ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
dc8f7cb7 154 ALIROOT_LIBS="-lESD $ADD_ROOTLIBS"
74c73e5a 155 save_CPPFLAGS=$CPPFLAGS
156 save_LDFLAGS=$LDFLAGS
157 save_LIBS=$LIBS
158 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
db16520a 159 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
2bbbadd1 160
f8c5e339 161 # check for certain AliRoot libraries/files/features
c018a1bd 162 # libSTEERBase present since Aug 7 2007
163 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
164 CHECKLIB=STEERBase
165 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
166
f5bf5fc3 167 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
168 CHECKLIB=AOD
169 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
170
2bbbadd1 171 # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
172 have_alirawdata=no
173 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
174 CHECKLIB=RAWDatabase
175 AC_CHECK_LIB([$CHECKLIB],[_init],
176 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
177 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
178 CHECKLIB=RAWDatarec
179 AC_CHECK_LIB([$CHECKLIB],[_init],
180 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
2bbbadd1 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);])],
e962f438 193 [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
2bbbadd1 194 have_alirawdata=$CHECKLIB],
195 [have_alirawdata=no])
196 ]) dnl AC_CHECK_LIB RAWDatabase
fa274626 197 AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
198 AC_MSG_RESULT([$have_alirawdata])
199
fbf4d793 200 # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
201 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
202 CHECKLIB=CDB
203 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
204
205 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
206 CHECKLIB=STEER
207 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
208
209 dnl
210 dnl check whether AliLog supports notification callback
211 dnl
212 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
213 have_alilog_notification=no
214 if test ! "x$have_aliroot" = "xno" ; then
215 AC_MSG_CHECKING([whether AliLog supports notification callback])
216 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
217 [AliLog::AliLogNotification fct])],
218 [have_alilog_notification=yes],
219 [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
220 AC_MSG_RESULT([$have_alilog_notification])
221 fi
222
223 if test "x$have_aliroot" = "xno" ; then
224 # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
225 # but library dependencies might not be resolved completely
226 #ALIROOT_CPPFLAGS=
227 AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
228 This can happen from time to time due to development in AliRoot. You can
229 force compilation of detector libs by --enable-<detector>, but be aware
230 of unresolved references at runtime.])
231 AC_MSG_WARN([ ------------------------------------------ ])
232 AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
233 AC_MSG_WARN([ please include config.log ])
234 AC_MSG_WARN([ ------------------------------------------ ])
235 ALIROOT_LDFLAGS=
236 ALIROOT_LIBS=
237 fi
238
f5bf5fc3 239 dnl
fbf4d793 240 dnl required header files and libraries for modules
f5bf5fc3 241 dnl
242 if test ! "x$have_aliroot" = "xno" ; then
243 # the HLTTPCLib needs to link agains TPCbase and TPCrec
244 # TPC library for AliTPCParam and AliSimDigits used in
245 # AliHLTTPCFileHandler.h and AliHLTTPCDisplay.cxx
e962f438 246 # from May 07 TPCbase depends on libGui.so
f59fee6d 247 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
f5bf5fc3 248 have_alitpc=yes
249 AC_MSG_CHECKING(for required classes in TPC libraries)
250 if test ! "x$have_alitpc" = "xno" ; then
f59fee6d 251 ALITPC_LIBS="-lGui -lTPCbase -lTPCrec"
252 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
f5bf5fc3 253 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliSimDigits.h>
254 #include <AliTPCParam.h>
255 #include <AliTPCParamSR.h>
256 #include <AliTPCDigitsArray.h>
257 #include <AliTPCClustersArray.h>
258 #include <AliTPCcluster.h>
259 #include <AliTPCClustersRow.h>],
260 [AliSimDigits dig;
261 AliTPCParam param;
262 AliTPCParamSR paramsr;
263 AliTPCDigitsArray digarray;
264 AliTPCClustersArray clustarray;
265 AliTPCcluster clust;
266 AliTPCClustersRow row])],
f59fee6d 267 [AC_DEFINE(HAVE_ALITPC)],
f5bf5fc3 268 [have_alitpc=no
f59fee6d 269 ALITPC_LIBS= ])
f5bf5fc3 270 fi
271 AC_MSG_RESULT($have_alitpc)
272 fi
33e463e1 273 AC_CHECK_HEADERS([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
274 AC_CHECK_HEADERS([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
675d662a 275
db16520a 276 have_tpc_mapping=no
277 if test ! "x$have_aliroot" = "xno" ; then
04dbc9e4 278 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
db16520a 279 # which is stored in the TPC/mapping/Patchx.data files from
280 # AliRoot version v4-04-Release (May 2006)
281 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
282 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
283 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
284 [have_tpc_mapping=yes
285 AC_SUBST(TPC_PAD_MAPPING_PATH)
286 AC_DEFINE(HAVE_TPC_MAPPING)],
287 [])
288
289 fi
290 AC_MSG_CHECKING([for TPC mapping layout])
db16520a 291 AC_MSG_RESULT([$have_tpc_mapping])
04dbc9e4 292
f59fee6d 293 dnl
294 dnl Check for the interface of AliExternalTrackParam which has been changed
295 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
296 dnl or higher)
297 externaltrackparam_version=1
298 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
299 [AliExternalTrackParam trackparam;
300 Double_t param[[5]]; Double_t covar[[15]];
301 trackparam.Set(0., 0., param, covar);])],
302 [externaltrackparam_version=2],
303 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
304 AC_MSG_CHECKING(for version of AliExternalTrackParam)
305 AC_MSG_RESULT($externaltrackparam_version)
306
74c73e5a 307 CPPFLAGS=$save_CPPFLAGS
308 LDFLAGS=$save_LDFLAGS
309 LIBS=$save_LIBS
74c73e5a 310fi
f59fee6d 311
74c73e5a 312AC_LANG_POP(C++)
5f5b708b 313AC_SUBST([ALICE_ROOT])
74c73e5a 314AC_SUBST([ALIROOT_CPPFLAGS])
315AC_SUBST([ALIROOT_LDFLAGS])
dc8f7cb7 316AC_SUBST([ALIROOTBINDIR])
53feaef5 317AC_SUBST([ALIROOTLIBDIR])
74c73e5a 318AC_SUBST([ALIROOT_LIBS])
0f51f5b8 319AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
85869391 320
6c1a9d9e 321HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
322HLTBASE_LDFLAGS=
323AC_SUBST([HLTBASE_CPPFLAGS])
324AC_SUBST([HLTBASE_LDFLAGS])
325
85869391 326dnl ------------------------------------------------------------------
78b557c2 327dnl check for the HLT PubSub Framework
f8c5e339 328dnl namely for the existence of the HOMER library
329dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
330dnl package. It os though possible to choose an external. library
331dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
332dnl got the name libAliHLTHOMER
78b557c2 333AC_MSG_CHECKING([for HLT PubSub Framework])
334AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
335 [],
336 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
337if test -z $with_pubsub || ! test -d $with_pubsub ; then
338 with_pubsub=no
339fi
340AC_MSG_RESULT([$with_pubsub])
f8c5e339 341HOMER_VERSION=2
5f1685a0 342HOMER_LIBS=
78b557c2 343
344AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
345if test "x$with_pubsub" != "xno" ; then
346 save_CPPFLAGS=$CPPFLAGS
347 save_LDFLAGS=$LDFLAGS
348 save_LIBS=$LIBS
4a6b4894 349 # currently the different versions of the HLT PubSub framework have a different
350 # directory layout
20b6dd9a 351 if test -d ${with_pubsub}/include/HOMER ; then
5235c3e9 352 # the 'early' location of the include files with separated HOMER sub dirs
9ce4bf4a 353 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
5235c3e9 354 elif test -d ${with_pubsub}/include/Util/HOMER ; then
355 # location for HLT Framework versions after Sep 2006
9ce4bf4a 356 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
5235c3e9 357 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
358 # fall back if include files were not installed (versions after Sep 06)
9ce4bf4a 359 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
4a6b4894 360 else
5235c3e9 361 # fall back if include files were not installed (versions before Sep 06)
9ce4bf4a 362 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
4a6b4894 363 fi
9ce4bf4a 364 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
5894eaa5 365
366 AC_ARG_ENABLE(pubsub-debug,
367 [AC_HELP_STRING([--disable-pubsub-debug],
368 [force the production version of the PubSub framework])],
369 [],[enable_pubsub_debug=yes])
370 homer_type="none"
371 HOMER_TARGET="`uname -s`-`uname -m`"
372 AC_MSG_CHECKING([for HLT PubSub Framework release type])
373 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
374 homer_type="production"
375 HOMER_TARGET="${HOMER_TARGET}-release"
376 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
377 homer_type="debug"
378 HOMER_TARGET="${HOMER_TARGET}-debug"
379 fi
380 AC_MSG_RESULT([${homer_type}])
f8c5e339 381 HOMERREADER_HEADER=HOMERReader.h
5894eaa5 382 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
383 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
53feaef5 384 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
78b557c2 385 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
386 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
387 LIBS="$save_LIBS "
388 with_homer=no
389 AC_LANG_PUSH(C++)
f8c5e339 390 AC_CHECK_HEADER([$HOMERREADER_HEADER],
5f1685a0 391 [ AC_CHECK_LIB([HOMER],[_init],
392 [with_homer=yes
393 HOMER_LIBS="-lHOMER"],
394 [ AC_CHECK_LIB([HOMERReader],[_init],
395 [with_homer=yes
396 HOMER_LIBS="-lHOMERReader"])])
397 LIBS="$LIBS $HOMER_LIBS"
9ce4bf4a 398 AC_MSG_CHECKING([version of HOMER library])
5f1685a0 399 dnl The Homer library has no versioning, so we do our own
400 dnl version description
401 dnl ----------------------------------------------------------------------
402 dnl 1 inintial version
403 dnl 2 GetBlockStatusFlags added to the interface
404 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
405 [HOMERReader reader("dummy", 0);
406 reader.GetBlockStatusFlags(0);])],
f8c5e339 407 [],
408 [HOMER_VERSION=1])
5f1685a0 409 AC_MSG_RESULT([$HOMER_VERSION])
f8c5e339 410 ],
411 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
78b557c2 412 AC_LANG_POP(C++)
f8c5e339 413 HOMER_INBUILT_LIB=
414else
415dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
416 topdir=`dirname $0`
417 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
418 HOMERREADER_HEADER=AliHLTHOMERReader.h
419 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
420 HOMER_BINDIR=
421 HOMER_LIBDIR=
422 HOMER_LDFLAGS=
423fi
424
78b557c2 425 if test "x$with_homer" = "xno" ; then
426 HOMER_CPPFLAGS=
427 HOMER_LDFLAGS=
5f1685a0 428 HOMER_LIBS=
78b557c2 429 else
5f1685a0 430 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
78b557c2 431 AC_DEFINE(HAVE_HOMERREADER)
432 fi
433 CPPFLAGS="$save_CPPFLAGS"
434 LDFLAGS="$save_LDFLAGS"
435 LIBS="$save_LIBS"
f8c5e339 436
437AC_SUBST([HOMERREADER_HEADER])
438AC_SUBST([HOMER_INBUILT_LIB])
78b557c2 439AC_SUBST([HOMER_CPPFLAGS])
440AC_SUBST([HOMER_LDFLAGS])
53feaef5 441AC_SUBST([HOMER_LIBDIR])
442AC_SUBST([HOMER_BINDIR])
5f1685a0 443AC_SUBST([HOMER_LIBS])
78b557c2 444
445dnl ------------------------------------------------------------------
85869391 446AC_MSG_CHECKING([whether to impose strict coding conventions])
447AC_ARG_ENABLE(strict,
2028353f 448 [AC_HELP_STRING([--disable-strict],
449 [disable coding convention checks ])],
450 [],[enable_strict=yes])
85869391 451if test "x$enable_strict" = "xyes" ; then
452 CPPFLAGS="$CPPFLAGS -Weffc++"
453fi
454AC_MSG_RESULT([$enable_strict])
b521659f 455
456dnl ------------------------------------------------------------------
457AC_MSG_CHECKING([whether to compile sample library])
458AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
459AC_ARG_ENABLE(sample,
c018a1bd 460 [AC_HELP_STRING([--disable-sample],
b521659f 461 [compile the sample library ])],
2e742d30 462 [],
463 [if test "x$have_aliroot" = "xno" ; then
464 enable_sample="no...requires.AliRoot"
465 else
466 enable_sample=yes
467 fi
468 ])
469
b521659f 470if test "x$enable_sample" = "xyes" ; then
471 AC_DEFINE(HLT_SAMPLE)
472fi
473AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
474AC_MSG_RESULT([$enable_sample])
475
476dnl ------------------------------------------------------------------
c018a1bd 477AC_MSG_CHECKING([whether to compile util library])
478AH_TEMPLATE([HLT_UTIL],[HLT utility library])
479AC_ARG_ENABLE(util,
480 [AC_HELP_STRING([--disable-util],
481 [compile the util library ])],
2e742d30 482 [],
483 [if test "x$have_aliroot" = "xno" ; then
484 enable_util="no...requires.AliRoot"
485 else
486 enable_util=yes
487 fi
488 ])
c018a1bd 489
490if test "x$enable_util" = "xyes" ; then
491 AC_DEFINE(HLT_UTIL)
492fi
493AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
494AC_MSG_RESULT([$enable_util])
495
496dnl ------------------------------------------------------------------
b521659f 497AH_TEMPLATE([HLT_TPC],[hlt tpc library])
f59fee6d 498
499CHECK_HLTMODULE([tpc],
e962f438 500 [AliTPCRawStream.h],
501 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
f59fee6d 502 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
503 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
504 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
505
c6b46c3f 506if test "x$enable_module" = "xmissheader"; then
507 enable_module="no...missing.headers"
f59fee6d 508 enable_tpc="no...missing.headers"
509elif test "x$have_alitpc" = "xno" ; then
c6b46c3f 510 enable_module="no...requires.AliRoot.TPC.libraries"
f59fee6d 511 enable_tpc="no...requires.AliRoot.TPC.libraries"
c6b46c3f 512elif test "x$enable_module" = "xforce"; then
513 enable_tpc="yes"
f59fee6d 514else
515 enable_tpc=$enable_module
516fi
2e742d30 517
b521659f 518if test "x$enable_tpc" = "xyes" ; then
519 AC_DEFINE(HLT_TPC)
520fi
521AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
f59fee6d 522AC_MSG_CHECKING([whether to compile tpc library])
c6b46c3f 523AC_MSG_RESULT([$enable_module])
f59fee6d 524AC_SUBST([ALITPC_LIBS])
b521659f 525
526dnl ------------------------------------------------------------------
c160eda8 527AH_TEMPLATE([HLT_PHOS],[hlt phos library])
f59fee6d 528
529ALIPHOS_LIBS=
530CHECK_HLTMODULE([phos],
531 [], [$ALIROOT_CPPFLAGS],
532 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
533 [PHOSbase PHOSrec PHOSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
534 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
535
c6b46c3f 536if test "x$enable_module" = "xmissheader"; then
537 enable_module="no...requires.AliRoot>v4-05-07"
f59fee6d 538 enable_phos="no...requires.AliRoot>v4-05-07"
c6b46c3f 539elif test "x$enable_module" = "xforce"; then
540 enable_phos="yes"
f59fee6d 541else
542 have_alicalorawstream=no
543 if test ! "x$have_aliroot" = "xno" ; then
544 AC_LANG_PUSH(C++)
545 save_CPPFLAGS="$CPPFLAGS"
546 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
547 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
548 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
549 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
550 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
551 #include <AliCaloRawStream.h>],
552 [int i])],
553 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
554 have_alicalorawstream=yes],
555 [])
556 AC_MSG_RESULT([$have_alicalorawstream])
557 AC_LANG_POP(C++)
558 CPPFLAGS="$save_CPPFLAGS"
559 fi
560 if test "x$have_alicalorawstream" != "xyes"; then
561 enable_phos="no...requires.AliRoot>v4-05-07"
562 else
563 enable_phos=$enable_module
564 fi
565fi
2e742d30 566
c160eda8 567if test "x$enable_phos" = "xyes" ; then
568 AC_DEFINE(HLT_PHOS)
f59fee6d 569 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
c160eda8 570fi
571AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
f59fee6d 572AC_MSG_CHECKING([whether to compile phos library])
c6b46c3f 573AC_MSG_RESULT([$enable_module])
f59fee6d 574AC_SUBST([ALIPHOS_LIBS])
c160eda8 575
c6b46c3f 576dnl ------------------------------------------------------------------
577AH_TEMPLATE([HLT_TRD],[hlt trd library])
578
f59fee6d 579ALITRD_LIBS=
580CHECK_HLTMODULE([trd],
581 [], [],
582 [MLP], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
583 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
584 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
585
c6b46c3f 586if test "x$enable_module" = "xmissheader"; then
587 enable_module="no...requires.AliRoot>v4-07-Release"
f59fee6d 588 enable_trd="no...requires.AliRoot>v4-07-Release"
c6b46c3f 589elif test "x$enable_module" = "xforce"; then
590 enable_trd="yes"
f59fee6d 591else
592 enable_trd=$enable_module
593 if test "x$enable_trd" = "xyes" ; then
594 AC_LANG_PUSH(C++)
595 save_CPPFLAGS="$CPPFLAGS"
596 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
597 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
598 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
599 [AliTRDclusterizer c;
600 c.SetRawVersion(0)])],
601 [],
602 [enable_trd="no...requires.AliRoot>v4-07-Release"])
603 AC_MSG_RESULT([$enable_trd])
604 AC_LANG_POP(C++)
605 CPPFLAGS="$save_CPPFLAGS"
606 fi
607fi
2e742d30 608
0f51f5b8 609if test "x$enable_trd" = "xyes" ; then
610 AC_DEFINE(HLT_TRD)
f59fee6d 611 ALITRD_LIBS=$ALIHLTMODULE_LIBS
0f51f5b8 612fi
613AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
f59fee6d 614AC_MSG_CHECKING([whether to compile trd library])
c6b46c3f 615AC_MSG_RESULT([$enable_module])
f59fee6d 616AC_SUBST([ALITRD_LIBS])
0f51f5b8 617
618dnl ------------------------------------------------------------------
94cc9aab 619AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
2e742d30 620
f59fee6d 621ALIMUON_LIBS=
e89e6b23 622CHECK_HLTMODULE([dimuon],
41f99620 623 [AliMpExMap.h AliMUONTriggerIO.h],
624 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
f59fee6d 625 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
626 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
627 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
628
629if test "x$enable_module" = "xmissheader"; then
a853a794 630 enable_module="no...requires.AliRoot>=v4-08-Release"
631 enable_muon="no...requires.AliRoot>=v4-08-Release"
c6b46c3f 632elif test "x$enable_module" = "xforce"; then
633 enable_muon="yes"
f59fee6d 634else
635 enable_muon=$enable_module
636fi
637
638if test "x$enable_muon" = "xyes" ; then
94cc9aab 639 AC_DEFINE(HLT_MUON)
f59fee6d 640 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
94cc9aab 641fi
f59fee6d 642AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
643AC_MSG_CHECKING([whether to compile muon library])
c6b46c3f 644AC_MSG_RESULT([$enable_module])
f59fee6d 645AC_SUBST([ALIMUON_LIBS])
94cc9aab 646
647dnl ------------------------------------------------------------------
e89e6b23 648AH_TEMPLATE([HLT_COMP],[hlt comp library])
649
650ALICOMP_LIBS=
651CHECK_HLTMODULE([comp],
652 [], [$ALIROOT_CPPFLAGS],
653 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
654 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
655 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
656
657if test "x$enable_module" = "xmissheader"; then
c6b46c3f 658 enable_module="no...header.missing"
e89e6b23 659 enable_comp="no...header.missing"
c6b46c3f 660elif test "x$enable_module" = "xforce"; then
661 enable_comp="yes"
e89e6b23 662else
663 enable_comp=$enable_module
664fi
665
666if test "x$enable_comp" = "xyes" ; then
667 AC_DEFINE(HLT_COMP)
668 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
669fi
670AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
671AC_MSG_CHECKING([whether to compile comp library])
c6b46c3f 672AC_MSG_RESULT([$enable_module])
e89e6b23 673AC_SUBST([ALICOMP_LIBS])
674
675dnl ------------------------------------------------------------------
fc455fba 676AC_MSG_CHECKING([whether to disable AliRoot logging])
677AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
678AC_ARG_ENABLE(aliroot-logging,
679 [AC_HELP_STRING([--disable-aliroot-logging],
680 [disable logging through AliRoot logging methods])],
681 [],[enable_aliroot_logging=no])
c018a1bd 682if test "x$have_aliroot" = "xno" ; then
683 enable_aliroot_logging=yes # this means 'disable'
684fi
fc455fba 685if test "x$enable_aliroot_logging" != "xno" ; then
686 AC_DEFINE(NOALIROOT_LOGGING)
b521659f 687fi
fc455fba 688AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
689AC_MSG_RESULT([$enable_aliroot_logging])
b521659f 690
691dnl ------------------------------------------------------------------
692AC_MSG_CHECKING([whether to enable saving MC data through the chain])
693AH_TEMPLATE([DOMC],[MC saving])
694AC_ARG_ENABLE(mc-saving,
695 [AC_HELP_STRING([--enable-mc-saving],
696 [enable saving MC data through the chain])],
697 [],[enable_mc_saving=no])
698if test "x$enable_mc_saving" = "xyes" ; then
699 AC_DEFINE(DOMC)
700fi
701AC_MSG_RESULT([$enable_mc_saving])
702
703dnl ------------------------------------------------------------------
b521659f 704dnl certainly something old, but we keep the define
705AC_MSG_CHECKING([whether to use ROWHOUGH])
706AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
707AC_ARG_ENABLE(rowhough,
708 [AC_HELP_STRING([--enable-rowhough],
709 [use ROWHOUGH ])],
710 [],[enable_rowhough=no])
711if test "x$enable_rowhough" = "xyes" ; then
712 AC_DEFINE(USEROWHOUGH)
713fi
714AC_MSG_RESULT([$enable_rowhough])
715
716dnl ------------------------------------------------------------------
53feaef5 717dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
718dnl stand-alone build system. This is most likely something old we can
719dnl get rid off later, or do something more reasonable. Since the define
720dnl needs the quotes they have to be escaped. This works well for the
721dnl Makefile but not for the configure script. So we have to add the
722dnl defines after all the other checks.
723CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
724if test ! "x$have_aliroot" = "xno" ; then
725 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
726fi
727
728dnl ------------------------------------------------------------------
b521659f 729dnl
730dnl Documentation
731dnl
732AC_ARG_VAR(DOXYGEN, The Documentation Generator)
733AC_PATH_PROG(PERL, perl)
734AC_PATH_PROG(DOXYGEN, doxygen)
735AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
5894eaa5 736AC_ARG_ENABLE(dot,
737 [AC_HELP_STRING([--enable-dot],
738 [enable dot documentation generator])],
739 [],[enable_dot=no])
b521659f 740HAVE_DOT=NO
741DOT_PATH=
742AC_PATH_PROG(DOT, dot)
5894eaa5 743if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
b521659f 744 HAVE_DOT=YES
745 DOT_PATH=`dirname $DOT`
746fi
747AC_SUBST([HAVE_DOT])
748AC_SUBST([DOT_PATH])
749
90ebac25 750dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
751dnl echo $HAVE_SRC_SUBDIR
752dnl if ! test -d $HAVE_SRC_SUBDIR; then
753dnl HAVE_SRC_SUBDIR=
754dnl fi
755dnl AC_SUBST([HAVE_SRC_SUBDIR])
756
b521659f 757dnl ------------------------------------------------------------------
2bbbadd1 758dnl inatallation directory for libraries
759dnl
760if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
761libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
762AC_MSG_NOTICE([libdir set to $libdir])
763fi
764dnl ------------------------------------------------------------------
b521659f 765AC_CONFIG_FILES([Makefile
766 BASE/Makefile
53feaef5 767 BASE/setenv.sh
768 BASE/setenv.csh
2be16a33 769 BASE/HOMER/Makefile
242bb794 770 BASE/util/Makefile
d098ebd4 771 BASE/interface/Makefile
853121af 772 BASE/test/Makefile
4cbaf07b 773 sim/Makefile
774 rec/Makefile
12ec5482 775 shuttle/Makefile
b521659f 776 SampleLib/Makefile
777 TPCLib/Makefile
db16520a 778 TPCLib/mapping2array.cxx
78b557c2 779 TPCLib/OnlineDisplay/Makefile
c160eda8 780 PHOS/Makefile
0f51f5b8 781 TRD/Makefile
94cc9aab 782 MUON/Makefile
3daf4fbc 783 trigger/Makefile
e89e6b23 784 comp/Makefile
b521659f 785 doc/Makefile
2efb85be 786 doc/doxygen.conf
787 doc/doxymodule.conf])
b521659f 788
789
790AC_OUTPUT
791dnl
792dnl EOF
793dnl
794