]>
Commit | Line | Data |
---|---|---|
b521659f | 1 | dnl -*- mode: autoconf -*- |
2 | dnl | |
3 | dnl $Id$ | |
4 | dnl template for the configuration script for the Alice HLT | |
5 | dnl framework and components | |
6 | dnl | |
7 | dnl ------------------------------------------------------------------ | |
408c5899 | 8 | |
9 | dnl Take either the AliRoot tag as version id or the current revision | |
10 | AC_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 | |
23 | dnl ------------------------------------------------------------------ | |
24 | dnl the package from CVS contains the old Makefiles as well. In order to | |
25 | dnl prevent them from becoming overwritten, we require a separate build | |
26 | dnl directory | |
27 | if test "`dirname $0`" = "." ; then | |
28 | AC_ERROR([please run the script from a separate build directory]) | |
29 | fi | |
30 | ||
31 | dnl ------------------------------------------------------------------ | |
32 | AC_CANONICAL_SYSTEM | |
33 | AC_PREFIX_DEFAULT(${PWD}) | |
34 | AC_CONFIG_SRCDIR(BASE/AliHLTComponent.cxx) | |
35 | AM_INIT_AUTOMAKE | |
36 | AC_PROG_CC | |
37 | AC_PROG_CXX | |
38 | AC_PROG_LIBTOOL | |
39 | ||
40 | AC_DEBUG | |
41 | AC_OPTIMIZATION | |
dc8f7cb7 | 42 | AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 0 ) |
43 | ||
44 | dnl ------------------------------------------------------------------ | |
45 | dnl A warning posted into the auto-generated files | |
46 | dnl Does NOT concern this file ;-) | |
47 | AUTOGENERATED_WARNING="!!!!!!! DO NOT EDIT THIS FILE !!!!!!" | |
48 | AC_SUBST([AUTOGENERATED_WARNING]) | |
b521659f | 49 | |
50 | dnl ------------------------------------------------------------------ | |
51 | dnl | |
52 | dnl Check for ROOT | |
53 | dnl | |
54 | ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])]) | |
55 | AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" ) | |
53feaef5 | 56 | AC_SUBST([ROOTSYS]) |
dc8f7cb7 | 57 | ROOTBINDIR=`dirname $ROOTEXEC` |
58 | AC_SUBST([ROOTBINDIR]) | |
59 | ||
dfaa582a | 60 | dnl test for additional required root libraries and headers |
61 | LIBS='-ldl' | |
62 | if 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 | 96 | fi |
b521659f | 97 | |
98 | dnl ------------------------------------------------------------------ | |
99 | # TODO: make this configurable through arguments | |
100 | #Define whether you want to run with ALIROOT or only ROOT | |
101 | AH_TEMPLATE([ALIHLT_USEPACKAGE],[running environment]) | |
102 | ALIHLT_USEPACKAGE=ALIROOT | |
103 | #ALIHLT_USEPACKAGE=ROOT | |
104 | #ALIHLT_USEPACKAGE=STANDALONE | |
105 | AC_DEFINE(use_aliroot) | |
106 | AC_DEFINE(use_root) | |
85869391 | 107 | CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}" |
7233bc62 | 108 | save_CPPFLAGS=$CPPFLAGS |
109 | save_LDFLAGS=$LDFLAGS | |
110 | save_LIBS=$LIBS | |
85869391 | 111 | |
112 | dnl ------------------------------------------------------------------ | |
74c73e5a | 113 | dnl check for AliRoot features |
114 | AC_LANG_PUSH(C++) | |
74c73e5a | 115 | have_aliroot=no |
2bbbadd1 | 116 | AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation], |
117 | [test -d $with_aliroot && ALICE_ROOT=$with_aliroot], | |
118 | []) | |
119 | ||
120 | if 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 | 152 | fi |
2bbbadd1 | 153 | |
154 | AC_MSG_CHECKING([for AliRoot]) | |
74c73e5a | 155 | if 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 | |
160 | else | |
dc8f7cb7 | 161 | ALIROOTBINDIR= |
74c73e5a | 162 | ALIROOTLIBDIR= |
163 | ALIROOTINCDIR= | |
164 | fi | |
165 | AC_MSG_RESULT([$have_aliroot]) | |
166 | ||
167 | if 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 | ||
f527516f | 255 | dnl |
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"); | |
266 | esd.WriteToTree(tree); | |
267 | TClonesArray* a=new TClonesArray("AliExternalTrackParam"); | |
268 | a->SetName("SomeObject"); | |
269 | esd.AddObject(a); | |
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 | ||
83cb7e1d | 277 | dnl |
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 | |
296b5188 | 292 | dnl |
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 | ||
f5bf5fc3 | 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 | ||
74c73e5a | 324 | CPPFLAGS=$save_CPPFLAGS |
325 | LDFLAGS=$save_LDFLAGS | |
326 | LIBS=$save_LIBS | |
7233bc62 | 327 | fi # if test ! "x$have_aliroot" = "xno" |
f59fee6d | 328 | |
74c73e5a | 329 | AC_LANG_POP(C++) |
5f5b708b | 330 | AC_SUBST([ALICE_ROOT]) |
74c73e5a | 331 | AC_SUBST([ALIROOT_CPPFLAGS]) |
332 | AC_SUBST([ALIROOT_LDFLAGS]) | |
dc8f7cb7 | 333 | AC_SUBST([ALIROOTBINDIR]) |
53feaef5 | 334 | AC_SUBST([ALIROOTLIBDIR]) |
74c73e5a | 335 | AC_SUBST([ALIROOT_LIBS]) |
0f51f5b8 | 336 | AM_CONDITIONAL(USE_TPC_MAPPING, test x$have_tpc_mapping = xyes) |
85869391 | 337 | |
6c1a9d9e | 338 | HLTBASE_CPPFLAGS='-I${top_srcdir}/BASE' |
339 | HLTBASE_LDFLAGS= | |
340 | AC_SUBST([HLTBASE_CPPFLAGS]) | |
341 | AC_SUBST([HLTBASE_LDFLAGS]) | |
342 | ||
78b557c2 | 343 | dnl ------------------------------------------------------------------ |
344 | dnl check for the HLT PubSub Framework | |
f8c5e339 | 345 | dnl namely for the existence of the HOMER library |
346 | dnl from Sep 2007, the HOMER lib has been incorporated into the alice-hlt | |
347 | dnl package. It os though possible to choose an external. library | |
348 | dnl In order to make the origni of the HOMER lib clear, the one in AliRoot | |
349 | dnl got the name libAliHLTHOMER | |
78b557c2 | 350 | AC_MSG_CHECKING([for HLT PubSub Framework]) |
351 | AC_ARG_WITH(pubsub, [installation path of the HLT PubSub framework], | |
352 | [], | |
353 | [ test -n $ALIHLT_DC_DIR && with_pubsub=$ALIHLT_DC_DIR ]) | |
354 | if test -z $with_pubsub || ! test -d $with_pubsub ; then | |
355 | with_pubsub=no | |
356 | fi | |
357 | AC_MSG_RESULT([$with_pubsub]) | |
f8c5e339 | 358 | HOMER_VERSION=2 |
5f1685a0 | 359 | HOMER_LIBS= |
78b557c2 | 360 | |
361 | AH_TEMPLATE([HAVE_HOMERREADER],[the HLT PubSub Homer Reader interface]) | |
362 | if test "x$with_pubsub" != "xno" ; then | |
363 | save_CPPFLAGS=$CPPFLAGS | |
364 | save_LDFLAGS=$LDFLAGS | |
365 | save_LIBS=$LIBS | |
4a6b4894 | 366 | # currently the different versions of the HLT PubSub framework have a different |
367 | # directory layout | |
20b6dd9a | 368 | if test -d ${with_pubsub}/include/HOMER ; then |
5235c3e9 | 369 | # the 'early' location of the include files with separated HOMER sub dirs |
9ce4bf4a | 370 | HOMER_INCDIRS="${with_pubsub}/include/HOMER ${with_pubsub}/include/HOMER/reader" |
5235c3e9 | 371 | elif test -d ${with_pubsub}/include/Util/HOMER ; then |
372 | # location for HLT Framework versions after Sep 2006 | |
9ce4bf4a | 373 | HOMER_INCDIRS="${with_pubsub}/include/Util/HOMER" |
5235c3e9 | 374 | elif test -d ${with_pubsub}/src/Util/HOMER/include ; then |
375 | # fall back if include files were not installed (versions after Sep 06) | |
9ce4bf4a | 376 | HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/include" |
4a6b4894 | 377 | else |
5235c3e9 | 378 | # fall back if include files were not installed (versions before Sep 06) |
9ce4bf4a | 379 | HOMER_INCDIRS="${with_pubsub}/src/Util/HOMER/reader/include ${with_pubsub}/src/Util/HOMER/data/include" |
4a6b4894 | 380 | fi |
9ce4bf4a | 381 | HOMER_CPPFLAGS=`for i in ${HOMER_INCDIRS}; do echo -n "-I$i " ; done` |
5894eaa5 | 382 | |
383 | AC_ARG_ENABLE(pubsub-debug, | |
384 | [AC_HELP_STRING([--disable-pubsub-debug], | |
385 | [force the production version of the PubSub framework])], | |
386 | [],[enable_pubsub_debug=yes]) | |
387 | homer_type="none" | |
388 | HOMER_TARGET="`uname -s`-`uname -m`" | |
389 | AC_MSG_CHECKING([for HLT PubSub Framework release type]) | |
390 | if test -d "${with_pubsub}/lib/${HOMER_TARGET}-release" ; then | |
391 | homer_type="production" | |
392 | HOMER_TARGET="${HOMER_TARGET}-release" | |
393 | elif test "x$enable_pubsub_debug" = "xyes" && test -d "${with_pubsub}/lib/${HOMER_TARGET}-debug" ; then | |
394 | homer_type="debug" | |
395 | HOMER_TARGET="${HOMER_TARGET}-debug" | |
396 | fi | |
397 | AC_MSG_RESULT([${homer_type}]) | |
f8c5e339 | 398 | HOMERREADER_HEADER=HOMERReader.h |
5894eaa5 | 399 | HOMER_BINDIR="${with_pubsub}/bin/${HOMER_TARGET}" |
400 | HOMER_LIBDIR="${with_pubsub}/lib/${HOMER_TARGET}" | |
53feaef5 | 401 | HOMER_LDFLAGS="-L${HOMER_LIBDIR}" |
78b557c2 | 402 | CPPFLAGS="$save_CPPFLAGS $HOMER_CPPFLAGS" |
403 | LDFLAGS="$save_LDFLAGS $HOMER_LDFLAGS" | |
404 | LIBS="$save_LIBS " | |
405 | with_homer=no | |
406 | AC_LANG_PUSH(C++) | |
f8c5e339 | 407 | AC_CHECK_HEADER([$HOMERREADER_HEADER], |
5f1685a0 | 408 | [ AC_CHECK_LIB([HOMER],[_init], |
409 | [with_homer=yes | |
410 | HOMER_LIBS="-lHOMER"], | |
411 | [ AC_CHECK_LIB([HOMERReader],[_init], | |
412 | [with_homer=yes | |
413 | HOMER_LIBS="-lHOMERReader"])]) | |
414 | LIBS="$LIBS $HOMER_LIBS" | |
9ce4bf4a | 415 | AC_MSG_CHECKING([version of HOMER library]) |
5f1685a0 | 416 | dnl The Homer library has no versioning, so we do our own |
417 | dnl version description | |
418 | dnl ---------------------------------------------------------------------- | |
419 | dnl 1 inintial version | |
420 | dnl 2 GetBlockStatusFlags added to the interface | |
421 | AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <HOMERReader.h>], | |
422 | [HOMERReader reader("dummy", 0); | |
423 | reader.GetBlockStatusFlags(0);])], | |
f8c5e339 | 424 | [], |
425 | [HOMER_VERSION=1]) | |
5f1685a0 | 426 | AC_MSG_RESULT([$HOMER_VERSION]) |
f8c5e339 | 427 | ], |
428 | [HOMERREADER_HEADER=]) #AC_CHECK_HEADER([$HOMERREADER_HEADER]) | |
78b557c2 | 429 | AC_LANG_POP(C++) |
f8c5e339 | 430 | HOMER_INBUILT_LIB= |
431 | else | |
432 | dnl no pubsub version defined, check if the HOMER lib is available in AliRoot | |
433 | topdir=`dirname $0` | |
434 | HOMER_CPPFLAGS="-I`(cd $topdir; pwd)`/BASE/HOMER" | |
435 | HOMERREADER_HEADER=AliHLTHOMERReader.h | |
436 | HOMER_INBUILT_LIB=`pwd`/BASE/HOMER/libAliHLTHOMER.la | |
437 | HOMER_BINDIR= | |
438 | HOMER_LIBDIR= | |
439 | HOMER_LDFLAGS= | |
440 | fi | |
441 | ||
78b557c2 | 442 | if test "x$with_homer" = "xno" ; then |
443 | HOMER_CPPFLAGS= | |
444 | HOMER_LDFLAGS= | |
5f1685a0 | 445 | HOMER_LIBS= |
78b557c2 | 446 | else |
5f1685a0 | 447 | HOMER_CPPFLAGS="$HOMER_CPPFLAGS -DHOMER_VERSION=$HOMER_VERSION" |
78b557c2 | 448 | AC_DEFINE(HAVE_HOMERREADER) |
449 | fi | |
450 | CPPFLAGS="$save_CPPFLAGS" | |
451 | LDFLAGS="$save_LDFLAGS" | |
452 | LIBS="$save_LIBS" | |
f8c5e339 | 453 | |
454 | AC_SUBST([HOMERREADER_HEADER]) | |
455 | AC_SUBST([HOMER_INBUILT_LIB]) | |
78b557c2 | 456 | AC_SUBST([HOMER_CPPFLAGS]) |
457 | AC_SUBST([HOMER_LDFLAGS]) | |
53feaef5 | 458 | AC_SUBST([HOMER_LIBDIR]) |
459 | AC_SUBST([HOMER_BINDIR]) | |
5f1685a0 | 460 | AC_SUBST([HOMER_LIBS]) |
78b557c2 | 461 | |
7233bc62 | 462 | dnl ------------------------------------------------------------------ |
463 | AC_ARG_ENABLE(all, | |
464 | [AC_HELP_STRING([--disable-all], | |
465 | [disable all detector modules, individual modules can be switched on by --enable-det])], | |
466 | [disable_all=yes],[]) | |
467 | ||
85869391 | 468 | dnl ------------------------------------------------------------------ |
469 | AC_MSG_CHECKING([whether to impose strict coding conventions]) | |
470 | AC_ARG_ENABLE(strict, | |
2028353f | 471 | [AC_HELP_STRING([--disable-strict], |
472 | [disable coding convention checks ])], | |
473 | [],[enable_strict=yes]) | |
85869391 | 474 | if test "x$enable_strict" = "xyes" ; then |
f7561f8d | 475 | CPPFLAGS="$CPPFLAGS -W -Weffc++ -Wall -Wshadow" |
85869391 | 476 | fi |
477 | AC_MSG_RESULT([$enable_strict]) | |
b521659f | 478 | |
5b6ab198 | 479 | dnl ------------------------------------------------------------------ |
480 | AC_MSG_CHECKING([whether to enable component statistics]) | |
481 | AC_ARG_ENABLE(component-stat, | |
482 | [AC_HELP_STRING([--enable-component-stat], | |
483 | [enable component statistics ])], | |
484 | [],[enable_component_stat=no]) | |
485 | if test "x$enable_component_stat" = "xyes" ; then | |
486 | AC_DEFINE(HLT_COMPONENT_STATISTICS) | |
487 | fi | |
488 | AC_MSG_RESULT([$enable_component_stat]) | |
489 | ||
cad2d06c | 490 | dnl ------------------------------------------------------------------ |
491 | dnl ---- module checks | |
492 | dnl ------------------------------------------------------------------ | |
493 | save_CPPFLAGS=$CPPFLAGS | |
494 | save_LDFLAGS=$LDFLAGS | |
495 | save_LIBS=$LIBS | |
496 | ||
b521659f | 497 | dnl ------------------------------------------------------------------ |
498 | AC_MSG_CHECKING([whether to compile sample library]) | |
499 | AH_TEMPLATE([HLT_SAMPLE],[hlt sample library]) | |
500 | AC_ARG_ENABLE(sample, | |
c018a1bd | 501 | [AC_HELP_STRING([--disable-sample], |
b521659f | 502 | [compile the sample library ])], |
2e742d30 | 503 | [], |
504 | [if test "x$have_aliroot" = "xno" ; then | |
505 | enable_sample="no...requires.AliRoot" | |
506 | else | |
507 | enable_sample=yes | |
508 | fi | |
509 | ]) | |
510 | ||
b521659f | 511 | if test "x$enable_sample" = "xyes" ; then |
512 | AC_DEFINE(HLT_SAMPLE) | |
513 | fi | |
514 | AM_CONDITIONAL(EN_HLT_SAMPLE, test x$enable_sample = xyes) | |
515 | AC_MSG_RESULT([$enable_sample]) | |
516 | ||
c018a1bd | 517 | dnl ------------------------------------------------------------------ |
518 | AC_MSG_CHECKING([whether to compile util library]) | |
519 | AH_TEMPLATE([HLT_UTIL],[HLT utility library]) | |
520 | AC_ARG_ENABLE(util, | |
521 | [AC_HELP_STRING([--disable-util], | |
522 | [compile the util library ])], | |
2e742d30 | 523 | [], |
524 | [if test "x$have_aliroot" = "xno" ; then | |
525 | enable_util="no...requires.AliRoot" | |
526 | else | |
527 | enable_util=yes | |
528 | fi | |
529 | ]) | |
c018a1bd | 530 | |
531 | if test "x$enable_util" = "xyes" ; then | |
532 | AC_DEFINE(HLT_UTIL) | |
533 | fi | |
534 | AM_CONDITIONAL(EN_HLT_UTIL, test x$enable_util = xyes) | |
535 | AC_MSG_RESULT([$enable_util]) | |
536 | ||
b521659f | 537 | dnl ------------------------------------------------------------------ |
b521659f | 538 | AH_TEMPLATE([HLT_TPC],[hlt tpc library]) |
f59fee6d | 539 | |
e642ae99 | 540 | ALITPC_LIBS= |
f59fee6d | 541 | CHECK_HLTMODULE([tpc], |
e962f438 | 542 | [AliTPCRawStream.h], |
543 | [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/TPC], | |
70d00903 | 544 | [Gui ANALYSIS STAT], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS], |
e642ae99 | 545 | [TPCbase TPCrec TPCcalib], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], |
f59fee6d | 546 | [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) |
547 | ||
c6b46c3f | 548 | if test "x$enable_module" = "xmissheader"; then |
549 | enable_module="no...missing.headers" | |
f59fee6d | 550 | enable_tpc="no...missing.headers" |
c6b46c3f | 551 | elif test "x$enable_module" = "xforce"; then |
552 | enable_tpc="yes" | |
f59fee6d | 553 | else |
554 | enable_tpc=$enable_module | |
555 | fi | |
2e742d30 | 556 | |
b521659f | 557 | if test "x$enable_tpc" = "xyes" ; then |
e642ae99 | 558 | AC_LANG_PUSH(C++) |
b521659f | 559 | AC_DEFINE(HLT_TPC) |
e642ae99 | 560 | ALITPC_LIBS=$ALIHLTMODULE_LIBS |
561 | dnl | |
562 | dnl Check for functionality in the TPC reconstruction required for online | |
563 | dnl processing | |
564 | dnl | |
565 | have_tpc_hltoffline_rec=no | |
566 | AC_MSG_CHECKING(for on-line features of TPC offline reconstruction) | |
567 | CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/TPC" | |
568 | LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS" | |
569 | LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALITPC_LIBS" | |
570 | AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliTPCtrackerMI.h> | |
571 | #include <AliTPCclustererMI.h> | |
572 | #include <TObjArray.h>], | |
573 | [AliTPCtrackerMI tracker; | |
574 | TObjArray* array=NULL; | |
575 | tracker.LoadClusters(array); | |
576 | AliTPCclustererMI cl(NULL, NULL); | |
89c2e505 | 577 | cl.GetOutputClonesArray();])], |
e642ae99 | 578 | [have_tpc_hltoffline_rec=yes], |
579 | [AC_DEFINE(HAVE_NOT_TPCOFFLINE_REC)]) | |
cad2d06c | 580 | LIBS=$save_LIBS |
e642ae99 | 581 | AC_MSG_RESULT([$have_tpc_hltoffline_rec]) |
582 | ||
583 | AC_CHECK_HEADER([AliTPCCalibPulser.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPULSER)]) | |
584 | AC_CHECK_HEADER([AliTPCCalibPedestal.h], [], [AC_DEFINE(HAVE_NOT_ALITPCCALIBPEDESTAL)]) | |
585 | ||
586 | have_tpc_mapping=no | |
587 | if test ! "x$have_aliroot" = "xno" ; then | |
588 | # the TPCLib/AliHLTTPCRawReader needs the actual Pad layout of the TPC | |
589 | # which is stored in the TPC/mapping/Patchx.data files from | |
590 | # AliRoot version v4-04-Release (May 2006) | |
591 | AH_TEMPLATE([HAVE_TPC_MAPPING],[TPC pad mapping available]) | |
592 | TPC_PAD_MAPPING_PATH=$have_aliroot/TPC/mapping | |
593 | AC_CHECK_FILE( [$TPC_PAD_MAPPING_PATH/Patch0.data], | |
594 | [have_tpc_mapping=yes | |
595 | AC_SUBST(TPC_PAD_MAPPING_PATH) | |
596 | AC_DEFINE(HAVE_TPC_MAPPING)], | |
597 | []) | |
598 | ||
599 | fi | |
600 | AC_MSG_CHECKING([for TPC mapping layout]) | |
601 | AC_MSG_RESULT([$have_tpc_mapping]) | |
602 | AC_LANG_POP(C++) | |
603 | ||
adec4ad4 | 604 | else |
605 | enable_module=$enable_tpc | |
b521659f | 606 | fi |
607 | AM_CONDITIONAL(EN_HLT_TPC, test x$enable_tpc = xyes) | |
d6e2c707 | 608 | AC_MSG_CHECKING([whether to compile TPC library]) |
c6b46c3f | 609 | AC_MSG_RESULT([$enable_module]) |
f59fee6d | 610 | AC_SUBST([ALITPC_LIBS]) |
b521659f | 611 | |
5e3820e2 | 612 | dnl ------------------------------------------------------------------ |
613 | AH_TEMPLATE([HLT_RCU],[hlt rcu library]) | |
614 | ||
615 | CHECK_HLTMODULE([rcu], | |
616 | [AliAltroDecoder.h], | |
617 | [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/RAW], | |
618 | [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS], | |
619 | [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], | |
620 | [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) | |
621 | ||
622 | if test "x$enable_module" = "xmissheader"; then | |
623 | enable_module="no...missing.headers" | |
624 | enable_rcu="no...missing.headers" | |
5e3820e2 | 625 | elif test "x$enable_module" = "xforce"; then |
626 | enable_rcu="yes" | |
627 | else | |
628 | AC_LANG_PUSH(C++) | |
5e3820e2 | 629 | CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS" |
630 | LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS" | |
631 | LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS" | |
632 | AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliAltroDecoder.h>], | |
633 | [AliAltroDecoder decoder; | |
634 | decoder.CopyBackward(NULL, 0);])], | |
635 | [enable_rcu=$enable_module], | |
636 | [enable_module="no...requires.AliRoot>v4-10-Release" | |
637 | enable_rcu="no...requires.AliRoot>v4-10-Release"]) | |
638 | CPPFLAGS=$save_CPPFLAGS | |
639 | LDFLAGS=$save_LDFLAGS | |
640 | LIBS=$save_LIBS | |
641 | AC_LANG_POP(C++) | |
642 | fi | |
643 | ||
644 | if test "x$enable_rcu" = "xyes" ; then | |
645 | AC_DEFINE(HLT_RCU) | |
adec4ad4 | 646 | else |
647 | enable_module=$enable_rcu | |
5e3820e2 | 648 | fi |
649 | AM_CONDITIONAL(EN_HLT_RCU, test x$enable_rcu = xyes) | |
d6e2c707 | 650 | AC_MSG_CHECKING([whether to compile RCU library]) |
5e3820e2 | 651 | AC_MSG_RESULT([$enable_module]) |
652 | AC_SUBST([ALIRCU_LIBS]) | |
653 | ||
c160eda8 | 654 | dnl ------------------------------------------------------------------ |
c160eda8 | 655 | AH_TEMPLATE([HLT_PHOS],[hlt phos library]) |
f59fee6d | 656 | |
657 | ALIPHOS_LIBS= | |
658 | CHECK_HLTMODULE([phos], | |
659 | [], [$ALIROOT_CPPFLAGS], | |
660 | [RAWDatasim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS], | |
652cf9d2 | 661 | [PHOSbase PHOSrec PHOSsim PHOSshuttle], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], |
f59fee6d | 662 | [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) |
663 | ||
c6b46c3f | 664 | if test "x$enable_module" = "xmissheader"; then |
665 | enable_module="no...requires.AliRoot>v4-05-07" | |
f59fee6d | 666 | enable_phos="no...requires.AliRoot>v4-05-07" |
c6b46c3f | 667 | elif test "x$enable_module" = "xforce"; then |
668 | enable_phos="yes" | |
f59fee6d | 669 | else |
670 | have_alicalorawstream=no | |
671 | if test ! "x$have_aliroot" = "xno" ; then | |
672 | AC_LANG_PUSH(C++) | |
673 | save_CPPFLAGS="$CPPFLAGS" | |
674 | # this can not be used as AliCaloRawStream.h indirectly depends on TString.h | |
675 | #AC_CHECK_HEADERS([AliCaloRawStream.h], [have_alicalorawstream=yes]) | |
56584e00 | 676 | CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/PHOS" |
f59fee6d | 677 | AC_MSG_CHECKING([for AliCaloRawStream.h usability]) |
678 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <TString.h> | |
679 | #include <AliCaloRawStream.h>], | |
680 | [int i])], | |
681 | [AC_DEFINE(HAVE_ALICALORAWSTREAM) | |
682 | have_alicalorawstream=yes], | |
683 | []) | |
ae1c1854 | 684 | AC_MSG_RESULT([$have_aliphosrecoparam]) |
685 | AC_MSG_CHECKING([for required EMC functionality in AliPHOSRecoParam.h ]) | |
686 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliPHOSRecoParam.h>], | |
687 | [AliPHOSRecoParam param; | |
688 | param.GetEMCClusteringThreshold()])], | |
689 | [have_aliphosrecoparam=yes], | |
690 | [AC_DEFINE(HAVE_NOT_PHOSRECOPARAMEMC)]) | |
f59fee6d | 691 | AC_MSG_RESULT([$have_alicalorawstream]) |
692 | AC_LANG_POP(C++) | |
693 | CPPFLAGS="$save_CPPFLAGS" | |
694 | fi | |
695 | if test "x$have_alicalorawstream" != "xyes"; then | |
696 | enable_phos="no...requires.AliRoot>v4-05-07" | |
697 | else | |
698 | enable_phos=$enable_module | |
699 | fi | |
700 | fi | |
2e742d30 | 701 | |
c160eda8 | 702 | if test "x$enable_phos" = "xyes" ; then |
703 | AC_DEFINE(HLT_PHOS) | |
f59fee6d | 704 | ALIPHOS_LIBS=$ALIHLTMODULE_LIBS |
adec4ad4 | 705 | else |
706 | enable_module=$enable_phos | |
c160eda8 | 707 | fi |
708 | AM_CONDITIONAL(EN_HLT_PHOS, test x$enable_phos = xyes) | |
d6e2c707 | 709 | AC_MSG_CHECKING([whether to compile PHOS library]) |
c6b46c3f | 710 | AC_MSG_RESULT([$enable_module]) |
f59fee6d | 711 | AC_SUBST([ALIPHOS_LIBS]) |
c160eda8 | 712 | |
c6b46c3f | 713 | dnl ------------------------------------------------------------------ |
714 | AH_TEMPLATE([HLT_TRD],[hlt trd library]) | |
715 | ||
f59fee6d | 716 | ALITRD_LIBS= |
717 | CHECK_HLTMODULE([trd], | |
718 | [], [], | |
b3f74118 | 719 | [MLP XMLParser], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS], |
f59fee6d | 720 | [TRDbase TRDrec TRDsim], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], |
721 | [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) | |
722 | ||
c6b46c3f | 723 | if test "x$enable_module" = "xmissheader"; then |
724 | enable_module="no...requires.AliRoot>v4-07-Release" | |
f59fee6d | 725 | enable_trd="no...requires.AliRoot>v4-07-Release" |
c6b46c3f | 726 | elif test "x$enable_module" = "xforce"; then |
727 | enable_trd="yes" | |
f59fee6d | 728 | else |
729 | enable_trd=$enable_module | |
730 | if test "x$enable_trd" = "xyes" ; then | |
731 | AC_LANG_PUSH(C++) | |
732 | save_CPPFLAGS="$CPPFLAGS" | |
733 | CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/TRD" | |
adec4ad4 | 734 | # AliTRDclusterizer::SetRawVersion() requires >v4-07-Release |
735 | # changed to AliTRDrecoParam::SetSeedingOn() due to revision 26327, Mon Jun 2 2008 | |
0d66dbf5 | 736 | # changed to AliTRDReconstructor::SetStreamLevel() due to revision 27797, Tue Aug 5 2008 |
ae5bf1dd | 737 | # changed to AliTRDReconstructor::SetClusters() according to revision 28069, Mon Aug 18 2008 |
0d66dbf5 | 738 | AC_MSG_CHECKING([for required functions in AliTRDReconstructor]) |
739 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliTRDReconstructor.h>], | |
740 | [AliTRDReconstructor r; | |
ae5bf1dd | 741 | r.SetClusters(0)])], |
f59fee6d | 742 | [], |
0d66dbf5 | 743 | [enable_trd="no...requires.AliRoot>v4-14-Release"]) |
f59fee6d | 744 | AC_MSG_RESULT([$enable_trd]) |
745 | AC_LANG_POP(C++) | |
746 | CPPFLAGS="$save_CPPFLAGS" | |
747 | fi | |
748 | fi | |
2e742d30 | 749 | |
0f51f5b8 | 750 | if test "x$enable_trd" = "xyes" ; then |
751 | AC_DEFINE(HLT_TRD) | |
f59fee6d | 752 | ALITRD_LIBS=$ALIHLTMODULE_LIBS |
adec4ad4 | 753 | else |
754 | enable_module=$enable_trd | |
0f51f5b8 | 755 | fi |
756 | AM_CONDITIONAL(EN_HLT_TRD, test x$enable_trd = xyes) | |
d6e2c707 | 757 | AC_MSG_CHECKING([whether to compile TRD library]) |
c6b46c3f | 758 | AC_MSG_RESULT([$enable_module]) |
f59fee6d | 759 | AC_SUBST([ALITRD_LIBS]) |
0f51f5b8 | 760 | |
94cc9aab | 761 | dnl ------------------------------------------------------------------ |
94cc9aab | 762 | AH_TEMPLATE([HLT_MUON],[hlt dimuon library]) |
2e742d30 | 763 | |
f59fee6d | 764 | ALIMUON_LIBS= |
e89e6b23 | 765 | CHECK_HLTMODULE([dimuon], |
41f99620 | 766 | [AliMpExMap.h AliMUONTriggerIO.h], |
767 | [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/MUON -I$ALICE_ROOT/MUON/mapping], | |
b3f74118 | 768 | [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS], |
769 | [MUONcore MUONraw MUONbase MUONgeometry MUONmapping MUONcalib MUONsim MUONtrigger MUONevaluation MUONrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], | |
f59fee6d | 770 | [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) |
771 | ||
772 | if test "x$enable_module" = "xmissheader"; then | |
a853a794 | 773 | enable_module="no...requires.AliRoot>=v4-08-Release" |
774 | enable_muon="no...requires.AliRoot>=v4-08-Release" | |
c6b46c3f | 775 | elif test "x$enable_module" = "xforce"; then |
776 | enable_muon="yes" | |
f59fee6d | 777 | else |
778 | enable_muon=$enable_module | |
779 | fi | |
780 | ||
781 | if test "x$enable_muon" = "xyes" ; then | |
94cc9aab | 782 | AC_DEFINE(HLT_MUON) |
f59fee6d | 783 | ALIMUON_LIBS=$ALIHLTMODULE_LIBS |
6ed1b948 | 784 | AC_LANG_PUSH(C++) |
785 | dnl | |
786 | dnl Check for functionality GetRawStream AliMUONDigitMaker.h | |
787 | dnl | |
788 | have_muon_digitmaker_getrawstream=no | |
789 | AC_MSG_CHECKING(for GetRawStream methods of AliMUONDigitMaker) | |
790 | CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I${ALICE_ROOT}/MUON" | |
791 | LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS" | |
792 | LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $ALIMUON_LIBS" | |
793 | AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliMUONDigitMaker.h>], | |
794 | [AliMUONDigitMaker dm; | |
795 | dm.GetRawStreamTracker();])], | |
796 | [have_muon_digitmaker_getrawstream=yes], | |
797 | [AC_DEFINE(HAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM)]) | |
798 | LIBS=$save_LIBS | |
799 | AC_MSG_RESULT([$have_muon_digitmaker_getrawstream]) | |
800 | ||
801 | AC_LANG_POP(C++) | |
adec4ad4 | 802 | else |
803 | enable_module=$enable_muon | |
94cc9aab | 804 | fi |
f59fee6d | 805 | AM_CONDITIONAL(EN_HLT_MUON, test x$enable_muon = xyes) |
d6e2c707 | 806 | AC_MSG_CHECKING([whether to compile MUON library]) |
c6b46c3f | 807 | AC_MSG_RESULT([$enable_module]) |
f59fee6d | 808 | AC_SUBST([ALIMUON_LIBS]) |
94cc9aab | 809 | |
d6e2c707 | 810 | dnl ------------------------------------------------------------------ |
811 | AH_TEMPLATE([HLT_TRIGGER],[hlt trigger library]) | |
812 | ||
813 | ALITRIGGER_LIBS= | |
814 | CHECK_HLTMODULE([trigger], | |
815 | [], [$ALIROOT_CPPFLAGS], | |
816 | [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS], | |
817 | [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], | |
818 | [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) | |
819 | ||
820 | if test "x$enable_module" = "xmissheader"; then | |
821 | enable_module="no...header.missing" | |
822 | enable_trigger="no...header.missing" | |
823 | elif test "x$enable_module" = "xforce"; then | |
824 | enable_trigger="yes" | |
825 | else | |
826 | enable_trigger=$enable_module | |
827 | fi | |
828 | ||
829 | if test "x$enable_trigger" = "xyes" ; then | |
830 | AC_DEFINE(HLT_TRIGGER) | |
831 | ALITRIGGER_LIBS=$ALIHLTMODULE_LIBS | |
adec4ad4 | 832 | else |
833 | enable_module=$enable_trigger | |
d6e2c707 | 834 | fi |
835 | AM_CONDITIONAL(EN_HLT_TRIGGER, test x$enable_trigger = xyes) | |
836 | AC_MSG_CHECKING([whether to compile Trigger library]) | |
837 | AC_MSG_RESULT([$enable_module]) | |
838 | AC_SUBST([ALITRIGGER_LIBS]) | |
839 | ||
840 | dnl ------------------------------------------------------------------ | |
841 | AH_TEMPLATE([HLT_ITS],[hlt its library]) | |
842 | ||
843 | ALIITS_LIBS= | |
844 | CHECK_HLTMODULE([its], | |
ae5bf1dd | 845 | [AliITSCompressRawDataSDD.h], [$ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS], |
cad2d06c | 846 | [Gui RAWDatasim], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS], |
847 | [ITSbase ITSrec], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], | |
d6e2c707 | 848 | [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) |
849 | ||
850 | if test "x$enable_module" = "xmissheader"; then | |
851 | enable_module="no...header.missing" | |
852 | enable_its="no...header.missing" | |
853 | elif test "x$enable_module" = "xforce"; then | |
854 | enable_its="yes" | |
855 | else | |
856 | enable_its=$enable_module | |
adec4ad4 | 857 | if test "x$enable_its" = "xyes" ; then |
858 | AC_LANG_PUSH(C++) | |
859 | save_CPPFLAGS="$CPPFLAGS" | |
860 | CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS -I$ALICE_ROOT/ITS" | |
861 | # changes in the AliVertexer base class revision 26414, Thu Jun 5 15:36:18 2008 | |
862 | # require AliVertexer::GetNominalPos() | |
863 | AC_MSG_CHECKING([for required functions in AliITSVertexer]) | |
864 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AliITSVertexerZ.h>], | |
865 | [AliITSVertexerZ v; | |
866 | v.GetNominalPos()])], | |
867 | [], | |
868 | [enable_its="no...requires.AliRoot>v4-13-Release"]) | |
869 | AC_MSG_RESULT([$enable_its]) | |
870 | AC_LANG_POP(C++) | |
871 | CPPFLAGS="$save_CPPFLAGS" | |
872 | fi | |
d6e2c707 | 873 | fi |
874 | ||
875 | if test "x$enable_its" = "xyes" ; then | |
876 | AC_DEFINE(HLT_ITS) | |
877 | ALIITS_LIBS=$ALIHLTMODULE_LIBS | |
adec4ad4 | 878 | else |
879 | enable_module=$enable_its | |
d6e2c707 | 880 | fi |
881 | AM_CONDITIONAL(EN_HLT_ITS, test x$enable_its = xyes) | |
882 | AC_MSG_CHECKING([whether to compile ITS library]) | |
883 | AC_MSG_RESULT([$enable_module]) | |
884 | AC_SUBST([ALIITS_LIBS]) | |
885 | ||
e89e6b23 | 886 | dnl ------------------------------------------------------------------ |
887 | AH_TEMPLATE([HLT_COMP],[hlt comp library]) | |
888 | ||
889 | ALICOMP_LIBS= | |
890 | CHECK_HLTMODULE([comp], | |
891 | [], [$ALIROOT_CPPFLAGS], | |
892 | [], [-L$ROOTLIBDIR], [$ROOTLIBS $ADD_ROOTLIBS], | |
893 | [], [-L$ROOTLIBDIR $ALIROOT_LDFLAGS], | |
894 | [$ROOTLIBS $ADD_ROOTLIBS $ALIROOT_LIBS]) | |
895 | ||
896 | if test "x$enable_module" = "xmissheader"; then | |
c6b46c3f | 897 | enable_module="no...header.missing" |
e89e6b23 | 898 | enable_comp="no...header.missing" |
c6b46c3f | 899 | elif test "x$enable_module" = "xforce"; then |
900 | enable_comp="yes" | |
e89e6b23 | 901 | else |
902 | enable_comp=$enable_module | |
903 | fi | |
904 | ||
905 | if test "x$enable_comp" = "xyes" ; then | |
906 | AC_DEFINE(HLT_COMP) | |
907 | ALICOMP_LIBS=$ALIHLTMODULE_LIBS | |
adec4ad4 | 908 | else |
909 | enable_module=$enable_comp | |
e89e6b23 | 910 | fi |
911 | AM_CONDITIONAL(EN_HLT_COMP, test x$enable_comp = xyes) | |
912 | AC_MSG_CHECKING([whether to compile comp library]) | |
c6b46c3f | 913 | AC_MSG_RESULT([$enable_module]) |
e89e6b23 | 914 | AC_SUBST([ALICOMP_LIBS]) |
915 | ||
b521659f | 916 | dnl ------------------------------------------------------------------ |
fc455fba | 917 | AC_MSG_CHECKING([whether to disable AliRoot logging]) |
918 | AH_TEMPLATE([NOALIROOT_LOGGING],[disable AliRoot logging]) | |
919 | AC_ARG_ENABLE(aliroot-logging, | |
920 | [AC_HELP_STRING([--disable-aliroot-logging], | |
921 | [disable logging through AliRoot logging methods])], | |
922 | [],[enable_aliroot_logging=no]) | |
c018a1bd | 923 | if test "x$have_aliroot" = "xno" ; then |
924 | enable_aliroot_logging=yes # this means 'disable' | |
925 | fi | |
fc455fba | 926 | if test "x$enable_aliroot_logging" != "xno" ; then |
927 | AC_DEFINE(NOALIROOT_LOGGING) | |
b521659f | 928 | fi |
fc455fba | 929 | AM_CONDITIONAL(NOALIROOT_LOGGING, test x$enable_aliroot_logging != no) |
930 | AC_MSG_RESULT([$enable_aliroot_logging]) | |
b521659f | 931 | |
932 | dnl ------------------------------------------------------------------ | |
933 | AC_MSG_CHECKING([whether to enable saving MC data through the chain]) | |
934 | AH_TEMPLATE([DOMC],[MC saving]) | |
935 | AC_ARG_ENABLE(mc-saving, | |
936 | [AC_HELP_STRING([--enable-mc-saving], | |
937 | [enable saving MC data through the chain])], | |
938 | [],[enable_mc_saving=no]) | |
939 | if test "x$enable_mc_saving" = "xyes" ; then | |
940 | AC_DEFINE(DOMC) | |
941 | fi | |
942 | AC_MSG_RESULT([$enable_mc_saving]) | |
943 | ||
b521659f | 944 | dnl ------------------------------------------------------------------ |
b521659f | 945 | dnl certainly something old, but we keep the define |
946 | AC_MSG_CHECKING([whether to use ROWHOUGH]) | |
947 | AH_TEMPLATE([USEROWHOUGH],[HLT ROWHOUGH]) | |
948 | AC_ARG_ENABLE(rowhough, | |
949 | [AC_HELP_STRING([--enable-rowhough], | |
950 | [use ROWHOUGH ])], | |
951 | [],[enable_rowhough=no]) | |
952 | if test "x$enable_rowhough" = "xyes" ; then | |
953 | AC_DEFINE(USEROWHOUGH) | |
954 | fi | |
955 | AC_MSG_RESULT([$enable_rowhough]) | |
956 | ||
53feaef5 | 957 | dnl ------------------------------------------------------------------ |
958 | dnl The ROOTVERSION and ALIROOTVERSION defines were used by the old | |
959 | dnl stand-alone build system. This is most likely something old we can | |
960 | dnl get rid off later, or do something more reasonable. Since the define | |
961 | dnl needs the quotes they have to be escaped. This works well for the | |
962 | dnl Makefile but not for the configure script. So we have to add the | |
963 | dnl defines after all the other checks. | |
964 | CPPFLAGS="$CPPFLAGS -DROOTVERSION=\\\"`${ROOTCONF} --version`\\\"" | |
965 | if test ! "x$have_aliroot" = "xno" ; then | |
966 | CPPFLAGS="$CPPFLAGS -DALIROOTVERSION=\\\"Unknown\\\"" | |
967 | fi | |
968 | ||
b521659f | 969 | dnl ------------------------------------------------------------------ |
970 | dnl | |
971 | dnl Documentation | |
972 | dnl | |
973 | AC_ARG_VAR(DOXYGEN, The Documentation Generator) | |
974 | AC_PATH_PROG(PERL, perl) | |
975 | AC_PATH_PROG(DOXYGEN, doxygen) | |
5894eaa5 | 976 | AC_ARG_ENABLE(dot, |
977 | [AC_HELP_STRING([--enable-dot], | |
978 | [enable dot documentation generator])], | |
979 | [],[enable_dot=no]) | |
b521659f | 980 | HAVE_DOT=NO |
981 | DOT_PATH= | |
982 | AC_PATH_PROG(DOT, dot) | |
5894eaa5 | 983 | if test "x$DOT" != "x" && test "x$enable_dot" = "xyes" ; then |
b521659f | 984 | HAVE_DOT=YES |
985 | DOT_PATH=`dirname $DOT` | |
986 | fi | |
ae1c1854 | 987 | |
988 | AC_MSG_CHECKING([for documentation mode]) | |
989 | AC_ARG_ENABLE(doc, | |
990 | [AC_HELP_STRING([--disable-doc], | |
991 | [disable documentation build; monolithic build --enable-doc=mono ])], | |
992 | [],[enable_doc=modules]) | |
993 | if test "x$DOXYGEN" = "x" ; then | |
994 | enable_doc=no.doxygen | |
995 | elif test ! "x$enable_doc" = "xmono" && \ | |
996 | test ! "x$enable_doc" = "xmodules" && \ | |
997 | test ! "x$enable_doc" = "xno"; then | |
998 | enable_doc=no | |
999 | AC_MSG_WARN([unknown option]) | |
1000 | fi | |
1001 | if test "x$enable_doc" = "xno" ; then | |
1002 | enable_doc=off | |
1003 | DOXYGEN= | |
1004 | fi | |
1005 | ||
1006 | AC_MSG_RESULT([$enable_doc]) | |
1007 | AM_CONDITIONAL(MONOLITHIC_DOC, test "x$enable_doc" = "xmono") | |
1008 | AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x") | |
b521659f | 1009 | AC_SUBST([HAVE_DOT]) |
1010 | AC_SUBST([DOT_PATH]) | |
1011 | ||
90ebac25 | 1012 | dnl HAVE_SRC_SUBDIR=${abs_top_srcdir}/src |
1013 | dnl echo $HAVE_SRC_SUBDIR | |
1014 | dnl if ! test -d $HAVE_SRC_SUBDIR; then | |
1015 | dnl HAVE_SRC_SUBDIR= | |
1016 | dnl fi | |
1017 | dnl AC_SUBST([HAVE_SRC_SUBDIR]) | |
1018 | ||
2bbbadd1 | 1019 | dnl ------------------------------------------------------------------ |
7233bc62 | 1020 | AC_MSG_NOTICE([---------------------------------------------- ]) |
1021 | AC_MSG_NOTICE([ build summary ]) | |
1022 | AC_MSG_NOTICE([---------------------------------------------- ]) | |
1023 | ||
b521659f | 1024 | AC_CONFIG_FILES([Makefile |
1025 | BASE/Makefile | |
53feaef5 | 1026 | BASE/setenv.sh |
1027 | BASE/setenv.csh | |
2be16a33 | 1028 | BASE/HOMER/Makefile |
242bb794 | 1029 | BASE/util/Makefile |
d098ebd4 | 1030 | BASE/interface/Makefile |
853121af | 1031 | BASE/test/Makefile |
1a21074a | 1032 | BASE/interface/test/Makefile |
b521659f | 1033 | doc/Makefile |
2efb85be | 1034 | doc/doxygen.conf |
1035 | doc/doxymodule.conf]) | |
b521659f | 1036 | |
7233bc62 | 1037 | dnl AliRoot and installation directory for libraries |
1038 | dnl | |
1039 | AC_MSG_NOTICE([AliRoot: $have_aliroot]) | |
1040 | AM_CONDITIONAL(HAVE_ALIROOT, test "x$have_aliroot" != "xno" ) | |
1041 | if test "x$have_aliroot" != "xno"; then | |
1042 | AC_CONFIG_FILES([sim/Makefile | |
1043 | rec/Makefile | |
652cf9d2 | 1044 | rec/test/Makefile |
7233bc62 | 1045 | shuttle/Makefile |
ff4edcee | 1046 | pendolino/Makefile |
7233bc62 | 1047 | ]) |
1048 | fi | |
1049 | if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then | |
1050 | libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET | |
1051 | AC_MSG_NOTICE([libdir set to $libdir]) | |
1052 | fi | |
1053 | ||
1054 | AC_MSG_NOTICE([compile sample library: $enable_sample]) | |
1055 | if test "x$enable_sample" = "xyes"; then | |
1056 | AC_CONFIG_FILES([SampleLib/Makefile]) | |
1057 | fi | |
1058 | ||
652cf9d2 | 1059 | AC_MSG_NOTICE([compile RCU library: $enable_rcu]) |
1060 | if test "x$enable_rcu" = "xyes"; then | |
1061 | AC_CONFIG_FILES([RCU/Makefile | |
1062 | RCU/test/Makefile | |
1063 | ]) | |
1064 | fi | |
1065 | ||
7233bc62 | 1066 | AC_MSG_NOTICE([compile TPC library: $enable_tpc]) |
1067 | if test "x$enable_tpc" = "xyes"; then | |
1068 | AC_CONFIG_FILES([TPCLib/Makefile | |
1069 | TPCLib/test/Makefile | |
1070 | TPCLib/mapping2array.cxx | |
1071 | TPCLib/OnlineDisplay/Makefile | |
1072 | ]) | |
1073 | fi | |
1074 | ||
7233bc62 | 1075 | AC_MSG_NOTICE([compile PHOS library: $enable_phos]) |
1076 | if test "x$enable_phos" = "xyes"; then | |
1077 | AC_CONFIG_FILES([PHOS/Makefile]) | |
1078 | fi | |
1079 | ||
1080 | AC_MSG_NOTICE([compile TRD library: $enable_trd]) | |
1081 | if test "x$enable_trd" = "xyes"; then | |
1082 | AC_CONFIG_FILES([TRD/Makefile]) | |
1083 | fi | |
1084 | ||
1085 | AC_MSG_NOTICE([compile MUON library: $enable_muon]) | |
1086 | if test "x$enable_muon" = "xyes"; then | |
1087 | AC_CONFIG_FILES([MUON/Makefile]) | |
1088 | fi | |
1089 | ||
1090 | AC_MSG_NOTICE([compile ITS library: $enable_its]) | |
1091 | if test "x$enable_its" = "xyes"; then | |
1092 | AC_CONFIG_FILES([ITS/Makefile]) | |
1093 | fi | |
1094 | ||
1095 | AC_MSG_NOTICE([compile trigger library: $enable_trigger]) | |
1096 | if test "x$enable_trigger" = "xyes"; then | |
1097 | AC_CONFIG_FILES([trigger/Makefile]) | |
1098 | fi | |
1099 | ||
1100 | AC_MSG_NOTICE([compile comp library: $enable_comp]) | |
1101 | if test "x$enable_comp" = "xyes"; then | |
1102 | AC_CONFIG_FILES([comp/Makefile]) | |
1103 | fi | |
b521659f | 1104 | |
1105 | AC_OUTPUT | |
1106 | dnl | |
1107 | dnl EOF | |
1108 | dnl | |
1109 |