--- m4/ac_pkg_swig.m4 2007-02-09 18:32:41.000000000 +0100 +++ m4/ac_pkg_swig.m4 2011-05-26 11:25:08.995022389 +0200 @@ -64,6 +64,20 @@ # may extend this special exception to the GPL to apply to your # modified version as well. +AC_DEFUN([SWIG_VERSION_GOOD],[ + AC_MSG_NOTICE([SWIG executable is '$SWIG']) + SWIG_LIB=`$SWIG -swiglib` + AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB']) + SWIG_VERSION=`echo $(( $available_major * 100 * 100 + $available_minor * 100 + $available_patch ))` + AC_MSG_NOTICE([SWIG version is '$SWIG_VERSION']) + # AM_CONDITIONAL(SWIG_NEW_OPTIONS, test "$SWIG_VERSION" \> 10331) +]) + +AC_DEFUN([SWIG_VERSION_BAD],[ + AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org]) + SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' +]) + AC_DEFUN([AC_PROG_SWIG],[ AC_PATH_PROG([SWIG],[swig]) if test -z "$SWIG" ; then @@ -106,16 +120,44 @@ if test -z "$available_patch" ; then [available_patch=0] fi - if test $available_major -ne $required_major \ - -o $available_minor -ne $required_minor \ - -o $available_patch -lt $required_patch ; then - AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org]) - SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' - else - AC_MSG_NOTICE([SWIG executable is '$SWIG']) - SWIG_LIB=`$SWIG -swiglib` - AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB']) - fi + + + + if test $available_major -gt $required_major; then + # the available major is greater than required major --GOOD + SWIG_VERSION_GOOD() + + elif test $available_major -lt $required_major ; then + # the avialable major is less than required major -- BAD + SWIG_VERSION_BAD() + else + # the available and require major are equal check the minor and patch versions. + + if test $available_minor -gt $required_minor ; then + # GOOD + SWIG_VERSION_GOOD() + elif test $avaialble_minor -lt $required_minor ; then + # BAD + SWIG_VERSION_BAD() + else + # the minor version are also equal + + if test $available_patch -gt $required_patch ; then + # GOOD + SWIG_VERSION_GOOD() + elif test $available_minor -lt $required_minor ; then + # BAD + SWIG_VERSION_BAD() + else + # all the available major, minor and patch levels are the same as the required -- GOOD + SWIG_VERSION_GOOD() + fi + fi + fi + + + + else AC_MSG_WARN([cannot determine SWIG version]) SWIG='echo "Error: Cannot determine SWIG version. You should look at http://www.swig.org" ; false'