]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/acinclude.m4
Unload the VZERO digits per event
[u/mrichter/AliRoot.git] / HLT / acinclude.m4
CommitLineData
b521659f 1dnl
2dnl $Id$
3dnl
4dnl Copyright (C) 2002 Christian Holm Christensen <cholm@nbi.dk>
5dnl
6dnl This library is free software; you can redistribute it and/or
7dnl modify it under the terms of the GNU Lesser General Public License
8dnl as published by the Free Software Foundation; either version 2.1
9dnl of the License, or (at your option) any later version.
10dnl
11dnl This library is distributed in the hope that it will be useful,
12dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
13dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14dnl Lesser General Public License for more details.
15dnl
16dnl You should have received a copy of the GNU Lesser General Public
17dnl License along with this library; if not, write to the Free
18dnl Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19dnl 02111-1307 USA
20dnl
21dnl ------------------------------------------------------------------
22AC_DEFUN([AC_DEBUG],
23[
24 AC_REQUIRE([AC_PROG_CC])
25 AC_REQUIRE([AC_PROG_CXX])
26 AC_MSG_CHECKING(whether to make debug objects)
27 AC_ARG_ENABLE(debug,
28 [AC_HELP_STRING([--enable-debug],[Enable debugging symbols in objects])],
1e27470a 29 [],[enable_debug=no])
b521659f 30 if test "x$enable_debug" = "xno" ; then
adec4ad4 31 AC_DEFINE(NDEBUG)
b521659f 32 CFLAGS=`echo $CFLAGS | sed 's,-g,,'`
33 CXXFLAGS=`echo $CXXFLAGS | sed 's,-g,,'`
34 else
35 AC_DEFINE(__DEBUG)
adec4ad4 36 AC_DEFINE(DEBUG)
b521659f 37 case $CXXFLAGS in
38 *-g*) ;;
39 *) CXXFLAGS="$CXXFLAGS -g" ;;
40 esac
41 case $CFLAGS in
42 *-g*) ;;
43 *) CFLAGS="$CFLAGS -g" ;;
44 esac
45 fi
46 AC_MSG_RESULT($enable_debug 'CFLAGS=$CFLAGS')
47])
48
5b1c9727 49dnl ------------------------------------------------------------------
50AC_DEFUN([AC_PROFILING],
51[
52 AC_REQUIRE([AC_PROG_CC])
53 AC_REQUIRE([AC_PROG_CXX])
54 AC_MSG_CHECKING(whether to add profiling info)
55 AC_ARG_ENABLE(profiling,
56 [AC_HELP_STRING([--enable-profiling],[Enable profiling info in objects])],
57 [],[enable_profiling=no])
58 if test "x$enable_profiling" = "xno" ; then
59 CFLAGS=`echo $CFLAGS | sed 's,-pg,,'`
60 CXXFLAGS=`echo $CXXFLAGS | sed 's,-pg,,'`
61 else
62 AC_DEFINE(PROFILING)
63 case $CXXFLAGS in
64 *-pg*) ;;
65 *) CXXFLAGS="$CXXFLAGS -pg" ;;
66 esac
67 case $CFLAGS in
68 *-pg*) ;;
69 *) CFLAGS="$CFLAGS -pg" ;;
70 esac
71 fi
72 AC_MSG_RESULT($enable_profiling 'CFLAGS=$CFLAGS')
73])
74
b521659f 75dnl ------------------------------------------------------------------
76AC_DEFUN([AC_OPTIMIZATION],
77[
78 AC_REQUIRE([AC_PROG_CC])
79 AC_REQUIRE([AC_PROG_CXX])
80
81 AC_ARG_ENABLE(optimization,
f59fee6d 82 [AC_HELP_STRING([--disable-optimization],[Enable optimization of objects])],
b521659f 83 [],[enable_optimization=yes])
84
85 AC_MSG_CHECKING(for optimiztion level)
86
87 changequote(<<, >>)dnl
88 if test "x$enable_optimization" = "xno" ; then
89 CFLAGS=`echo $CFLAGS | sed 's,-O\([0-9][0-9]*\|\),,'`
90 CXXFLAGS=`echo $CXXFLAGS | sed 's,-O\([0-9][0-9]*\|\),,'`
91 elif test "x$enable_optimization" = "xyes" ; then
92 case $CXXFLAGS in
93 *-O*) ;;
94 *) CXXFLAGS="$CXXFLAGS -O2" ;;
95 esac
96 case $CFLAGS in
97 *-O*) ;;
98 *) CFLAGS="$CXXFLAGS -O2" ;;
99 esac
100 else
101 CFLAGS=`echo $CFLAGS | sed "s,-O\([0-9][0-9]*\|\),-O$enable_optimization,"`
102 CXXFLAGS=`echo $CXXFLAGS | sed "s,-O\([0-9][0-9]*\|\),-O$enable_optimization,"`
103 fi
104 changequote([, ])dnl
105 AC_MSG_RESULT($enable_optimization 'CFLAGS=$CFLAGS')
106])
107
108dnl ------------------------------------------------------------------
109
110dnl
111dnl Autoconf macro to check for existence or ROOT on the system
112dnl Synopsis:
113dnl
114dnl ROOT_PATH([MINIMUM-VERSION, [ACTION-IF-FOUND, [ACTION-IF-NOT-FOUND]]])
115dnl
116dnl Some examples:
117dnl
118dnl ROOT_PATH(3.03/05, , AC_MSG_ERROR(Your ROOT version is too old))
119dnl ROOT_PATH(, AC_DEFINE([HAVE_ROOT]))
120dnl
121dnl The macro defines the following substitution variables
122dnl
123dnl ROOTCONF full path to root-config
124dnl ROOTEXEC full path to root
125dnl ROOTCINT full path to rootcint
126dnl ROOTLIBDIR Where the ROOT libraries are
127dnl ROOTINCDIR Where the ROOT headers are
128dnl ROOTCFLAGS Extra compiler flags
129dnl ROOTLIBS ROOT basic libraries
130dnl ROOTGLIBS ROOT basic + GUI libraries
131dnl ROOTAUXLIBS Auxilary libraries and linker flags for ROOT
132dnl ROOTAUXCFLAGS Auxilary compiler flags
133dnl ROOTRPATH Same as ROOTLIBDIR
134dnl
135dnl The macro will fail if root-config and rootcint isn't found.
136dnl
137dnl Christian Holm Christensen <cholm@nbi.dk>
138dnl
139AC_DEFUN([ROOT_PATH],
140[
141 AC_ARG_WITH(rootsys,
142 [ --with-rootsys top of the ROOT installation directory],
143 user_rootsys=$withval,
144 user_rootsys="none")
145 if test ! x"$user_rootsys" = xnone; then
146 rootbin="$user_rootsys/bin"
147 elif test ! x"$ROOTSYS" = x ; then
148 rootbin="$ROOTSYS/bin"
149 else
150 rootbin=$PATH
151 fi
152 AC_PATH_PROG(ROOTCONF, root-config , no, $rootbin)
153 AC_PATH_PROG(ROOTEXEC, root , no, $rootbin)
154 AC_PATH_PROG(ROOTCINT, rootcint , no, $rootbin)
155
156 if test ! x"$ROOTCONF" = "xno" && \
157 test ! x"$ROOTCINT" = "xno" ; then
158
159 # define some variables
160 ROOTLIBDIR=`$ROOTCONF --libdir`
161 ROOTINCDIR=`$ROOTCONF --incdir`
162 ROOTCFLAGS=`$ROOTCONF --noauxcflags --cflags`
163 ROOTLIBS=`$ROOTCONF --noauxlibs --noldflags --libs`
164 ROOTGLIBS=`$ROOTCONF --noauxlibs --noldflags --glibs`
165 ROOTAUXCFLAGS=`$ROOTCONF --auxcflags`
166 ROOTAUXLIBS=`$ROOTCONF --auxlibs`
167 ROOTRPATH=$ROOTLIBDIR
168
169 if test $1 ; then
170 AC_MSG_CHECKING(wether ROOT version >= [$1])
171 vers=`$ROOTCONF --version | tr './' ' ' | awk 'BEGIN { FS = " "; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
172 requ=`echo $1 | tr './' ' ' | awk 'BEGIN { FS = " "; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
173 if test $vers -lt $requ ; then
174 AC_MSG_RESULT(no)
175 no_root="yes"
176 else
177 AC_MSG_RESULT(yes)
178 fi
179 fi
180 else
181 # otherwise, we say no_root
182 no_root="yes"
183 fi
184
185 AC_SUBST(ROOTLIBDIR)
186 AC_SUBST(ROOTINCDIR)
187 AC_SUBST(ROOTCFLAGS)
188 AC_SUBST(ROOTLIBS)
189 AC_SUBST(ROOTGLIBS)
190 AC_SUBST(ROOTAUXLIBS)
191 AC_SUBST(ROOTAUXCFLAGS)
192 AC_SUBST(ROOTRPATH)
193
194 if test "x$no_root" = "x" ; then
195 ifelse([$2], , :, [$2])
196 else
197 ifelse([$3], , :, [$3])
198 fi
199])
200
f59fee6d 201dnl ------------------------------------------------------------------
202dnl
203dnl Autoconf macro to check conditions for an HLT module
204dnl - header dependencies
205dnl - library dependencies
206dnl - AliRoot availability
207dnl The macro also exports the --enable/--disable option for the
208dnl module.
209dnl
210dnl Synopsis:
211dnl
212dnl ROOT_PATH([module],
213dnl [headers], [additional CPPFLAGS],
214dnl [libraries], [LD flags], [LIBS],
215dnl [circ libraries], [LD flags], [LIBS])
216dnl
217dnl First argument is the module name.
218dnl
219dnl Arg 2 and 3 allow to check a list of header files and to specify
220dnl additional CPPFLAGS which might be necessary to perform the checks.
221dnl
222dnl Arg 4 to 6 allow to check a list of libraries, with additional
223dnl LDFLAGS and LIBS to be specified.
224dnl
225dnl Arg 7 to 9 is the same for libraries with circular dependencies
226dnl among each other.
227dnl
228dnl Return:
229dnl enable_module=yes
230dnl - AliRoot was found &&
231dnl - header files found &&
232dnl - module not disabled
233dnl
234dnl enable_module=no...requires.AliRoot
235dnl - AliRoot not found
236dnl
237dnl enable_module=missheader
238dnl - one of the specified header files is missing
239dnl
240dnl Libraries are probed and the variable ALIHLTMODULE_LIBS is set to
241dnl all libraries which could be found.
242dnl
243dnl Some examples:
244dnl
245dnl Matthias Richter <Matthias.Richter@uib.no>
246AC_DEFUN([CHECK_HLTMODULE],
247[
248AH_TEMPLATE([HLT_[$1]],[hlt [$1] library])
249AC_ARG_ENABLE([$1],
250 [AC_HELP_STRING([--disable-[$1]],
251 [ compile the $1 library ])],
c6b46c3f 252 [if test "x$enableval" = "xno";
253 then enable_module=no
7233bc62 254 elif test "x$disable_all" = "xyes"; then
255 # do checks if library has been enabled after global disable
256 enable_module=yes
c6b46c3f 257 else
258 enable_module=force
259 fi],
7233bc62 260 [if test "x$disable_all" = "xyes"; then
261 enable_module=no...modules.disabled
262 else
263 enable_module=yes
264 fi # if test "x$disable_all" = "yes"
265 ])
266 if test "x$enable_module" = "xyes"; then
f59fee6d 267 if test "x$have_aliroot" = "xno" ; then
268 enable_module="no...requires.AliRoot"
269 else
adec4ad4 270 AC_MSG_NOTICE([-------------------------------------------------])
f59fee6d 271 AC_MSG_NOTICE([checking dependencies for [$1] library])
272
273 AC_LANG_PUSH(C++)
274 save_CPPFLAGS="$CPPFLAGS"
275 save_LDFLAGS="$LDFLAGS"
276 save_LIBS="$LIBS"
277 CPPFLAGS="$save_CPPFLAGS [$3]"
278
279 AC_CHECK_HEADERS([$2], [], [enable_module="missheader"])
280
281 dnl ==========================================================================
282 dnl
283 dnl required header files and libraries for the AliHLTxxx library
284 dnl
285
286 dnl ROOT/AliRoot libs needed by libAliHLTxxx
287 CHECKLIBS="[$4]"
288 ALIHLTMODULE_LIBS=
289 LDFLAGS="$save_LDFLAGS [$5]"
290 for CHECKLIB in $CHECKLIBS ; do
291 LIBS="$save_LIBS $ROOTLIBS [$6] $ALIHLTMODULE_LIBS"
292 AC_CHECK_LIB([$CHECKLIB],[_init], [ALIHLTMODULE_LIBS="$ALIHLTMODULE_LIBS -l$CHECKLIB"])
293 done
294
295 dnl libs with circular dependencies needed by libAliHLTxxx
296 CHECKLIBS="[$7]"
297 CIRCULARS=
298 for dep in [$7]; do
299 CIRCULARS="$CIRCULARS -l$dep"
300 done
301 ALIHLTMODULE_LIBS="$ALIHLTMODULE_LIBS"
302 LDFLAGS="$save_LDFLAGS [$8]"
303 for CHECKLIB in $CHECKLIBS ; do
50f2b132 304 CIRCULARS=`echo $CIRCULARS | sed -e "s|-l$CHECKLIB||"`
f59fee6d 305 LIBS="$save_LIBS [$9] $CIRCULARS $ALIHLTMODULE_LIBS"
306 AC_CHECK_LIB([$CHECKLIB],[_init], [ALIHLTMODULE_LIBS="$ALIHLTMODULE_LIBS -l$CHECKLIB"])
307 done
308 CPPFLAGS="$save_CPPFLAGS"
309 LDFLAGS="$save_LDFLAGS"
310 LIBS="$save_LIBS"
311 AC_LANG_POP(C++)
312
7233bc62 313 fi # if test "x$have_aliroot" = "xno"
314 fi # if test "x$enable_module" = "xyes"
f59fee6d 315])
316
b521659f 317
318#
319# EOF
320#