Use POSIX "=" instead of "==" which is not supported at least by FreeBSD /bin/sh. Closes #3515925. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12971 626c5289-ae23-0410-ae9c-e8d60b6d4f22
40 lines
1.3 KiB
Text
40 lines
1.3 KiB
Text
dnl @synopsis AC_COMPARE_VERSION\
|
|
dnl (version-a, version-b, action-if-greater, action-if-equal, action-if-less)
|
|
dnl
|
|
dnl This macro compares two version numbers and executes the indicated action
|
|
dnl based on whether they're equal or one is greater than the other.
|
|
dnl It's needed to determine whether ocaml is new enough that the incompatible
|
|
dnl change 'loc' -> '_loc' is present in this version of camlp4.
|
|
dnl
|
|
dnl It's implemented from scratch just for SWIG by arty.
|
|
dnl
|
|
dnl @category Misc
|
|
dnl @author arty
|
|
dnl @version 2006-11-02
|
|
dnl @license GPLWithACException
|
|
|
|
AC_DEFUN([AC_COMPARE_VERSION], [
|
|
# Split the version into units.
|
|
ver_a="[$1]"
|
|
ver_b="[$2]"
|
|
nodots_a=`echo $ver_a | sed -e 's/\./ /g'`
|
|
condition="equal"
|
|
isolate_b_regex='\([[0-9]]\+\).*'
|
|
for ver_part in $nodots_a ; do
|
|
b_ver_part=`echo "$ver_b" | sed -e 's/'"$isolate_b_regex"'/\1/'`
|
|
if test \( "$ver_part" -lt "$b_ver_part" \) -a \( "x$condition" = "xequal" \) ; then
|
|
condition=less
|
|
elif test \( "$ver_part" -gt "$b_ver_part" \) -a \( "x$condition" = "xequal" \) ; then
|
|
condition=greater
|
|
fi
|
|
isolate_b_regex='[[0-9]]\+\.'"$isolate_b_regex"
|
|
done
|
|
|
|
if test "x$condition" = "xequal" ; then
|
|
[$4]
|
|
elif test "x$condition" = "xless" ; then
|
|
[$3]
|
|
elif test "x$condition" = "xgreater" ; then
|
|
[$5]
|
|
fi
|
|
])
|