-
Notifications
You must be signed in to change notification settings - Fork 5
/
root.m4
103 lines (95 loc) · 2.96 KB
/
root.m4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
dnl -*- mode: autoconf -*-
dnl
dnl $Id: root.m4,v 1.1 2007/05/04 19:47:00 mgmarino Exp $
dnl $Author: mgmarino $
dnl $Date: 2007/05/04 19:47:00 $
dnl
dnl Autoconf macro to check for existence or ROOT on the system
dnl Synopsis:
dnl
dnl ROOT_PATH([MINIMUM-VERSION, [ACTION-IF-FOUND, [ACTION-IF-NOT-FOUND]]])
dnl
dnl Some examples:
dnl
dnl ROOT_PATH(3.03/05, , AC_MSG_ERROR(Your ROOT version is too old))
dnl ROOT_PATH(, AC_DEFUN(HAVE_ROOT))
dnl
dnl The macro defines the following substitution variables
dnl
dnl ROOTCONF full path to root-config
dnl ROOTEXEC full path to root
dnl ROOTCINT full path to rootcint
dnl ROOTLIBDIR Where the ROOT libraries are
dnl ROOTINCDIR Where the ROOT headers are
dnl ROOTCFLAGS Extra compiler flags
dnl ROOTLIBS ROOT basic libraries
dnl ROOTGLIBS ROOT basic + GUI libraries
dnl ROOTAUXLIBS Auxilary libraries and linker flags for ROOT
dnl ROOTAUXCFLAGS Auxilary compiler flags
dnl ROOTRPATH Same as ROOTLIBDIR
dnl
dnl The macro will fail if root-config and rootcint isn't found.
dnl
dnl Christian Holm Christensen <[email protected]>
dnl
AC_DEFUN([ROOT_PATH],
[
AC_ARG_WITH(rootsys,
[ --with-rootsys top of the ROOT installation directory],
user_rootsys=$withval,
user_rootsys="none")
if test ! x"$user_rootsys" = xnone; then
rootbin="$user_rootsys/bin"
elif test ! x"$ROOTSYS" = x ; then
rootbin="$ROOTSYS/bin"
else
rootbin=$PATH
fi
AC_PATH_PROG(ROOTCONF, root-config , no, $rootbin)
AC_PATH_PROG(ROOTEXEC, root , no, $rootbin)
AC_PATH_PROG(ROOTCINT, rootcint , no, $rootbin)
if test ! x"$ROOTCONF" = "xno" && \
test ! x"$ROOTCINT" = "xno" ; then
# define some variables
ROOTLIBDIR=`$ROOTCONF --libdir`
ROOTINCDIR=`$ROOTCONF --incdir`
ROOTCFLAGS=`$ROOTCONF --noauxcflags --cflags`
ROOTLIBS=`$ROOTCONF --noauxlibs --noldflags --libs`
ROOTGLIBS=`$ROOTCONF --noauxlibs --noldflags --glibs`
ROOTAUXCFLAGS=`$ROOTCONF --auxcflags`
ROOTAUXLIBS=`$ROOTCONF --auxlibs`
ROOTCXX=`$ROOTCONF --cxx`
ROOTRPATH=$ROOTLIBDIR
if test $1 ; then
AC_MSG_CHECKING(whether ROOT version >= [$1])
vers=`$ROOTCONF --version | tr './' ' ' | awk 'BEGIN { FS = " "; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
requ=`echo $1 | tr './' ' ' | awk 'BEGIN { FS = " "; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'`
if test $vers -lt $requ ; then
AC_MSG_RESULT(no)
no_root="yes"
else
AC_MSG_RESULT(yes)
fi
fi
else
# otherwise, we say no_root
no_root="yes"
fi
AC_SUBST(ROOTLIBDIR)
AC_SUBST(ROOTINCDIR)
AC_SUBST(ROOTCFLAGS)
AC_SUBST(ROOTLIBS)
AC_SUBST(ROOTGLIBS)
AC_SUBST(ROOTAUXLIBS)
AC_SUBST(ROOTAUXCFLAGS)
AC_SUBST(ROOTRPATH)
AC_SUBST(ROOTCXX)
if test "x$no_root" = "x" ; then
ifelse([$2], , :, [$2])
else
ifelse([$3], , :, [$3])
fi
])
#
# EOF
#