-
-
Notifications
You must be signed in to change notification settings - Fork 527
/
progversion.m4
69 lines (62 loc) · 2.54 KB
/
progversion.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
# progversion.m4
dnl Copyright (C) 2008 Giel van Schijndel
dnl Copyright (C) 2008-2009 Warzone Resurrection Project
dnl
dnl This file is free software; I, Giel van Schijndel give unlimited
dnl permission to copy and/or distribute it, with or without modficiations,
dnl as long as this notice is preserved.
AC_PREREQ(2.50)
AC_DEFUN([AC_PROG_VERSION_CHECK],
[
[
for ac_prog in $1; do
ac_prog_version_check=`$ac_prog --version | head -n 1 | sed 's/([^)]*)//g;s/^[-a-zA-Z\.\ \/]*//;s/ .*$//'`
ac_prog_major_check=`echo $ac_prog_version_check | cut -d. -f1`
ac_prog_minor_check=`echo $ac_prog_version_check | sed s/[-,a-z,A-Z].*// | cut -d. -f2`
ac_prog_micro_check=`echo $ac_prog_version_check | sed s/[-,a-z,A-Z].*// | cut -d. -f3`
[ -z "$ac_prog_minor_check" ] && ac_prog_minor_check=0
[ -z "$ac_prog_micro_check" ] && ac_prog_micro_check=0
ac_prog_min_major_check=`echo $2 | cut -d. -f1`
ac_prog_min_minor_check=`echo $2 | sed s/[-,a-z,A-Z].*// | cut -d. -f2`
ac_prog_min_micro_check=`echo $2 | sed s/[-,a-z,A-Z].*// | cut -d. -f3`
[ -z "$ac_prog_min_minor_check" ] && ac_prog_min_minor_check=0
[ -z "$ac_prog_min_micro_check" ] && ac_prog_min_micro_check=0
]
AC_MSG_CHECKING([for $ac_prog >= $2])
[
if [ "$ac_prog_major_check" -lt "$ac_prog_min_major_check" ]; then
ac_prog_wrong_check=1
elif [ "$ac_prog_major_check" -eq "$ac_prog_min_major_check" ]; then
if [ "$ac_prog_minor_check" -lt "$ac_prog_min_minor_check" ]; then
ac_prog_wrong_check=1
elif [ "$ac_prog_minor_check" -eq "$ac_prog_min_minor_check" -a "$ac_prog_micro_check" -lt "$ac_prog_min_micro_check" ]; then
ac_prog_wrong_check=1
fi
fi
if [ ! -z "$ac_prog_wrong_check" ]; then
]
AC_MSG_ERROR([found $ac_prog_version_check, not ok])
else
AC_MSG_RESULT([found $ac_prog_version_check, ok])
fi
ifelse([$3], [], , [
for version in $3; do
[
ac_prog_not_major_check=`echo $version | cut -d. -f1`
ac_prog_not_minor_check=`echo $version | sed s/[-,a-z,A-Z].*// | cut -d. -f2`
ac_prog_not_micro_check=`echo $version | sed s/[-,a-z,A-Z].*// | cut -d. -f3`
[ -z "$ac_prog_not_minor_check" ] && ac_prog_not_minor_check=0
[ -z "$ac_prog_not_micro_check" ] && ac_prog_not_micro_check=0
]
AC_MSG_CHECKING([for $ac_prog != $version])
[
if [ "$ac_prog_major_check" -eq "$ac_prog_not_major_check" -a "$ac_prog_minor_check" -eq "$ac_prog_not_minor_check" -a "$ac_prog_micro_check" -eq "$ac_prog_not_micro_check" ]; then
]
AC_MSG_ERROR([found $ac_prog_version_check, not ok])
else
AC_MSG_RESULT([not found, good])
fi
done
])
done
])