- Changed module names to be the same as the libraries names;
[u/mrichter/AliRoot.git] / HLT / acinclude.m4
1 dnl
2 dnl $Id$
3 dnl
4 dnl  Copyright (C) 2002 Christian Holm Christensen <cholm@nbi.dk>
5 dnl
6 dnl  This library is free software; you can redistribute it and/or
7 dnl  modify it under the terms of the GNU Lesser General Public License
8 dnl  as published by the Free Software Foundation; either version 2.1
9 dnl  of the License, or (at your option) any later version.
10 dnl
11 dnl  This library is distributed in the hope that it will be useful,
12 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 dnl  Lesser General Public License for more details.
15 dnl
16 dnl  You should have received a copy of the GNU Lesser General Public
17 dnl  License along with this library; if not, write to the Free
18 dnl  Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 dnl  02111-1307 USA
20 dnl
21 dnl ------------------------------------------------------------------
22 AC_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])],
29     [],[enable_debug=yes])
30   if test "x$enable_debug" = "xno" ; then
31     CFLAGS=`echo $CFLAGS | sed 's,-g,,'`
32     CXXFLAGS=`echo $CXXFLAGS | sed 's,-g,,'`
33   else
34     AC_DEFINE(__DEBUG)
35     case $CXXFLAGS in
36     *-g*) ;;
37     *)    CXXFLAGS="$CXXFLAGS -g" ;;
38     esac
39     case $CFLAGS in
40     *-g*) ;;
41     *)    CFLAGS="$CFLAGS -g" ;;
42     esac
43   fi
44   AC_MSG_RESULT($enable_debug 'CFLAGS=$CFLAGS')
45 ])
46
47 dnl ------------------------------------------------------------------
48 AC_DEFUN([AC_OPTIMIZATION],
49 [
50   AC_REQUIRE([AC_PROG_CC])
51   AC_REQUIRE([AC_PROG_CXX])
52
53   AC_ARG_ENABLE(optimization,
54     [AC_HELP_STRING([--enable-optimization],[Enable optimization of objects])],
55     [],[enable_optimization=yes])
56
57   AC_MSG_CHECKING(for optimiztion level)
58
59   changequote(<<, >>)dnl
60   if test "x$enable_optimization" = "xno" ; then
61     CFLAGS=`echo   $CFLAGS   | sed 's,-O\([0-9][0-9]*\|\),,'`
62     CXXFLAGS=`echo $CXXFLAGS | sed 's,-O\([0-9][0-9]*\|\),,'`
63   elif test "x$enable_optimization" = "xyes" ; then
64     case $CXXFLAGS in
65     *-O*) ;;
66     *)    CXXFLAGS="$CXXFLAGS -O2" ;;
67     esac
68     case $CFLAGS in
69     *-O*) ;;
70     *)    CFLAGS="$CXXFLAGS -O2" ;;
71     esac
72   else
73     CFLAGS=`echo   $CFLAGS   | sed "s,-O\([0-9][0-9]*\|\),-O$enable_optimization,"`
74     CXXFLAGS=`echo $CXXFLAGS | sed "s,-O\([0-9][0-9]*\|\),-O$enable_optimization,"`
75   fi
76   changequote([, ])dnl
77   AC_MSG_RESULT($enable_optimization 'CFLAGS=$CFLAGS')
78 ])
79
80 dnl ------------------------------------------------------------------
81
82 dnl
83 dnl Autoconf macro to check for existence or ROOT on the system
84 dnl Synopsis:
85 dnl
86 dnl  ROOT_PATH([MINIMUM-VERSION, [ACTION-IF-FOUND, [ACTION-IF-NOT-FOUND]]])
87 dnl
88 dnl Some examples: 
89 dnl 
90 dnl    ROOT_PATH(3.03/05, , AC_MSG_ERROR(Your ROOT version is too old))
91 dnl    ROOT_PATH(, AC_DEFINE([HAVE_ROOT]))
92 dnl 
93 dnl The macro defines the following substitution variables
94 dnl
95 dnl    ROOTCONF           full path to root-config
96 dnl    ROOTEXEC           full path to root
97 dnl    ROOTCINT           full path to rootcint
98 dnl    ROOTLIBDIR         Where the ROOT libraries are 
99 dnl    ROOTINCDIR         Where the ROOT headers are 
100 dnl    ROOTCFLAGS         Extra compiler flags
101 dnl    ROOTLIBS           ROOT basic libraries 
102 dnl    ROOTGLIBS          ROOT basic + GUI libraries
103 dnl    ROOTAUXLIBS        Auxilary libraries and linker flags for ROOT
104 dnl    ROOTAUXCFLAGS      Auxilary compiler flags 
105 dnl    ROOTRPATH          Same as ROOTLIBDIR
106 dnl
107 dnl The macro will fail if root-config and rootcint isn't found.
108 dnl
109 dnl Christian Holm Christensen <cholm@nbi.dk>
110 dnl
111 AC_DEFUN([ROOT_PATH],
112 [
113   AC_ARG_WITH(rootsys,
114   [  --with-rootsys          top of the ROOT installation directory],
115     user_rootsys=$withval,
116     user_rootsys="none")
117   if test ! x"$user_rootsys" = xnone; then
118     rootbin="$user_rootsys/bin"
119   elif test ! x"$ROOTSYS" = x ; then 
120     rootbin="$ROOTSYS/bin"
121   else 
122    rootbin=$PATH
123   fi
124   AC_PATH_PROG(ROOTCONF, root-config , no, $rootbin)
125   AC_PATH_PROG(ROOTEXEC, root , no, $rootbin)
126   AC_PATH_PROG(ROOTCINT, rootcint , no, $rootbin)
127         
128   if test ! x"$ROOTCONF" = "xno" && \
129      test ! x"$ROOTCINT" = "xno" ; then 
130
131     # define some variables 
132     ROOTLIBDIR=`$ROOTCONF --libdir`
133     ROOTINCDIR=`$ROOTCONF --incdir`
134     ROOTCFLAGS=`$ROOTCONF --noauxcflags --cflags` 
135     ROOTLIBS=`$ROOTCONF --noauxlibs --noldflags --libs`
136     ROOTGLIBS=`$ROOTCONF --noauxlibs --noldflags --glibs`
137     ROOTAUXCFLAGS=`$ROOTCONF --auxcflags`
138     ROOTAUXLIBS=`$ROOTCONF --auxlibs`
139     ROOTRPATH=$ROOTLIBDIR
140         
141     if test $1 ; then 
142       AC_MSG_CHECKING(wether ROOT version >= [$1])
143       vers=`$ROOTCONF --version | tr './' ' ' | awk 'BEGIN { FS = " "; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
144       requ=`echo $1 | tr './' ' ' | awk 'BEGIN { FS = " "; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
145       if test $vers -lt $requ ; then 
146         AC_MSG_RESULT(no)
147         no_root="yes"
148       else 
149         AC_MSG_RESULT(yes)
150       fi
151     fi
152   else
153     # otherwise, we say no_root
154     no_root="yes"
155   fi
156
157   AC_SUBST(ROOTLIBDIR)
158   AC_SUBST(ROOTINCDIR)
159   AC_SUBST(ROOTCFLAGS)
160   AC_SUBST(ROOTLIBS)
161   AC_SUBST(ROOTGLIBS) 
162   AC_SUBST(ROOTAUXLIBS)
163   AC_SUBST(ROOTAUXCFLAGS)
164   AC_SUBST(ROOTRPATH)
165
166   if test "x$no_root" = "x" ; then 
167     ifelse([$2], , :, [$2])     
168   else 
169     ifelse([$3], , :, [$3])     
170   fi
171 ])
172
173
174 #
175 # EOF
176 #