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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>
Autoconf Macro: ac_define_versionlevel
</title>
<link rel="stylesheet" type="text/css" href="ac-archive.css">
</head>
<body>
<table summary="web navigation" style="width:100%;">
<tbody>
<tr>
<td style="width:50%;" align="center">
<a href=
"http://autoconf-archive.cryp.to/ac_define_versionlevel.m4">Download M4
Source</a>
</td>
<td style="width:50%;" align="center">
<a href="macros-by-category.html">Macro Index Page</a>
</td>
</tr>
</tbody>
</table>
<hr>
<h1>
ac_define_versionlevel
</h1>
<h2>
Synopsis
</h2>
<p class="indent" style="white-space:nowrap;">
<code>AC_DEFINE_VERSIONLEVEL(VARNAME [,VERSION [, DESCRIPTION]])</code>
</p>
<h2>
Description
</h2>
<div class="indent">
<p>
if the VERSION is ommitted, shellvar $VERSION is used as defined by
AM_INIT_AUTOMAKE's second argument.
</p>
<p>
The versionlevel is the numeric representation of the given version string,
thereby assuming the inputversion is a string with (maximal) three decimal
numbers seperated by "."-dots. A "-patch" adds a percent.
</p>
<p>
typical usage: AM_INIT_AUTOMAKE(mypkg,4.12.3)
AC_DEFINE_VERSIONLEVEL(MYPKG_VERSION)
</p>
<p>
the config.h created from autoheader's config.h.in will contain... /* mypkg
versionlevel */ #define MYPKG_VERSION 4120003
</p>
<p>
the MYKG_VERSION will be defined as both a shell-variable and AC_DEFINE
</p>
<p>
examples:
</p>
<pre>
3.0-beta1 3000001
3.1 3010000
3.11 3110000
3.11-dirpatch 3111000
3.11-patch6 3110006
2.2.18 2020018
2.0.112 2000112
2.4.2 2040002
2.4.2-pre 2040003
2.4.2-pre5 2040003
5.0-build125 5000125
5.0 5000000
0.30.17 30017
</pre>
</div>
<h2>
Author
</h2>
<p class="indent">
Guido Draheim <guidod@gmx.de>
</p>
<h2>
Last Modified
</h2>
<p class="indent">
2003-10-29
</p>
<h2>
M4 Source Code
</h2>
<div class="indent">
<pre class="m4source">
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))
])
</pre>
</div>
</body>
</html>
|