Fixing (most of) compiler warnings
[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
13398559 452 CPPFLAGS="$CPPFLAGS -Weffc++ -Wall"
85869391 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 ------------------------------------------------------------------
5e3820e2 527AH_TEMPLATE([HLT_RCU],[hlt rcu library])
528
529CHECK_HLTMODULE([rcu],
530 [AliAltroDecoder.h],
531 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
532 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
533 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
534 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
535
536if test "x$enable_module" = "xmissheader"; then
537 enable_module="no...missing.headers"
538 enable_rcu="no...missing.headers"
539elif test "x$have_alircu" = "xno" ; then
540 enable_module="no...requires.AliRoot.RAW.libraries"
541 enable_rcu="no...requires.AliRoot.RAW.libraries"
542elif test "x$enable_module" = "xforce"; then
543 enable_rcu="yes"
544else
545 AC_LANG_PUSH(C++)
546 save_CPPFLAGS=$CPPFLAGS
547 save_LDFLAGS=$LDFLAGS
548 save_LIBS=$LIBS
549 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
550 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
551 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
552 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
553 [AliAltroDecoder decoder;
554 decoder.CopyBackward(NULL, 0);])],
555 [enable_rcu=$enable_module],
556 [enable_module="no...requires.AliRoot>v4-10-Release"
557 enable_rcu="no...requires.AliRoot>v4-10-Release"])
558 CPPFLAGS=$save_CPPFLAGS
559 LDFLAGS=$save_LDFLAGS
560 LIBS=$save_LIBS
561 AC_LANG_POP(C++)
562fi
563
564if test "x$enable_rcu" = "xyes" ; then
565 AC_DEFINE(HLT_RCU)
566fi
567AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
568AC_MSG_CHECKING([whether to compile rcu library])
569AC_MSG_RESULT([$enable_module])
570AC_SUBST([ALIRCU_LIBS])
571
572dnl ------------------------------------------------------------------
c160eda8 573AH_TEMPLATE([HLT_PHOS],[hlt phos library])
f59fee6d 574
575ALIPHOS_LIBS=
576CHECK_HLTMODULE([phos],
577 [], [$ALIROOT_CPPFLAGS],
578 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
579 [PHOSbase PHOSrec PHOSsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
580 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
581
c6b46c3f 582if test "x$enable_module" = "xmissheader"; then
583 enable_module="no...requires.AliRoot>v4-05-07"
f59fee6d 584 enable_phos="no...requires.AliRoot>v4-05-07"
c6b46c3f 585elif test "x$enable_module" = "xforce"; then
586 enable_phos="yes"
f59fee6d 587else
588 have_alicalorawstream=no
589 if test ! "x$have_aliroot" = "xno" ; then
590 AC_LANG_PUSH(C++)
591 save_CPPFLAGS="$CPPFLAGS"
592 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
593 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
594 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
595 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
596 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
597 #include <AliCaloRawStream.h>],
598 [int i])],
599 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
600 have_alicalorawstream=yes],
601 [])
602 AC_MSG_RESULT([$have_alicalorawstream])
603 AC_LANG_POP(C++)
604 CPPFLAGS="$save_CPPFLAGS"
605 fi
606 if test "x$have_alicalorawstream" != "xyes"; then
607 enable_phos="no...requires.AliRoot>v4-05-07"
608 else
609 enable_phos=$enable_module
610 fi
611fi
2e742d30 612
c160eda8 613if test "x$enable_phos" = "xyes" ; then
614 AC_DEFINE(HLT_PHOS)
f59fee6d 615 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
c160eda8 616fi
617AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
f59fee6d 618AC_MSG_CHECKING([whether to compile phos library])
c6b46c3f 619AC_MSG_RESULT([$enable_module])
f59fee6d 620AC_SUBST([ALIPHOS_LIBS])
c160eda8 621
c6b46c3f 622dnl ------------------------------------------------------------------
623AH_TEMPLATE([HLT_TRD],[hlt trd library])
624
f59fee6d 625ALITRD_LIBS=
626CHECK_HLTMODULE([trd],
627 [], [],
628 [MLP], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
629 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
630 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
631
c6b46c3f 632if test "x$enable_module" = "xmissheader"; then
633 enable_module="no...requires.AliRoot>v4-07-Release"
f59fee6d 634 enable_trd="no...requires.AliRoot>v4-07-Release"
c6b46c3f 635elif test "x$enable_module" = "xforce"; then
636 enable_trd="yes"
f59fee6d 637else
638 enable_trd=$enable_module
639 if test "x$enable_trd" = "xyes" ; then
640 AC_LANG_PUSH(C++)
641 save_CPPFLAGS="$CPPFLAGS"
642 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
643 AC_MSG_CHECKING([for required functions in AliTRDclusterizer])
644 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDclusterizer.h>],
645 [AliTRDclusterizer c;
646 c.SetRawVersion(0)])],
647 [],
648 [enable_trd="no...requires.AliRoot>v4-07-Release"])
649 AC_MSG_RESULT([$enable_trd])
650 AC_LANG_POP(C++)
651 CPPFLAGS="$save_CPPFLAGS"
652 fi
653fi
2e742d30 654
0f51f5b8 655if test "x$enable_trd" = "xyes" ; then
656 AC_DEFINE(HLT_TRD)
f59fee6d 657 ALITRD_LIBS=$ALIHLTMODULE_LIBS
0f51f5b8 658fi
659AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
f59fee6d 660AC_MSG_CHECKING([whether to compile trd library])
c6b46c3f 661AC_MSG_RESULT([$enable_module])
f59fee6d 662AC_SUBST([ALITRD_LIBS])
0f51f5b8 663
664dnl ------------------------------------------------------------------
94cc9aab 665AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
2e742d30 666
f59fee6d 667ALIMUON_LIBS=
e89e6b23 668CHECK_HLTMODULE([dimuon],
41f99620 669 [AliMpExMap.h AliMUONTriggerIO.h],
670 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
f59fee6d 671 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
672 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
673 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
674
675if test "x$enable_module" = "xmissheader"; then
a853a794 676 enable_module="no...requires.AliRoot>=v4-08-Release"
677 enable_muon="no...requires.AliRoot>=v4-08-Release"
c6b46c3f 678elif test "x$enable_module" = "xforce"; then
679 enable_muon="yes"
f59fee6d 680else
681 enable_muon=$enable_module
682fi
683
684if test "x$enable_muon" = "xyes" ; then
94cc9aab 685 AC_DEFINE(HLT_MUON)
f59fee6d 686 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
94cc9aab 687fi
f59fee6d 688AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
689AC_MSG_CHECKING([whether to compile muon library])
c6b46c3f 690AC_MSG_RESULT([$enable_module])
f59fee6d 691AC_SUBST([ALIMUON_LIBS])
94cc9aab 692
693dnl ------------------------------------------------------------------
e89e6b23 694AH_TEMPLATE([HLT_COMP],[hlt comp library])
695
696ALICOMP_LIBS=
697CHECK_HLTMODULE([comp],
698 [], [$ALIROOT_CPPFLAGS],
699 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
700 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
701 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
702
703if test "x$enable_module" = "xmissheader"; then
c6b46c3f 704 enable_module="no...header.missing"
e89e6b23 705 enable_comp="no...header.missing"
c6b46c3f 706elif test "x$enable_module" = "xforce"; then
707 enable_comp="yes"
e89e6b23 708else
709 enable_comp=$enable_module
710fi
711
712if test "x$enable_comp" = "xyes" ; then
713 AC_DEFINE(HLT_COMP)
714 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
715fi
716AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
717AC_MSG_CHECKING([whether to compile comp library])
c6b46c3f 718AC_MSG_RESULT([$enable_module])
e89e6b23 719AC_SUBST([ALICOMP_LIBS])
720
721dnl ------------------------------------------------------------------
fc455fba 722AC_MSG_CHECKING([whether to disable AliRoot logging])
723AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
724AC_ARG_ENABLE(aliroot-logging,
725 [AC_HELP_STRING([--disable-aliroot-logging],
726 [disable logging through AliRoot logging methods])],
727 [],[enable_aliroot_logging=no])
c018a1bd 728if test "x$have_aliroot" = "xno" ; then
729 enable_aliroot_logging=yes # this means 'disable'
730fi
fc455fba 731if test "x$enable_aliroot_logging" != "xno" ; then
732 AC_DEFINE(NOALIROOT_LOGGING)
b521659f 733fi
fc455fba 734AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
735AC_MSG_RESULT([$enable_aliroot_logging])
b521659f 736
737dnl ------------------------------------------------------------------
738AC_MSG_CHECKING([whether to enable saving MC data through the chain])
739AH_TEMPLATE([DOMC],[MC saving])
740AC_ARG_ENABLE(mc-saving,
741 [AC_HELP_STRING([--enable-mc-saving],
742 [enable saving MC data through the chain])],
743 [],[enable_mc_saving=no])
744if test "x$enable_mc_saving" = "xyes" ; then
745 AC_DEFINE(DOMC)
746fi
747AC_MSG_RESULT([$enable_mc_saving])
748
749dnl ------------------------------------------------------------------
b521659f 750dnl certainly something old, but we keep the define
751AC_MSG_CHECKING([whether to use ROWHOUGH])
752AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
753AC_ARG_ENABLE(rowhough,
754 [AC_HELP_STRING([--enable-rowhough],
755 [use ROWHOUGH ])],
756 [],[enable_rowhough=no])
757if test "x$enable_rowhough" = "xyes" ; then
758 AC_DEFINE(USEROWHOUGH)
759fi
760AC_MSG_RESULT([$enable_rowhough])
761
762dnl ------------------------------------------------------------------
53feaef5 763dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
764dnl stand-alone build system. This is most likely something old we can
765dnl get rid off later, or do something more reasonable. Since the define
766dnl needs the quotes they have to be escaped. This works well for the
767dnl Makefile but not for the configure script. So we have to add the
768dnl defines after all the other checks.
769CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
770if test ! "x$have_aliroot" = "xno" ; then
771 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
772fi
773
774dnl ------------------------------------------------------------------
b521659f 775dnl
776dnl Documentation
777dnl
778AC_ARG_VAR(DOXYGEN, The Documentation Generator)
779AC_PATH_PROG(PERL, perl)
780AC_PATH_PROG(DOXYGEN, doxygen)
781AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
5894eaa5 782AC_ARG_ENABLE(dot,
783 [AC_HELP_STRING([--enable-dot],
784 [enable dot documentation generator])],
785 [],[enable_dot=no])
b521659f 786HAVE_DOT=NO
787DOT_PATH=
788AC_PATH_PROG(DOT, dot)
5894eaa5 789if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
b521659f 790 HAVE_DOT=YES
791 DOT_PATH=`dirname $DOT`
792fi
793AC_SUBST([HAVE_DOT])
794AC_SUBST([DOT_PATH])
795
90ebac25 796dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
797dnl echo $HAVE_SRC_SUBDIR
798dnl if ! test -d $HAVE_SRC_SUBDIR; then
799dnl HAVE_SRC_SUBDIR=
800dnl fi
801dnl AC_SUBST([HAVE_SRC_SUBDIR])
802
b521659f 803dnl ------------------------------------------------------------------
2bbbadd1 804dnl inatallation directory for libraries
805dnl
806if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
807libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
808AC_MSG_NOTICE([libdir set to $libdir])
809fi
810dnl ------------------------------------------------------------------
b521659f 811AC_CONFIG_FILES([Makefile
812 BASE/Makefile
53feaef5 813 BASE/setenv.sh
814 BASE/setenv.csh
2be16a33 815 BASE/HOMER/Makefile
242bb794 816 BASE/util/Makefile
d098ebd4 817 BASE/interface/Makefile
853121af 818 BASE/test/Makefile
4cbaf07b 819 sim/Makefile
820 rec/Makefile
12ec5482 821 shuttle/Makefile
b521659f 822 SampleLib/Makefile
823 TPCLib/Makefile
db16520a 824 TPCLib/mapping2array.cxx
78b557c2 825 TPCLib/OnlineDisplay/Makefile
5e3820e2 826 RCU/Makefile
768be5c3 827 RCU/test/Makefile
c160eda8 828 PHOS/Makefile
0f51f5b8 829 TRD/Makefile
94cc9aab 830 MUON/Makefile
3daf4fbc 831 trigger/Makefile
e89e6b23 832 comp/Makefile
b521659f 833 doc/Makefile
2efb85be 834 doc/doxygen.conf
835 doc/doxymodule.conf])
b521659f 836
837
838AC_OUTPUT
839dnl
840dnl EOF
841dnl
842