From: Art Y. <ar...@us...> - 2006-11-03 07:28:47
|
Update of /cvsroot/swig/SWIG/Tools/config In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv20258/Tools/config Added Files: ac_compare_version.m4 Log Message: Sorry i haven't been here in a while. camlp4 bug was caught by Michael Ethier <me...@cg...> - director.swg: fix a typo - ocamldec.swg, ocaml.swg: new macros - ac_compare_version.m4: arty's own more liberally licensed version compare autoconf macro. - configure.in: use version_compare and make swigp4.ml generated by configure based on ocaml version. This is due to an incompatible change in camlp4. - ocaml.cxx: use new return macros in the right places (returning non-value) --- NEW FILE: ac_compare_version.m4 --- 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 ]) |