-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroot.m4
More file actions
113 lines (103 loc) · 3.35 KB
/
root.m4
File metadata and controls
113 lines (103 loc) · 3.35 KB
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
104
105
106
107
108
109
110
111
112
113
dnl -*- mode: autoconf -*-
dnl
dnl Autoconf macro to check for existence of 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 ROOTCLING full path to rootcling
dnl RLIBMAP full path to rlibmap
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, rootcint or rlibmap isn't found.
dnl
dnl Original version by Christian Holm Christensen <cholm@nbi.dk>
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)
AC_PATH_PROG(ROOTCLING, rootcling, false, $rootbin)
AC_PATH_PROG(RLIBMAP, rlibmap, false, $rootbin)
if test "${ROOTCLING}" = false -a "${RLIBMAP}" = false; then
AC_MSG_ERROR([Need rootcling (ROOT-6) or rlibmap (ROOT-5).]);
fi
if test ! x"$ROOTCONF" = "xno" && \
test ! x"$ROOTCINT" = "xno" && \
test ! x"$ROOTCLING" = "xno" && \
test ! x"$RLIBMAP" = "xno" ; then
# Set ROOTSYS, if not already set
if test x"$ROOTSYS" = x ; then
ROOTSYS=`$ROOTCONF --prefix`
fi
# 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`
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(ROOTSYS)
AC_SUBST(ROOTLIBDIR)
AC_SUBST(ROOTINCDIR)
AC_SUBST(ROOTCFLAGS)
AC_SUBST(ROOTLIBS)
AC_SUBST(ROOTGLIBS)
AC_SUBST(ROOTAUXLIBS)
AC_SUBST(ROOTAUXCFLAGS)
AC_SUBST(ROOTRPATH)
if test "x$no_root" = "x" ; then
ifelse([$2], , :, [$2])
else
ifelse([$3], , :, [$3])
fi
])
#
# EOF
#