new QA check structure and removed 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 ------------------------------------------------------------------
408c5899 8
9dnl Take either the AliRoot tag as version id or the current revision
10AC_INIT([Alice High Level Trigger] ,
7233bc62 11 m4_esyscmd([url=`svn info 2> /dev/null | grep "URL:" | cut -d: -f3 | sed -e 's|[/]*HLT[/]*$||' | sed -e 's|^[/]*||g' | cut -d '/' -f 4`; \
12 revision=`svn info 2> /dev/null | grep "Revision:" | cut -d ' ' -f 2 | cut -d '/' -f 4`; \
13 if test "x$url" != "x"; then echo -n $url; \
14 elif test "x$revision" != "x"; then echo -n $revision ; \
15 elif test -e .revision && test x`cat .revision` != x; then \
16 cat .revision; \
17 else \
18 echo -n invalid-version; \
19 fi]),
408c5899 20 [Matthias.Richter@ift.uib.no],
21 [alice-hlt])
b521659f 22
23dnl ------------------------------------------------------------------
24dnl the package from CVS contains the old Makefiles as well. In order to
25dnl prevent them from becoming overwritten, we require a separate build
26dnl directory
27if test "`dirname $0`" = "." ; then
28 AC_ERROR([please run the script from a separate build directory])
29fi
30
31dnl ------------------------------------------------------------------
32AC_CANONICAL_SYSTEM
33AC_PREFIX_DEFAULT(${PWD})
34AC_CONFIG_SRCDIR(BASE/AliHLTComponent.cxx)
35AM_INIT_AUTOMAKE
36AC_PROG_CC
37AC_PROG_CXX
38AC_PROG_LIBTOOL
39
40AC_DEBUG
41AC_OPTIMIZATION
dc8f7cb7 42AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 )
43
44dnl ------------------------------------------------------------------
45dnl A warning posted into the auto-generated files
46dnl Does NOT concern this file ;-)
47AUTOGENERATED_WARNING="!!!!!!! DO NOT EDIT THIS FILE !!!!!!"
48AC_SUBST([AUTOGENERATED_WARNING])
b521659f 49
50dnl ------------------------------------------------------------------
51dnl
52dnl Check for ROOT
53dnl
54ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])])
55AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" )
53feaef5 56AC_SUBST([ROOTSYS])
dc8f7cb7 57ROOTBINDIR=`dirname $ROOTEXEC`
58AC_SUBST([ROOTBINDIR])
59
dfaa582a 60dnl test for additional required root libraries and headers
61LIBS='-ldl'
62if test "x$have_root" = "x1"; then
63 AC_LANG_PUSH(C++)
64 save_CPPFLAGS=$CPPFLAGS
65 save_LDFLAGS=$LDFLAGS
66 save_LIBS=$LIBS
67 CPPFLAGS=`echo $save_CPPFLAGS; for i in ${ROOTINCDIR}; do echo -n "-I$i " ; done`
68
dc8f7cb7 69 # we check for the libSTEER library which is linked to
70 # - the ROOT libs libGeom libMinuit libVMC libEG
71 # - the AliRoot libESD libRAWData (libRAWDatarec from v4-04-Rev-07)
72 # - ROOT libCint needs also libdl
73 # - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires
74 # libTreePlayer.so
75 # - from Jan 07 libESD also depends on libXMLIO
fbf4d793 76 # - libSTEER depends on libProofPlayer since Oct 2007 (after v4-07-Release)
77 ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO Thread Proof ProofPlayer'
dc8f7cb7 78 for CHECKLIB in $ROOT_CHECKLIBS ; do
dc8f7cb7 79 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
80 LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
81 AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
82 done
dfaa582a 83
84 # TBuffer.h has been made pure virtual in root v5-15-02 and one
85 # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
ba4b0dd7 86 AC_CHECK_HEADER([TBufferFile.h], [], [HAVE_NOT_TBUFFERFILE])
dfaa582a 87
0b6c2560 88 # TView.h has been made pure virtual right after root v5-15-02 and one
89 # has to derive from TView3D.h (needed for TPCLib/OnlineDisplay/AliHLTTPCDisplay3D)
ba4b0dd7 90 AC_CHECK_HEADER([TView3D.h], [], [HAVE_NOT_TVIEW3D])
0b6c2560 91
dc8f7cb7 92 CPPFLAGS=$save_CPPFLAGS
93 LDFLAGS=$save_LDFLAGS
94 LIBS=$save_LIBS
dfaa582a 95 AC_LANG_POP(C++)
dc8f7cb7 96fi
b521659f 97
98dnl ------------------------------------------------------------------
99# TODO: make this configurable through arguments
100#Define whether you want to run with ALIROOT or only ROOT
101AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment])
102ALIHLT_USEPACKAGE=ALIROOT
103#ALIHLT_USEPACKAGE=ROOT
104#ALIHLT_USEPACKAGE=STANDALONE
105AC_DEFINE(use_aliroot)
106AC_DEFINE(use_root)
85869391 107CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}"
7233bc62 108save_CPPFLAGS=$CPPFLAGS
109save_LDFLAGS=$LDFLAGS
110save_LIBS=$LIBS
85869391 111
112dnl ------------------------------------------------------------------
74c73e5a 113dnl check for AliRoot features
114AC_LANG_PUSH(C++)
74c73e5a 115have_aliroot=no
2bbbadd1 116AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation],
117 [test -d $with_aliroot && ALICE_ROOT=$with_aliroot],
118 [])
119
120if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then
121 dnl ------------------------------------------------------------------
122 dnl Try to estimate the system architecture
123 case $host_os:$host_cpu in
124 linux*:x86_64*) alice_target='linuxx8664gcc' ;;
125 linux*) alice_target='linux' ;;
126 *) alice_target='unknown' ;;
127 esac
128 if test "x$alice_target" = "xunknown" ; then
129 if test -z $ALICE_TARGET ; then
130 AC_MSG_ERROR([Can not estimate system architecture.
131 To avoid the problem, set the ALICE_TARGET variable appropriately.
132 Please send the following information to Matthias.Richter@ift.uib.no:
133 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
134 else
135 AC_MSG_NOTICE([Unknown system architecture.
136 Please send the following information to Matthias.Richter@ift.uib.no:
137 ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ])
138 fi
139 else
140 if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then
141 AC_MSG_WARN([The ALICE_TARGET variable does not match your current system
142 overriding $ALICE_TARGET by $alice_target])
143 fi
144 ALICE_TARGET=$alice_target
145 fi
dc8f7cb7 146 ALIROOTBINDIR=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}
74c73e5a 147 ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}
148 ALIROOTINCDIR=${ALICE_ROOT}/include
dc8f7cb7 149 test -d ${ALIROOTBINDIR} || AC_MSG_WARN([can not find AliRoot binary directory $ALIROOTBINDIR])
2bbbadd1 150 test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR])
151 test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR])
74c73e5a 152fi
2bbbadd1 153
154AC_MSG_CHECKING([for AliRoot])
74c73e5a 155if test "x$ALICE_ROOT" != "x" \
dc8f7cb7 156 && test -d ${ALIROOTBINDIR} \
74c73e5a 157 && test -d ${ALIROOTLIBDIR} \
158 && test -d ${ALIROOTINCDIR}; then
159 have_aliroot=$ALICE_ROOT
160else
dc8f7cb7 161 ALIROOTBINDIR=
74c73e5a 162 ALIROOTLIBDIR=
163 ALIROOTINCDIR=
164fi
165AC_MSG_RESULT([$have_aliroot])
166
167if test ! "x$have_aliroot" = "xno" ; then
74c73e5a 168 ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW"
169 ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}"
dc8f7cb7 170 ALIROOT_LIBS="-lESD $ADD_ROOTLIBS"
74c73e5a 171 save_CPPFLAGS=$CPPFLAGS
172 save_LDFLAGS=$LDFLAGS
173 save_LIBS=$LIBS
174 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
db16520a 175 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
2bbbadd1 176
f8c5e339 177 # check for certain AliRoot libraries/files/features
c018a1bd 178 # libSTEERBase present since Aug 7 2007
179 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
180 CHECKLIB=STEERBase
181 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
182
f5bf5fc3 183 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
184 CHECKLIB=AOD
185 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
186
2bbbadd1 187 # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006)
188 have_alirawdata=no
189 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
190 CHECKLIB=RAWDatabase
191 AC_CHECK_LIB([$CHECKLIB],[_init],
192 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
193 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
194 CHECKLIB=RAWDatarec
195 AC_CHECK_LIB([$CHECKLIB],[_init],
196 [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"
2bbbadd1 197 have_alirawdata=$CHECKLIB])],
198 [# second pass with -RAWData
199 CHECKLIB="-lRAWData"
200 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER"
201 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>
202 #include <AliRawReaderFile.h>
203 #include <AliRawReaderDate.h>
204 #include <AliRawReaderRoot.h>],
205 [AliRawReaderMemory mreader;
206 AliRawReaderFile freader;
207 AliRawReaderDate dreader(NULL,0);
208 AliRawReaderRoot rreader(NULL,0);])],
e962f438 209 [ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB"
2bbbadd1 210 have_alirawdata=$CHECKLIB],
211 [have_alirawdata=no])
212 ]) dnl AC_CHECK_LIB RAWDatabase
fa274626 213 AC_MSG_CHECKING([for AliRawReader classes in RAWData libraries])
214 AC_MSG_RESULT([$have_alirawdata])
215
fbf4d793 216 # CBD library is present since AliRoot version v4-05-00 (02.06.2006)
217 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS -lSTEER"
218 CHECKLIB=CDB
219 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"])
220
221 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
222 CHECKLIB=STEER
223 AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"],[have_aliroot=no])
224
225 dnl
226 dnl check whether AliLog supports notification callback
227 dnl
228 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
229 have_alilog_notification=no
230 if test ! "x$have_aliroot" = "xno" ; then
231 AC_MSG_CHECKING([whether AliLog supports notification callback])
232 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliLog.h>],
233 [AliLog::AliLogNotification fct])],
234 [have_alilog_notification=yes],
235 [AC_DEFINE(NO_ALILOG_NOTIFICATION)])
236 AC_MSG_RESULT([$have_alilog_notification])
237 fi
238
239 if test "x$have_aliroot" = "xno" ; then
240 # 2007-08-18 dont reset ALIROOT_CPPFLAGS in order to allow compilation
241 # but library dependencies might not be resolved completely
242 #ALIROOT_CPPFLAGS=
243 AC_MSG_WARN([some of the AliRoot library dependencies are not resolved.
244 This can happen from time to time due to development in AliRoot. You can
245 force compilation of detector libs by --enable-<detector>, but be aware
246 of unresolved references at runtime.])
247 AC_MSG_WARN([ ------------------------------------------ ])
248 AC_MSG_WARN([ Report this to $PACKAGE_BUGREPORT ])
249 AC_MSG_WARN([ please include config.log ])
250 AC_MSG_WARN([ ------------------------------------------ ])
251 ALIROOT_LDFLAGS=
252 ALIROOT_LIBS=
253 fi
254
f5bf5fc3 255 dnl
f527516f 256 dnl ESD supports non-std content
257 dnl
258 have_esd_nonstd=no
259 AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>
260 #include <AliExternalTrackParam.h>
261 #include <TTree.h>
262 #include <TClonesArray.h>],
263 [AliESDEvent esd;
264 esd.CreateStdContent();
265 TTree* tree=new TTree("esdTree", "Tree with HLT ESD objects");
f527516f 266 TClonesArray* a=new TClonesArray("AliExternalTrackParam");
267 a->SetName("SomeObject");
268 esd.AddObject(a);
50a3793d 269 esd.WriteToTree(tree);
f527516f 270 if (!tree->FindBranch("SomeObject")) return 1;
271 return 0;])],
272 [have_esd_nonstd=yes],
273 [AC_DEFINE(HAVE_NOT_ESD_NONSTD)])
274 AC_MSG_CHECKING(whether ESD supports non standard content)
275 AC_MSG_RESULT([$have_esd_nonstd])
276
277 dnl
83cb7e1d 278 dnl ESD copy function added May 9 2008 rev 25667
279 dnl
f527516f 280 if test "x$have_esd_nonstd" != "xyes"; then
83cb7e1d 281 have_esd_copy=no
282 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliESDEvent.h>],
283 [AliESDEvent esd1;
284 AliESDEvent esd2;
285 esd2=esd1;])],
9877121c 286 [have_esd_copy=yes],
287 [AC_DEFINE(HAVE_NOT_ESD_COPY)])
83cb7e1d 288 AC_MSG_CHECKING(for ESD assignment operator)
289 AC_MSG_RESULT([$have_esd_copy])
f527516f 290 fi
83cb7e1d 291
292 dnl
296b5188 293 dnl AliRawReaderMemory support for multiple buffers added
c03e064d 294 dnl revision 26829 Jun 2008
296b5188 295 dnl
296 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/RAW"
297 have_rawreadermemory_multbuffers=no
298 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h>],
299 [AliRawReaderMemory rr;
300 rr.AddBuffer(NULL, 0, 0);])],
301 [have_rawreadermemory_multbuffers=yes],
302 [AC_DEFINE(HAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER)])
c03e064d 303 AC_MSG_CHECKING(AliRawReaderMemory support for multiple buffers)
296b5188 304 AC_MSG_RESULT([$have_rawreadermemory_multbuffers])
305
306 dnl
fbf4d793 307 dnl required header files and libraries for modules
f5bf5fc3 308 dnl
04dbc9e4 309
f59fee6d 310 dnl
311 dnl Check for the interface of AliExternalTrackParam which has been changed
312 dnl in revision 1.17 of AliExternalTrackParam.h (AliRoot version v4-05-04
313 dnl or higher)
314 externaltrackparam_version=1
315 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliExternalTrackParam.h>],
316 [AliExternalTrackParam trackparam;
317 Double_t param[[5]]; Double_t covar[[15]];
318 trackparam.Set(0., 0., param, covar);])],
319 [externaltrackparam_version=2],
320 [AC_DEFINE(EXTERNALTRACKPARAM_V1)])
321 AC_MSG_CHECKING(for version of AliExternalTrackParam)
322 AC_MSG_RESULT($externaltrackparam_version)
323
4646c6e3 324 dnl The AliShuttleInterface was changed in rev 29388. Some return types
325 dnl had been const, now changed according to gcc 4.3 warnings
326 AC_MSG_CHECKING(for version of AliShuttleInterface.h)
327 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/"
328 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
329 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
330 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliShuttleInterface.h>],
331 [class dummy : public AliShuttleInterface {
332 public:
333 const UInt_t GetStartTimeDCSQuery() {;}
334 };])],
335 [AC_DEFINE(SHUTTLE_PRE_REV29388_INTERFACE)
336 alishuttleinterface_version=pre.rev.29388],
337 [alishuttleinterface_version=up.to.date])
338 AC_MSG_RESULT([$alishuttleinterface_version])
339
74c73e5a 340 CPPFLAGS=$save_CPPFLAGS
341 LDFLAGS=$save_LDFLAGS
342 LIBS=$save_LIBS
7233bc62 343fi # if test ! "x$have_aliroot" = "xno"
f59fee6d 344
74c73e5a 345AC_LANG_POP(C++)
5f5b708b 346AC_SUBST([ALICE_ROOT])
74c73e5a 347AC_SUBST([ALIROOT_CPPFLAGS])
348AC_SUBST([ALIROOT_LDFLAGS])
dc8f7cb7 349AC_SUBST([ALIROOTBINDIR])
53feaef5 350AC_SUBST([ALIROOTLIBDIR])
74c73e5a 351AC_SUBST([ALIROOT_LIBS])
0f51f5b8 352AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes)
85869391 353
6c1a9d9e 354HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE'
355HLTBASE_LDFLAGS=
356AC_SUBST([HLTBASE_CPPFLAGS])
357AC_SUBST([HLTBASE_LDFLAGS])
358
85869391 359dnl ------------------------------------------------------------------
78b557c2 360dnl check for the HLT PubSub Framework
f8c5e339 361dnl namely for the existence of the HOMER library
362dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt
363dnl package. It os though possible to choose an external. library
364dnl In order to make the origni of the HOMER lib clear, the one in AliRoot
365dnl got the name libAliHLTHOMER
78b557c2 366AC_MSG_CHECKING([for HLT PubSub Framework])
367AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework],
368 [],
369 [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ])
370if test -z $with_pubsub || ! test -d $with_pubsub ; then
371 with_pubsub=no
372fi
373AC_MSG_RESULT([$with_pubsub])
f8c5e339 374HOMER_VERSION=2
5f1685a0 375HOMER_LIBS=
78b557c2 376
377AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface])
378if test "x$with_pubsub" != "xno" ; then
379 save_CPPFLAGS=$CPPFLAGS
380 save_LDFLAGS=$LDFLAGS
381 save_LIBS=$LIBS
4a6b4894 382 # currently the different versions of the HLT PubSub framework have a different
383 # directory layout
20b6dd9a 384 if test -d ${with_pubsub}/include/HOMER ; then
5235c3e9 385 # the 'early' location of the include files with separated HOMER sub dirs
9ce4bf4a 386 HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader"
5235c3e9 387 elif test -d ${with_pubsub}/include/Util/HOMER ; then
388 # location for HLT Framework versions after Sep 2006
9ce4bf4a 389 HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER"
5235c3e9 390 elif test -d ${with_pubsub}/src/Util/HOMER/include ; then
391 # fall back if include files were not installed (versions after Sep 06)
9ce4bf4a 392 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include"
4a6b4894 393 else
5235c3e9 394 # fall back if include files were not installed (versions before Sep 06)
9ce4bf4a 395 HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include"
4a6b4894 396 fi
9ce4bf4a 397 HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done`
5894eaa5 398
399 AC_ARG_ENABLE(pubsub-debug,
400 [AC_HELP_STRING([--disable-pubsub-debug],
401 [force the production version of the PubSub framework])],
402 [],[enable_pubsub_debug=yes])
403 homer_type="none"
404 HOMER_TARGET="`uname -s`-`uname -m`"
405 AC_MSG_CHECKING([for HLT PubSub Framework release type])
406 if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then
407 homer_type="production"
408 HOMER_TARGET="${HOMER_TARGET}-release"
409 elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then
410 homer_type="debug"
411 HOMER_TARGET="${HOMER_TARGET}-debug"
412 fi
413 AC_MSG_RESULT([${homer_type}])
f8c5e339 414 HOMERREADER_HEADER=HOMERReader.h
5894eaa5 415 HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}"
416 HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}"
53feaef5 417 HOMER_LDFLAGS="-L${HOMER_LIBDIR}"
78b557c2 418 CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS"
419 LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS"
420 LIBS="$save_LIBS "
421 with_homer=no
422 AC_LANG_PUSH(C++)
f8c5e339 423 AC_CHECK_HEADER([$HOMERREADER_HEADER],
5f1685a0 424 [ AC_CHECK_LIB([HOMER],[_init],
425 [with_homer=yes
426 HOMER_LIBS="-lHOMER"],
427 [ AC_CHECK_LIB([HOMERReader],[_init],
428 [with_homer=yes
429 HOMER_LIBS="-lHOMERReader"])])
430 LIBS="$LIBS $HOMER_LIBS"
9ce4bf4a 431 AC_MSG_CHECKING([version of HOMER library])
5f1685a0 432 dnl The Homer library has no versioning, so we do our own
433 dnl version description
434 dnl ----------------------------------------------------------------------
435 dnl 1 inintial version
436 dnl 2 GetBlockStatusFlags added to the interface
437 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>],
438 [HOMERReader reader("dummy", 0);
439 reader.GetBlockStatusFlags(0);])],
f8c5e339 440 [],
441 [HOMER_VERSION=1])
5f1685a0 442 AC_MSG_RESULT([$HOMER_VERSION])
f8c5e339 443 ],
444 [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER])
78b557c2 445 AC_LANG_POP(C++)
f8c5e339 446 HOMER_INBUILT_LIB=
447else
448dnl no pubsub version defined, check if the HOMER lib is available in AliRoot
449 topdir=`dirname $0`
450 HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER"
451 HOMERREADER_HEADER=AliHLTHOMERReader.h
452 HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la
453 HOMER_BINDIR=
454 HOMER_LIBDIR=
455 HOMER_LDFLAGS=
456fi
457
78b557c2 458 if test "x$with_homer" = "xno" ; then
459 HOMER_CPPFLAGS=
460 HOMER_LDFLAGS=
5f1685a0 461 HOMER_LIBS=
78b557c2 462 else
5f1685a0 463 HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION"
78b557c2 464 AC_DEFINE(HAVE_HOMERREADER)
465 fi
466 CPPFLAGS="$save_CPPFLAGS"
467 LDFLAGS="$save_LDFLAGS"
468 LIBS="$save_LIBS"
f8c5e339 469
470AC_SUBST([HOMERREADER_HEADER])
471AC_SUBST([HOMER_INBUILT_LIB])
78b557c2 472AC_SUBST([HOMER_CPPFLAGS])
473AC_SUBST([HOMER_LDFLAGS])
53feaef5 474AC_SUBST([HOMER_LIBDIR])
475AC_SUBST([HOMER_BINDIR])
5f1685a0 476AC_SUBST([HOMER_LIBS])
78b557c2 477
478dnl ------------------------------------------------------------------
7233bc62 479AC_ARG_ENABLE(all,
480 [AC_HELP_STRING([--disable-all],
481 [disable all detector modules, individual modules can be switched on by --enable-det])],
482 [disable_all=yes],[])
483
484dnl ------------------------------------------------------------------
85869391 485AC_MSG_CHECKING([whether to impose strict coding conventions])
486AC_ARG_ENABLE(strict,
2028353f 487 [AC_HELP_STRING([--disable-strict],
488 [disable coding convention checks ])],
489 [],[enable_strict=yes])
85869391 490if test "x$enable_strict" = "xyes" ; then
f7561f8d 491 CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow"
85869391 492fi
493AC_MSG_RESULT([$enable_strict])
b521659f 494
495dnl ------------------------------------------------------------------
5b6ab198 496AC_MSG_CHECKING([whether to enable component statistics])
497AC_ARG_ENABLE(component-stat,
498 [AC_HELP_STRING([--enable-component-stat],
499 [enable component statistics ])],
500 [],[enable_component_stat=no])
501if test "x$enable_component_stat" = "xyes" ; then
502 AC_DEFINE(HLT_COMPONENT_STATISTICS)
503fi
504AC_MSG_RESULT([$enable_component_stat])
505
506dnl ------------------------------------------------------------------
cad2d06c 507dnl ---- module checks
508dnl ------------------------------------------------------------------
509save_CPPFLAGS=$CPPFLAGS
510save_LDFLAGS=$LDFLAGS
511save_LIBS=$LIBS
512
513dnl ------------------------------------------------------------------
b521659f 514AC_MSG_CHECKING([whether to compile sample library])
515AH_TEMPLATE([HLT_SAMPLE],[hlt sample library])
516AC_ARG_ENABLE(sample,
c018a1bd 517 [AC_HELP_STRING([--disable-sample],
b521659f 518 [compile the sample library ])],
2e742d30 519 [],
520 [if test "x$have_aliroot" = "xno" ; then
521 enable_sample="no...requires.AliRoot"
522 else
523 enable_sample=yes
524 fi
525 ])
526
b521659f 527if test "x$enable_sample" = "xyes" ; then
528 AC_DEFINE(HLT_SAMPLE)
529fi
530AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes)
531AC_MSG_RESULT([$enable_sample])
532
533dnl ------------------------------------------------------------------
c018a1bd 534AC_MSG_CHECKING([whether to compile util library])
535AH_TEMPLATE([HLT_UTIL],[HLT utility library])
536AC_ARG_ENABLE(util,
537 [AC_HELP_STRING([--disable-util],
538 [compile the util library ])],
2e742d30 539 [],
540 [if test "x$have_aliroot" = "xno" ; then
541 enable_util="no...requires.AliRoot"
542 else
543 enable_util=yes
544 fi
545 ])
c018a1bd 546
547if test "x$enable_util" = "xyes" ; then
548 AC_DEFINE(HLT_UTIL)
549fi
550AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes)
551AC_MSG_RESULT([$enable_util])
552
553dnl ------------------------------------------------------------------
b521659f 554AH_TEMPLATE([HLT_TPC],[hlt tpc library])
f59fee6d 555
e642ae99 556ALITPC_LIBS=
f59fee6d 557CHECK_HLTMODULE([tpc],
e962f438 558 [AliTPCRawStream.h],
559 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC],
70d00903 560 [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
e642ae99 561 [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 562 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
563
c6b46c3f 564if test "x$enable_module" = "xmissheader"; then
565 enable_module="no...missing.headers"
50a3793d 566 enable_tpc=$enable_module
c6b46c3f 567elif test "x$enable_module" = "xforce"; then
568 enable_tpc="yes"
f59fee6d 569else
570 enable_tpc=$enable_module
571fi
2e742d30 572
b521659f 573if test "x$enable_tpc" = "xyes" ; then
e642ae99 574 AC_LANG_PUSH(C++)
b521659f 575 AC_DEFINE(HLT_TPC)
e642ae99 576 ALITPC_LIBS=$ALIHLTMODULE_LIBS
577 dnl
578 dnl Check for functionality in the TPC reconstruction required for online
579 dnl processing
580 dnl
581 have_tpc_hltoffline_rec=no
582 AC_MSG_CHECKING(for on-line features of TPC offline reconstruction)
583 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC"
584 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
585 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS"
586 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h>
587 #include <AliTPCclustererMI.h>
588 #include <TObjArray.h>],
589 [AliTPCtrackerMI tracker;
590 TObjArray* array=NULL;
591 tracker.LoadClusters(array);
592 AliTPCclustererMI cl(NULL, NULL);
89c2e505 593 cl.GetOutputClonesArray();])],
e642ae99 594 [have_tpc_hltoffline_rec=yes],
595 [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)])
cad2d06c 596 LIBS=$save_LIBS
e642ae99 597 AC_MSG_RESULT([$have_tpc_hltoffline_rec])
598
599 AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)])
600 AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)])
601
602 have_tpc_mapping=no
603 if test ! "x$have_aliroot" = "xno" ; then
604 # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC
605 # which is stored in the TPC/mapping/Patchx.data files from
606 # AliRoot version v4-04-Release (May 2006)
607 AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available])
608 TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping
609 AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data],
610 [have_tpc_mapping=yes
611 AC_SUBST(TPC_PAD_MAPPING_PATH)
612 AC_DEFINE(HAVE_TPC_MAPPING)],
613 [])
614
615 fi
616 AC_MSG_CHECKING([for TPC mapping layout])
617 AC_MSG_RESULT([$have_tpc_mapping])
618 AC_LANG_POP(C++)
619
adec4ad4 620else
621 enable_module=$enable_tpc
b521659f 622fi
623AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes)
d6e2c707 624AC_MSG_CHECKING([whether to compile TPC library])
c6b46c3f 625AC_MSG_RESULT([$enable_module])
f59fee6d 626AC_SUBST([ALITPC_LIBS])
b521659f 627
628dnl ------------------------------------------------------------------
5e3820e2 629AH_TEMPLATE([HLT_RCU],[hlt rcu library])
630
631CHECK_HLTMODULE([rcu],
632 [AliAltroDecoder.h],
633 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW],
634 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
635 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
636 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
637
638if test "x$enable_module" = "xmissheader"; then
639 enable_module="no...missing.headers"
50a3793d 640 enable_rcu=$enable_module
5e3820e2 641elif test "x$enable_module" = "xforce"; then
642 enable_rcu="yes"
643else
644 AC_LANG_PUSH(C++)
5e3820e2 645 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS"
646 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
647 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS"
648 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>],
649 [AliAltroDecoder decoder;
650 decoder.CopyBackward(NULL, 0);])],
651 [enable_rcu=$enable_module],
652 [enable_module="no...requires.AliRoot>v4-10-Release"
653 enable_rcu="no...requires.AliRoot>v4-10-Release"])
654 CPPFLAGS=$save_CPPFLAGS
655 LDFLAGS=$save_LDFLAGS
656 LIBS=$save_LIBS
657 AC_LANG_POP(C++)
658fi
659
660if test "x$enable_rcu" = "xyes" ; then
661 AC_DEFINE(HLT_RCU)
adec4ad4 662else
663 enable_module=$enable_rcu
5e3820e2 664fi
665AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes)
d6e2c707 666AC_MSG_CHECKING([whether to compile RCU library])
5e3820e2 667AC_MSG_RESULT([$enable_module])
668AC_SUBST([ALIRCU_LIBS])
669
670dnl ------------------------------------------------------------------
c160eda8 671AH_TEMPLATE([HLT_PHOS],[hlt phos library])
f59fee6d 672
673ALIPHOS_LIBS=
674CHECK_HLTMODULE([phos],
675 [], [$ALIROOT_CPPFLAGS],
676 [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS],
652cf9d2 677 [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 678 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
679
c6b46c3f 680if test "x$enable_module" = "xmissheader"; then
681 enable_module="no...requires.AliRoot>v4-05-07"
50a3793d 682 enable_phos=$enable_module
c6b46c3f 683elif test "x$enable_module" = "xforce"; then
684 enable_phos="yes"
f59fee6d 685else
686 have_alicalorawstream=no
687 if test ! "x$have_aliroot" = "xno" ; then
688 AC_LANG_PUSH(C++)
689 save_CPPFLAGS="$CPPFLAGS"
690 # this can not be used as AliCaloRawStream.h indirectly depends on TString.h
691 #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes])
56584e00 692 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS"
f59fee6d 693 AC_MSG_CHECKING([for AliCaloRawStream.h usability])
694 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h>
695 #include <AliCaloRawStream.h>],
696 [int i])],
697 [AC_DEFINE(HAVE_ALICALORAWSTREAM)
698 have_alicalorawstream=yes],
699 [])
ae1c1854 700 AC_MSG_RESULT([$have_aliphosrecoparam])
701 AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ])
702 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>],
703 [AliPHOSRecoParam param;
704 param.GetEMCClusteringThreshold()])],
705 [have_aliphosrecoparam=yes],
706 [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)])
f59fee6d 707 AC_MSG_RESULT([$have_alicalorawstream])
708 AC_LANG_POP(C++)
709 CPPFLAGS="$save_CPPFLAGS"
710 fi
711 if test "x$have_alicalorawstream" != "xyes"; then
712 enable_phos="no...requires.AliRoot>v4-05-07"
713 else
714 enable_phos=$enable_module
715 fi
716fi
2e742d30 717
c160eda8 718if test "x$enable_phos" = "xyes" ; then
719 AC_DEFINE(HLT_PHOS)
f59fee6d 720 ALIPHOS_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 721else
722 enable_module=$enable_phos
c160eda8 723fi
724AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes)
d6e2c707 725AC_MSG_CHECKING([whether to compile PHOS library])
c6b46c3f 726AC_MSG_RESULT([$enable_module])
f59fee6d 727AC_SUBST([ALIPHOS_LIBS])
c160eda8 728
c6b46c3f 729dnl ------------------------------------------------------------------
730AH_TEMPLATE([HLT_TRD],[hlt trd library])
731
f59fee6d 732ALITRD_LIBS=
733CHECK_HLTMODULE([trd],
734 [], [],
b3f74118 735 [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
f59fee6d 736 [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
737 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
738
c6b46c3f 739if test "x$enable_module" = "xmissheader"; then
740 enable_module="no...requires.AliRoot>v4-07-Release"
50a3793d 741 enable_trd=$enable_module
c6b46c3f 742elif test "x$enable_module" = "xforce"; then
743 enable_trd="yes"
f59fee6d 744else
745 enable_trd=$enable_module
746 if test "x$enable_trd" = "xyes" ; then
747 AC_LANG_PUSH(C++)
748 save_CPPFLAGS="$CPPFLAGS"
749 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD"
adec4ad4 750 # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release
751 # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008
0d66dbf5 752 # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008
ae5bf1dd 753 # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008
0d66dbf5 754 AC_MSG_CHECKING([for required functions in AliTRDReconstructor])
755 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDReconstructor.h>],
756 [AliTRDReconstructor r;
ae5bf1dd 757 r.SetClusters(0)])],
f59fee6d 758 [],
0d66dbf5 759 [enable_trd="no...requires.AliRoot>v4-14-Release"])
f59fee6d 760 AC_MSG_RESULT([$enable_trd])
761 AC_LANG_POP(C++)
762 CPPFLAGS="$save_CPPFLAGS"
763 fi
764fi
2e742d30 765
0f51f5b8 766if test "x$enable_trd" = "xyes" ; then
767 AC_DEFINE(HLT_TRD)
f59fee6d 768 ALITRD_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 769else
770 enable_module=$enable_trd
0f51f5b8 771fi
772AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes)
d6e2c707 773AC_MSG_CHECKING([whether to compile TRD library])
c6b46c3f 774AC_MSG_RESULT([$enable_module])
f59fee6d 775AC_SUBST([ALITRD_LIBS])
0f51f5b8 776
777dnl ------------------------------------------------------------------
629266d1 778AH_TEMPLATE([HLT_FMD],[hlt fmd library])
779
780ALIFMD_LIBS=$ALIHLTMODULE_LIBS
781CHECK_HLTMODULE([fmd],
782 [], [],
783 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
50a3793d 784 [FMDbase FMDrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
629266d1 785 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
786
787if test "x$enable_module" = "xmissheader"; then
50a3793d 788 enable_module="no...missing.headers"
789 enable_fmd=$enable_module
629266d1 790elif test "x$enable_module" = "xforce"; then
791 enable_fmd="yes"
792else
793 enable_fmd=$enable_module
629266d1 794fi
795
796if test "x$enable_fmd" = "xyes" ; then
797 AC_DEFINE(HLT_FMD)
798 ALIFMD_LIBS=$ALIHLTMODULE_LIBS
799else
800 enable_module=$enable_fmd
801fi
802AM_CONDITIONAL(EN_HLT_FMD, test x$enable_fmd = xyes)
803AC_MSG_CHECKING([whether to compile FMD library])
804AC_MSG_RESULT([$enable_module])
805AC_SUBST([ALIFMD_LIBS])
806
629266d1 807dnl ------------------------------------------------------------------
94cc9aab 808AH_TEMPLATE([HLT_MUON],[hlt dimuon library])
2e742d30 809
f59fee6d 810ALIMUON_LIBS=
e89e6b23 811CHECK_HLTMODULE([dimuon],
41f99620 812 [AliMpExMap.h AliMUONTriggerIO.h],
813 [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping],
b3f74118 814 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
815 [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
f59fee6d 816 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
817
818if test "x$enable_module" = "xmissheader"; then
a853a794 819 enable_module="no...requires.AliRoot>=v4-08-Release"
50a3793d 820 enable_muon=$enable_module
c6b46c3f 821elif test "x$enable_module" = "xforce"; then
822 enable_muon="yes"
f59fee6d 823else
824 enable_muon=$enable_module
825fi
826
827if test "x$enable_muon" = "xyes" ; then
94cc9aab 828 AC_DEFINE(HLT_MUON)
f59fee6d 829 ALIMUON_LIBS=$ALIHLTMODULE_LIBS
6ed1b948 830 AC_LANG_PUSH(C++)
accd4c8f 831 save_CPPFLAGS="$CPPFLAGS"
832
6ed1b948 833 dnl
834 dnl Check for functionality GetRawStream AliMUONDigitMaker.h
835 dnl
836 have_muon_digitmaker_getrawstream=no
837 AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker)
838 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON"
839 LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS"
840 LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS"
841 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>],
842 [AliMUONDigitMaker dm;
843 dm.GetRawStreamTracker();])],
844 [have_muon_digitmaker_getrawstream=yes],
845 [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)])
846 LIBS=$save_LIBS
847 AC_MSG_RESULT([$have_muon_digitmaker_getrawstream])
accd4c8f 848 CPPFLAGS="$save_CPPFLAGS"
6ed1b948 849
850 AC_LANG_POP(C++)
adec4ad4 851else
852 enable_module=$enable_muon
94cc9aab 853fi
f59fee6d 854AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes)
d6e2c707 855AC_MSG_CHECKING([whether to compile MUON library])
c6b46c3f 856AC_MSG_RESULT([$enable_module])
f59fee6d 857AC_SUBST([ALIMUON_LIBS])
94cc9aab 858
859dnl ------------------------------------------------------------------
d6e2c707 860AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library])
861
862ALITRIGGER_LIBS=
863CHECK_HLTMODULE([trigger],
864 [], [$ALIROOT_CPPFLAGS],
865 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
866 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
867 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
868
869if test "x$enable_module" = "xmissheader"; then
870 enable_module="no...header.missing"
50a3793d 871 enable_trigger=$enable_module
d6e2c707 872elif test "x$enable_module" = "xforce"; then
873 enable_trigger="yes"
874else
875 enable_trigger=$enable_module
876fi
877
878if test "x$enable_trigger" = "xyes" ; then
879 AC_DEFINE(HLT_TRIGGER)
880 ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 881else
882 enable_module=$enable_trigger
d6e2c707 883fi
884AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes)
885AC_MSG_CHECKING([whether to compile Trigger library])
886AC_MSG_RESULT([$enable_module])
887AC_SUBST([ALITRIGGER_LIBS])
888
889dnl ------------------------------------------------------------------
890AH_TEMPLATE([HLT_ITS],[hlt its library])
891
892ALIITS_LIBS=
893CHECK_HLTMODULE([its],
ae5bf1dd 894 [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS],
cad2d06c 895 [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
896 [ITSbase ITSrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
d6e2c707 897 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
898
899if test "x$enable_module" = "xmissheader"; then
900 enable_module="no...header.missing"
50a3793d 901 enable_its=$enable_module
d6e2c707 902elif test "x$enable_module" = "xforce"; then
903 enable_its="yes"
904else
905 enable_its=$enable_module
adec4ad4 906 if test "x$enable_its" = "xyes" ; then
907 AC_LANG_PUSH(C++)
908 save_CPPFLAGS="$CPPFLAGS"
909 CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS"
910 # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008
911 # require AliVertexer::GetNominalPos()
912 AC_MSG_CHECKING([for required functions in AliITSVertexer])
913 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>],
914 [AliITSVertexerZ v;
915 v.GetNominalPos()])],
916 [],
917 [enable_its="no...requires.AliRoot>v4-13-Release"])
918 AC_MSG_RESULT([$enable_its])
919 AC_LANG_POP(C++)
920 CPPFLAGS="$save_CPPFLAGS"
921 fi
d6e2c707 922fi
923
924if test "x$enable_its" = "xyes" ; then
925 AC_DEFINE(HLT_ITS)
926 ALIITS_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 927else
928 enable_module=$enable_its
d6e2c707 929fi
930AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes)
931AC_MSG_CHECKING([whether to compile ITS library])
932AC_MSG_RESULT([$enable_module])
933AC_SUBST([ALIITS_LIBS])
934
935dnl ------------------------------------------------------------------
5dded172 936AH_TEMPLATE([HLT_EMCAL],[hlt emcal library])
937
938ALIEMCAL_LIBS=
939CHECK_HLTMODULE([emcal],
940 [], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/EMCAL],
accd4c8f 941 [RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
942 [EMCALrec EMCALsim EMCALbase], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
5dded172 943 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
944
945if test "x$enable_module" = "xmissheader"; then
946 enable_module="no...header.missing"
947 enable_emcal=$enable_module
948elif test "x$enable_module" = "xforce"; then
949 enable_emcal="yes"
950else
951 enable_emcal=$enable_module
952fi
953
954if test "x$enable_emcal" = "xyes" ; then
955 AC_DEFINE(HLT_EMCAL)
956 ALIEMCAL_LIBS=$ALIHLTMODULE_LIBS
957else
958 enable_module=$enable_emcal
959fi
960AM_CONDITIONAL(EN_HLT_EMCAL, test x$enable_emcal = xyes)
961AC_MSG_CHECKING([whether to compile EMCAL library])
962AC_MSG_RESULT([$enable_module])
963AC_SUBST([ALIEMCAL_LIBS])
964
965dnl ------------------------------------------------------------------
e89e6b23 966AH_TEMPLATE([HLT_COMP],[hlt comp library])
967
968ALICOMP_LIBS=
969CHECK_HLTMODULE([comp],
970 [], [$ALIROOT_CPPFLAGS],
971 [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS],
972 [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS],
973 [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS])
974
975if test "x$enable_module" = "xmissheader"; then
c6b46c3f 976 enable_module="no...header.missing"
50a3793d 977 enable_comp=$enable_module
c6b46c3f 978elif test "x$enable_module" = "xforce"; then
979 enable_comp="yes"
e89e6b23 980else
981 enable_comp=$enable_module
982fi
983
984if test "x$enable_comp" = "xyes" ; then
985 AC_DEFINE(HLT_COMP)
986 ALICOMP_LIBS=$ALIHLTMODULE_LIBS
adec4ad4 987else
988 enable_module=$enable_comp
e89e6b23 989fi
990AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes)
991AC_MSG_CHECKING([whether to compile comp library])
c6b46c3f 992AC_MSG_RESULT([$enable_module])
e89e6b23 993AC_SUBST([ALICOMP_LIBS])
994
995dnl ------------------------------------------------------------------
fc455fba 996AC_MSG_CHECKING([whether to disable AliRoot logging])
997AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging])
998AC_ARG_ENABLE(aliroot-logging,
999 [AC_HELP_STRING([--disable-aliroot-logging],
1000 [disable logging through AliRoot logging methods])],
1001 [],[enable_aliroot_logging=no])
c018a1bd 1002if test "x$have_aliroot" = "xno" ; then
1003 enable_aliroot_logging=yes # this means 'disable'
1004fi
fc455fba 1005if test "x$enable_aliroot_logging" != "xno" ; then
1006 AC_DEFINE(NOALIROOT_LOGGING)
b521659f 1007fi
fc455fba 1008AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no)
1009AC_MSG_RESULT([$enable_aliroot_logging])
b521659f 1010
1011dnl ------------------------------------------------------------------
1012AC_MSG_CHECKING([whether to enable saving MC data through the chain])
1013AH_TEMPLATE([DOMC],[MC saving])
1014AC_ARG_ENABLE(mc-saving,
1015 [AC_HELP_STRING([--enable-mc-saving],
1016 [enable saving MC data through the chain])],
1017 [],[enable_mc_saving=no])
1018if test "x$enable_mc_saving" = "xyes" ; then
1019 AC_DEFINE(DOMC)
1020fi
1021AC_MSG_RESULT([$enable_mc_saving])
1022
1023dnl ------------------------------------------------------------------
b521659f 1024dnl certainly something old, but we keep the define
1025AC_MSG_CHECKING([whether to use ROWHOUGH])
1026AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH])
1027AC_ARG_ENABLE(rowhough,
1028 [AC_HELP_STRING([--enable-rowhough],
1029 [use ROWHOUGH ])],
1030 [],[enable_rowhough=no])
1031if test "x$enable_rowhough" = "xyes" ; then
1032 AC_DEFINE(USEROWHOUGH)
1033fi
1034AC_MSG_RESULT([$enable_rowhough])
1035
1036dnl ------------------------------------------------------------------
53feaef5 1037dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old
1038dnl stand-alone build system. This is most likely something old we can
1039dnl get rid off later, or do something more reasonable. Since the define
1040dnl needs the quotes they have to be escaped. This works well for the
1041dnl Makefile but not for the configure script. So we have to add the
1042dnl defines after all the other checks.
1043CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\""
1044if test ! "x$have_aliroot" = "xno" ; then
1045 CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\""
1046fi
1047
1048dnl ------------------------------------------------------------------
b521659f 1049dnl
1050dnl Documentation
1051dnl
1052AC_ARG_VAR(DOXYGEN, The Documentation Generator)
1053AC_PATH_PROG(PERL, perl)
1054AC_PATH_PROG(DOXYGEN, doxygen)
5894eaa5 1055AC_ARG_ENABLE(dot,
1056 [AC_HELP_STRING([--enable-dot],
1057 [enable dot documentation generator])],
1058 [],[enable_dot=no])
b521659f 1059HAVE_DOT=NO
1060DOT_PATH=
1061AC_PATH_PROG(DOT, dot)
5894eaa5 1062if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then
b521659f 1063 HAVE_DOT=YES
1064 DOT_PATH=`dirname $DOT`
1065fi
ae1c1854 1066
1067AC_MSG_CHECKING([for documentation mode])
1068AC_ARG_ENABLE(doc,
1069 [AC_HELP_STRING([--disable-doc],
1070 [disable documentation build; monolithic build --enable-doc=mono ])],
1071 [],[enable_doc=modules])
fb345ed7 1072
ae1c1854 1073if test "x$DOXYGEN" = "x" ; then
1074 enable_doc=no.doxygen
fb345ed7 1075elif test "x$enable_doc" = "xyes" ; then
1076 enable_doc=yes
ae1c1854 1077elif test ! "x$enable_doc" = "xmono" && \
1078 test ! "x$enable_doc" = "xmodules" && \
1079 test ! "x$enable_doc" = "xno"; then
1080 enable_doc=no
1081 AC_MSG_WARN([unknown option])
1082fi
1083if test "x$enable_doc" = "xno" ; then
1084 enable_doc=off
1085 DOXYGEN=
1086fi
1087
1088AC_MSG_RESULT([$enable_doc])
1089AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono")
1090AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x")
b521659f 1091AC_SUBST([HAVE_DOT])
1092AC_SUBST([DOT_PATH])
1093
90ebac25 1094dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src
1095dnl echo $HAVE_SRC_SUBDIR
1096dnl if ! test -d $HAVE_SRC_SUBDIR; then
1097dnl HAVE_SRC_SUBDIR=
1098dnl fi
1099dnl AC_SUBST([HAVE_SRC_SUBDIR])
1100
b521659f 1101dnl ------------------------------------------------------------------
7233bc62 1102AC_MSG_NOTICE([---------------------------------------------- ])
1103AC_MSG_NOTICE([ build summary ])
1104AC_MSG_NOTICE([---------------------------------------------- ])
1105
b521659f 1106AC_CONFIG_FILES([Makefile
1107 BASE/Makefile
53feaef5 1108 BASE/setenv.sh
1109 BASE/setenv.csh
2be16a33 1110 BASE/HOMER/Makefile
242bb794 1111 BASE/util/Makefile
d098ebd4 1112 BASE/interface/Makefile
853121af 1113 BASE/test/Makefile
1a21074a 1114 BASE/interface/test/Makefile
b521659f 1115 doc/Makefile
2efb85be 1116 doc/doxygen.conf
1117 doc/doxymodule.conf])
b521659f 1118
7233bc62 1119dnl AliRoot and installation directory for libraries
1120dnl
1121AC_MSG_NOTICE([AliRoot: $have_aliroot])
1122AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" )
1123if test "x$have_aliroot" != "xno"; then
1124 AC_CONFIG_FILES([sim/Makefile
1125 rec/Makefile
652cf9d2 1126 rec/test/Makefile
7233bc62 1127 shuttle/Makefile
ff4edcee 1128 pendolino/Makefile
7233bc62 1129 ])
1130fi
1131if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then
1132libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET
1133AC_MSG_NOTICE([libdir set to $libdir])
1134fi
1135
1136AC_MSG_NOTICE([compile sample library: $enable_sample])
1137if test "x$enable_sample" = "xyes"; then
1138 AC_CONFIG_FILES([SampleLib/Makefile])
1139fi
1140
652cf9d2 1141AC_MSG_NOTICE([compile RCU library: $enable_rcu])
1142if test "x$enable_rcu" = "xyes"; then
1143 AC_CONFIG_FILES([RCU/Makefile
1144 RCU/test/Makefile
1145 ])
1146fi
1147
7233bc62 1148AC_MSG_NOTICE([compile TPC library: $enable_tpc])
1149if test "x$enable_tpc" = "xyes"; then
1150 AC_CONFIG_FILES([TPCLib/Makefile
1151 TPCLib/test/Makefile
1152 TPCLib/mapping2array.cxx
1153 TPCLib/OnlineDisplay/Makefile
1154 ])
1155fi
1156
7233bc62 1157AC_MSG_NOTICE([compile PHOS library: $enable_phos])
1158if test "x$enable_phos" = "xyes"; then
1159 AC_CONFIG_FILES([PHOS/Makefile])
1160fi
1161
1162AC_MSG_NOTICE([compile TRD library: $enable_trd])
1163if test "x$enable_trd" = "xyes"; then
1164 AC_CONFIG_FILES([TRD/Makefile])
1165fi
1166
50a3793d 1167AC_MSG_NOTICE([compile FMD library: $enable_fmd])
1168if test "x$enable_fmd" = "xyes"; then
1169 AC_CONFIG_FILES([FMD/Makefile])
1170fi
1171
7233bc62 1172AC_MSG_NOTICE([compile MUON library: $enable_muon])
1173if test "x$enable_muon" = "xyes"; then
1174 AC_CONFIG_FILES([MUON/Makefile])
1175fi
1176
1177AC_MSG_NOTICE([compile ITS library: $enable_its])
1178if test "x$enable_its" = "xyes"; then
1179 AC_CONFIG_FILES([ITS/Makefile])
1180fi
1181
5dded172 1182AC_MSG_NOTICE([compile EMCAL library: $enable_emcal])
1183if test "x$enable_emcal" = "xyes"; then
1184 AC_CONFIG_FILES([EMCAL/Makefile])
1185fi
1186
7233bc62 1187AC_MSG_NOTICE([compile trigger library: $enable_trigger])
1188if test "x$enable_trigger" = "xyes"; then
1189 AC_CONFIG_FILES([trigger/Makefile])
1190fi
1191
1192AC_MSG_NOTICE([compile comp library: $enable_comp])
1193if test "x$enable_comp" = "xyes"; then
1194 AC_CONFIG_FILES([comp/Makefile])
1195fi
b521659f 1196
1197AC_OUTPUT
1198dnl
1199dnl EOF
1200dnl
1201