]>
Commit | Line | Data |
---|---|---|
33791895 | 1 | dnl -*- mode: autoconf -*- |
2 | dnl | |
3 | dnl $Id$ | |
4 | dnl template for the configuration script for the Alice HLT | |
5 | dnl analysis tutorial and example library | |
6 | dnl | |
7 | dnl ------------------------------------------------------------------ | |
8 | AC_INIT([Alice High Level Trigger EVE library] , [0.1], [slindal@fys.uio.no], alice-hlt-eve) | |
9 | ||
10 | dnl ------------------------------------------------------------------ | |
11 | AC_CANONICAL_SYSTEM | |
12 | AC_PREFIX_DEFAULT(${PWD}) | |
13 | AC_CONFIG_SRCDIR(AliHLTDummyComponent.cxx) | |
14 | AM_INIT_AUTOMAKE | |
15 | AC_PROG_CC | |
16 | AC_PROG_CXX | |
17 | AC_PROG_LIBTOOL | |
18 | ||
19 | AC_DEBUG | |
20 | AC_OPTIMIZATION | |
21 | AM_CONDITIONAL(STANDALONE_SAMPLELIB, test 1) | |
22 | ||
23 | dnl ------------------------------------------------------------------ | |
24 | dnl | |
25 | dnl Check for ROOT | |
26 | dnl | |
27 | ROOT_PATH(, [have_root=1], [AC_ERROR([Stop! The HLT package needs ROOT.])]) | |
28 | AM_CONDITIONAL(HAVE_ROOT, test "x$have_root" = "x1" ) | |
29 | AC_SUBST([ROOTSYS]) | |
30 | ||
31 | dnl test for additional required root libraries | |
32 | # we check for the libSTEER library which is linked to | |
33 | # - the ROOT libs libGeom libMinuit libVMC libEG | |
34 | # - the AliRoot libESD libRAWData (libRAWDatarec from v4-04-Rev-07) | |
35 | # - ROOT libCint needs also libdl | |
36 | # - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires | |
37 | # libTreePlayer.so | |
38 | # - from Jan 07 libESD also depends on libXMLIO | |
39 | LIBS='-ldl' | |
40 | if test "x$have_root" = "x1"; then | |
41 | save_CPPFLAGS=$CPPFLAGS | |
42 | save_LDFLAGS=$LDFLAGS | |
43 | save_LIBS=$LIBS | |
44 | ||
45 | ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO' | |
46 | for CHECKLIB in $ROOT_CHECKLIBS ; do | |
47 | CPPFLAGS="$save_CPPFLAGS" | |
48 | LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}" | |
49 | LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS" | |
50 | AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"]) | |
51 | done | |
52 | ||
53 | CPPFLAGS=$save_CPPFLAGS | |
54 | LDFLAGS=$save_LDFLAGS | |
55 | LIBS=$save_LIBS | |
56 | fi | |
57 | ||
58 | CPPFLAGS="$CPPFLAGS ${ROOTCFLAGS}" | |
59 | ||
60 | dnl ------------------------------------------------------------------ | |
61 | dnl check for AliRoot features | |
62 | AC_LANG_PUSH(C++) | |
63 | have_aliroot=no | |
64 | AC_ARG_WITH(aliroot,[ --with-aliroot top of the AliRoot installation], | |
65 | [test -d $with_aliroot && ALICE_ROOT=$with_aliroot], | |
66 | []) | |
67 | ||
68 | if test "x$ALICE_ROOT" != "x" && test -d $ALICE_ROOT ; then | |
69 | dnl ------------------------------------------------------------------ | |
70 | dnl Try to estimate the system architecture | |
71 | case $host_os:$host_cpu in | |
72 | linux*:x86_64*) alice_target='linuxx8664gcc' ;; | |
73 | linux*) alice_target='linux' ;; | |
74 | *) alice_target='unknown' ;; | |
75 | esac | |
76 | if test "x$alice_target" = "xunknown" ; then | |
77 | if test -z $ALICE_TARGET ; then | |
78 | AC_MSG_ERROR([Can not estimate system architecture. | |
79 | To avoid the problem, set the ALICE_TARGET variable appropriately. | |
80 | Please send the following information to Matthias.Richter@ift.uib.no: | |
81 | ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ]) | |
82 | else | |
83 | AC_MSG_NOTICE([Unknown system architecture. | |
84 | Please send the following information to Matthias.Richter@ift.uib.no: | |
85 | ${PACKAGE}: no AliRoot target definition for os=$host_os and cpu=$host_cpu ]) | |
86 | fi | |
87 | else | |
88 | if test "x$ALICE_TARGET" != "x" && test "x$ALICE_TARGET" != "x$alice_target" ; then | |
89 | AC_MSG_WARN([The ALICE_TARGET variable does not match your current system | |
90 | overriding $ALICE_TARGET by $alice_target]) | |
91 | fi | |
92 | ALICE_TARGET=$alice_target | |
93 | fi | |
94 | ALIROOTLIBDIR=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET} | |
95 | ALIROOTINCDIR=${ALICE_ROOT}/include | |
96 | test -d ${ALIROOTLIBDIR} || AC_MSG_WARN([can not find AliRoot library directory $ALIROOTLIBDIR]) | |
97 | test -d ${ALIROOTINCDIR} || AC_MSG_WARN([can not find AliRoot include directory $ALIROOTINCDIR]) | |
98 | fi | |
99 | ||
100 | AC_MSG_CHECKING([for AliRoot]) | |
101 | if test "x$ALICE_ROOT" != "x" \ | |
102 | && test -d ${ALIROOTLIBDIR} \ | |
103 | && test -d ${ALIROOTINCDIR}; then | |
104 | have_aliroot=$ALICE_ROOT | |
105 | else | |
106 | ALIROOTLIBDIR= | |
107 | ALIROOTINCDIR= | |
108 | fi | |
109 | AC_MSG_RESULT([$have_aliroot]) | |
110 | ||
111 | if test ! "x$have_aliroot" = "xno" ; then | |
112 | ALIROOT_CPPFLAGS="-I${ALIROOTINCDIR} -I${ALICE_ROOT}/RAW" | |
113 | ALIROOT_LDFLAGS="-L${ALIROOTLIBDIR}" | |
114 | ALIROOT_LIBS="-lESD $ADD_ROOTLIBS" | |
115 | save_CPPFLAGS=$CPPFLAGS | |
116 | save_LDFLAGS=$LDFLAGS | |
117 | save_LIBS=$LIBS | |
118 | CPPFLAGS="$save_CPPFLAGS $ALIROOT_CPPFLAGS" | |
119 | LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS" | |
120 | ||
121 | # check for certain AliRoot libraries/files/features | |
122 | # CBD library is present since AliRoot version v4-05-00 (02.06.2006) | |
123 | LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS" | |
124 | CHECKLIB=CDB | |
125 | AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"]) | |
126 | ||
127 | # splitted RAW libraries since AliRoot version v4-04-Rev-07 (09.08.2006) | |
128 | have_alirawdata=no | |
129 | LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS" | |
130 | CHECKLIB=RAWDatabase | |
131 | AC_CHECK_LIB([$CHECKLIB],[_init], | |
132 | [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB" | |
133 | LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS" | |
134 | CHECKLIB=RAWDatarec | |
135 | AC_CHECK_LIB([$CHECKLIB],[_init], | |
136 | [ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB" | |
137 | AC_DEFINE(HAVE_ALIRAWDATA) | |
138 | have_alirawdata=$CHECKLIB])], | |
139 | [# second pass with -RAWData | |
140 | CHECKLIB="-lRAWData" | |
141 | LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS $CHECKLIB -lSTEER" | |
142 | AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <AliRawReaderMemory.h> | |
143 | #include <AliRawReaderFile.h> | |
144 | #include <AliRawReaderDate.h> | |
145 | #include <AliRawReaderRoot.h>], | |
146 | [AliRawReaderMemory mreader; | |
147 | AliRawReaderFile freader; | |
148 | AliRawReaderDate dreader(NULL,0); | |
149 | AliRawReaderRoot rreader(NULL,0);])], | |
150 | [AC_DEFINE(HAVE_ALIRAWDATA) | |
151 | ALIROOT_LIBS="$ALIROOT_LIBS $CHECKLIB" | |
152 | have_alirawdata=$CHECKLIB], | |
153 | [have_alirawdata=no]) | |
154 | ]) dnl AC_CHECK_LIB RAWDatabase | |
155 | AC_MSG_CHECKING(for AliRawReader classes in RAWData libraries) | |
156 | AC_MSG_RESULT($have_alirawdata) | |
157 | ||
158 | LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS" | |
159 | CHECKLIB=STEER | |
160 | AC_CHECK_LIB([$CHECKLIB],[_init],[ALIROOT_LIBS="$ALIROOT_LIBS -l$CHECKLIB"]) | |
161 | ||
162 | if test "x$have_aliroot" = "xno" ; then | |
163 | ALIROOT_CPPFLAGS= | |
164 | ALIROOT_LDFLAGS= | |
165 | ALIROOT_LIBS= | |
166 | fi | |
167 | CPPFLAGS=$save_CPPFLAGS | |
168 | LDFLAGS=$save_LDFLAGS | |
169 | LIBS=$save_LIBS | |
170 | fi | |
171 | ||
172 | dnl ------------------------------------------------------------------ | |
173 | dnl check for the HLT component framework | |
174 | AC_MSG_CHECKING([for HLT component framework in ]) | |
175 | AC_ARG_WITH(hltbase, [ --with-hltbase installation path of the HLT component framework], | |
176 | [], | |
177 | [test -n $have_aliroot && with_hltbase=$have_aliroot ]) | |
178 | if test -z $with_hltbase || ! test -d $with_hltbase ; then | |
179 | with_hltbase=no | |
180 | fi | |
181 | AC_MSG_RESULT([$with_hltbase]) | |
182 | if test "x$with_hltbase" = "xno" || test "x$with_hltbase" = "x$ALICE_ROOT" ; then | |
183 | HLTBASE_CPPFLAGS=-I${ALICE_ROOT}/HLT/BASE | |
184 | HLTBASE_LDFLAGS= | |
185 | else | |
186 | HLTBASE_CPPFLAGS=-I${with_hltbase}/include/alice-hlt | |
187 | HLTBASE_LDFLAGS=-L${with_hltbase}/lib | |
188 | fi | |
189 | ||
190 | save_CPPFLAGS=$CPPFLAGS | |
191 | save_LDFLAGS=$LDFLAGS | |
192 | save_LIBS=$LIBS | |
193 | CPPFLAGS="$save_CPPFLAGS $HLTBASE_CPPFLAGS -L${ALIROOTLIBDIR}" | |
194 | LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR} $ALIROOT_LDFLAGS $HLTBASE_LDFLAGS" | |
195 | LIBS="$save_LIBS $ROOTLIBS $ALIROOT_LIBS" | |
196 | AC_CHECK_HEADER([AliHLTComponent.h]) | |
197 | AC_CHECK_HEADER([AliHLTLogging.h]) | |
198 | CHECKLIB=HLTbase | |
199 | AC_CHECK_LIB([$CHECKLIB],[_init], | |
200 | [have_hltbase=yes | |
201 | HLTBASE_LDFLAGS="$HLTBASE_LDFLAGS -l$CHECKLIB"]) | |
202 | ||
203 | test "x$have_hltbase" = "xyes" || \ | |
204 | AC_ERROR([Stop! The package needs the HLT component framework. | |
205 | Use --with-hltbase option to point to the HLT component framework | |
206 | installation]) | |
207 | ||
208 | CPPFLAGS=$save_CPPFLAGS | |
209 | LDFLAGS=$save_LDFLAGS | |
210 | LIBS=$save_LIBS | |
211 | ||
212 | AC_LANG_POP(C++) | |
213 | AC_SUBST([ALIROOT_CPPFLAGS]) | |
214 | AC_SUBST([ALIROOT_LDFLAGS]) | |
215 | AC_SUBST([ALIROOTLIBDIR]) | |
216 | AC_SUBST([ALIROOT_LIBS]) | |
217 | AC_SUBST([HLTBASE_CPPFLAGS]) | |
218 | AC_SUBST([HLTBASE_LDFLAGS]) | |
219 | ||
220 | dnl ------------------------------------------------------------------ | |
221 | dnl | |
222 | dnl Documentation | |
223 | dnl | |
224 | AC_ARG_VAR(DOXYGEN, The Documentation Generator) | |
225 | AC_PATH_PROG(PERL, perl) | |
226 | AC_PATH_PROG(DOXYGEN, doxygen) | |
227 | AM_CONDITIONAL(HAVE_DOXYGEN, test ! "x$DOXYGEN" = "x") | |
228 | HAVE_DOT=NO | |
229 | DOT_PATH= | |
230 | AC_PATH_PROG(DOT, dot) | |
231 | if ! test "x$DOT" = "x" ; then | |
232 | HAVE_DOT=YES | |
233 | DOT_PATH=`dirname $DOT` | |
234 | fi | |
235 | AC_SUBST([HAVE_DOT]) | |
236 | AC_SUBST([DOT_PATH]) | |
237 | ||
238 | dnl ------------------------------------------------------------------ | |
239 | dnl inatallation directory for libraries | |
240 | dnl | |
241 | if test "x$prefix" != "xNONE" && test $ALICE_ROOT = $prefix ; then | |
242 | libdir=\${exec_prefix}/lib/tgt_$ALICE_TARGET | |
243 | AC_MSG_NOTICE([libdir set to $libdir]) | |
244 | fi | |
245 | dnl ------------------------------------------------------------------ | |
246 | AC_CONFIG_FILES([Makefile]) | |
247 | ||
248 | ||
249 | AC_OUTPUT | |
250 | dnl | |
251 | dnl EOF | |
252 | dnl | |
253 | ||
254 | dnl AC_CONFIG_FILES([Makefile | |
255 | dnl doc/Makefile | |
256 | dnl doc/doxygen.conf]) |