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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
dnl @synopsis AC_DEFINE_VERSIONLEVEL(VARNAME [,VERSION [, DESCRIPTION]])
dnl
dnl if the VERSION is ommitted, shellvar $VERSION is used as defined by
dnl AM_INIT_AUTOMAKE's second argument.
dnl
dnl The versionlevel is the numeric representation of the given version
dnl string, thereby assuming the inputversion is a string with
dnl (maximal) three decimal numbers seperated by "."-dots. A "-patch"
dnl adds a percent.
dnl
dnl typical usage: AM_INIT_AUTOMAKE(mypkg,4.12.3)
dnl AC_DEFINE_VERSIONLEVEL(MYPKG_VERSION)
dnl
dnl the config.h created from autoheader's config.h.in will contain...
dnl /* mypkg versionlevel */ #define MYPKG_VERSION 4120003
dnl
dnl the MYKG_VERSION will be defined as both a shell-variable and
dnl AC_DEFINE
dnl
dnl examples:
dnl
dnl 3.0-beta1 3000001
dnl 3.1 3010000
dnl 3.11 3110000
dnl 3.11-dirpatch 3111000
dnl 3.11-patch6 3110006
dnl 2.2.18 2020018
dnl 2.0.112 2000112
dnl 2.4.2 2040002
dnl 2.4.2-pre 2040003
dnl 2.4.2-pre5 2040003
dnl 5.0-build125 5000125
dnl 5.0 5000000
dnl 0.30.17 30017
dnl
dnl @category Misc
dnl @author Guido Draheim <guidod@gmx.de>
dnl @version 2003-10-29
dnl @license GPLWithACException
AC_DEFUN([AC_DEFINE_VERSIONLEVEL],
[
ac_versionlevel_strdf=`echo ifelse($2, , $VERSION, $2) | sed -e 's:[[A-Z-]]*:.:' -e 's:[[^0-9.]]::g' -e 's:^[[.]]*::'`
AC_MSG_CHECKING(versionlevel $ac_versionlevel_strdf)
case $ac_versionlevel_strdf in
*.*.*.|*.*.*.*) :
ac_versionlevel_major=`echo $ac_versionlevel_strdf`
ac_versionlevel_minor=`echo $ac_versionlevel_major | sed -e 's/[[^.]]*[[.]]//'`
ac_versionlevel_patch=`echo $ac_versionlevel_minor | sed -e 's/[[^.]]*[[.]]//'`
ac_versionlevel_major=`echo $ac_versionlevel_major | sed -e 's/[[.]].*//'`
ac_versionlevel_minor=`echo $ac_versionlevel_minor | sed -e 's/[[.]].*//'`
ac_versionlevel_patch=`echo $ac_versionlevel_patch | sed -e 's/[[.]].*//'`
$1=`expr $ac_versionlevel_major '*' 1000000 \
+ $ac_versionlevel_minor '*' 10000 \
+ $ac_versionlevel_patch \
+ 1` ;;
*.*.*) :
ac_versionlevel_major=`echo $ac_versionlevel_strdf`
ac_versionlevel_minor=`echo $ac_versionlevel_major | sed -e 's/[[^.]]*[[.]]//'`
ac_versionlevel_patch=`echo $ac_versionlevel_minor | sed -e 's/[[^.]]*[[.]]//'`
ac_versionlevel_major=`echo $ac_versionlevel_major | sed -e 's/[[.]].*//'`
ac_versionlevel_minor=`echo $ac_versionlevel_minor | sed -e 's/[[.]].*//'`
ac_versionlevel_patch=`echo $ac_versionlevel_patch | sed -e 's/[[.]].*//'`
$1=`expr $ac_versionlevel_major '*' 1000000 \
+ $ac_versionlevel_minor '*' 10000 \
+ $ac_versionlevel_patch` ;;
*.*.) :
ac_versionlevel_major=`echo $ac_versionlevel_strdf`
ac_versionlevel_minor=`echo $ac_versionlevel_major | sed -e 's/[[^.]]*[[.]]//'`
ac_versionlevel_major=`echo $ac_versionlevel_major | sed -e 's/[[.]].*//'`
ac_versionlevel_minor=`echo $ac_versionlevel_minor | sed -e 's/[[.]].*//'`
ac_versionlevel_patch=0
$1=`expr $ac_versionlevel_major '*' 1000000 \
+ $ac_versionlevel_minor '*' 10000 \
+ 1000 \
+ $ac_versionlevel_patch` ;;
*.*) :
ac_versionlevel_major=`echo $ac_versionlevel_strdf`
ac_versionlevel_minor=`echo $ac_versionlevel_major | sed -e 's/[[^.]]*[[.]]//'`
ac_versionlevel_major=`echo $ac_versionlevel_major | sed -e 's/[[.]].*//'`
ac_versionlevel_minor=`echo $ac_versionlevel_minor | sed -e 's/[[.]].*//'`
ac_versionlevel_patch=0
$1=`expr $ac_versionlevel_major '*' 1000000 \
+ $ac_versionlevel_minor '*' 10000 \
+ $ac_versionlevel_patch` ;;
*.) :
ac_versionlevel_major=0
ac_versionlevel_minor=`echo $ac_versionlevel_strdf`
ac_versionlevel_minor=`echo $ac_versionlevel_minor | sed -e 's/[[.]].*//'`
ac_versionlevel_patch=0
$1=`expr $ac_versionlevel_major '*' 1000000 \
+ $ac_versionlevel_minor '*' 10000 \
+ 1000 \
+ $ac_versionlevel_patch` ;;
*) :
ac_versionlevel_major=0
ac_versionlevel_minor=`echo $ac_versionlevel_strdf`
ac_versionlevel_minor=`echo $ac_versionlevel_minor | sed -e 's/[[.]].*//'`
ac_versionlevel_patch=0
$1=`expr $ac_versionlevel_major '*' 1000000 \
+ $ac_versionlevel_minor '*' 10000 \
+ $ac_versionlevel_patch` ;;
esac
AC_MSG_RESULT($[$1])
AC_DEFINE_UNQUOTED( $1, $[$1], ifelse( $3, , $PACKAGE versionlevel, $3))
])
|