diff --git a/bin/dunemodules.inc b/bin/dunemodules.inc index 9b0cc277c9707569ec94959c355e3e0600b8cfb5..5961b62688456676c1e54ad13fa5d7a4ab3d8250 100644 --- a/bin/dunemodules.inc +++ b/bin/dunemodules.inc @@ -415,7 +415,7 @@ check_modname() { # 3: revision # get_sub_version() { - echo $1 | awk "{ split(\$0,s,\".\"); match(s[$2],/[[:digit:]]*/); print substr(s[$2],RSTART,RLENGTH) }" + echo $1 | awk -F. -v FIELD=$2 '{ print int($FIELD) }' } # @@ -447,12 +447,6 @@ compare_sub_version() { # compare sub version number local sub1=`get_sub_version $1 $3` local sub2=`get_sub_version $2 $3` - if test x$sub1 = x ; then - sub1=0 - fi - if test x$sub2 = x ; then - sub2=0 - fi if test $sub1 -gt $sub2; then echo "gt" diff --git a/m4/dune.m4 b/m4/dune.m4 index 14ace2556143577b2eae5fc425ddd0358c9c1c3d..72e8d54a3a9eb91f32475c1199aad829189696ec 100644 --- a/m4/dune.m4 +++ b/m4/dune.m4 @@ -31,19 +31,19 @@ AC_DEFUN([DUNE_MODULE_ADD_SUMMARY_ENTRY],[ DUNE_ADD_SUMMARY_MOD_ENTRY(_dune_name,[$result]) ]) +m4_define([_dune_sub_version],"`echo $1 | awk -F. -v FIELD=$2 '{ print int($FIELD) }'`") + AC_DEFUN([DUNE_PARSE_MODULE_VERSION],[ + AC_REQUIRE([DUNE_SUB_VERSION_FUNCTION]) m4_pushdef([_dune_name], [$1]) m4_pushdef([_dune_version], [$2]) m4_pushdef([_dune_module], [m4_translit(_dune_name, [-], [_])]) m4_pushdef([_DUNE_MODULE], [m4_toupper(_dune_module)]) _DUNE_MODULE[]_VERSION=_dune_version - _DUNE_MODULE[]_VERSION_MAJOR="`echo _dune_version | awk '{ split($[]0,s,"."); match(s[[1]],/[[[[:digit:]]]]*/); print substr(s[[1]],RSTART,RLENGTH) }'`" - _DUNE_MODULE[]_VERSION_MINOR="`echo _dune_version | awk '{ split($[]0,s,"."); match(s[[2]],/[[[[:digit:]]]]*/); print substr(s[[2]],RSTART,RLENGTH) }'`" - _DUNE_MODULE[]_VERSION_REVISION="`echo _dune_version | awk '{ split($[]0,s,"."); match(s[[3]],/[[[[:digit:]]]]*/); print substr(s[[3]],RSTART,RLENGTH) }'`" - if test x$_DUNE_MODULE[]_VERSION_REVISION = x ; then - _DUNE_MODULE[]_VERSION_REVISION=0 - fi + _DUNE_MODULE[]_VERSION_MAJOR=_dune_sub_version(_dune_version,1) + _DUNE_MODULE[]_VERSION_MINOR=_dune_sub_version(_dune_version,2) + _DUNE_MODULE[]_VERSION_REVISION=_dune_sub_version(_dune_version,3) AC_DEFINE_UNQUOTED(_DUNE_MODULE[]_VERSION, "_dune_version", [Define to the version of] _dune_name) AC_DEFINE_UNQUOTED(_DUNE_MODULE[]_VERSION_MAJOR, $_DUNE_MODULE[]_VERSION_MAJOR, [Define to the major version of] _dune_name)