Initial release
[adaptation/ap_samsung/gst-plugins-s5pc2xx.git] / m4 / as-version.m4
1 dnl as-version.m4 0.1.0\r
2 \r
3 dnl autostars m4 macro for versioning\r
4 \r
5 dnl Thomas Vander Stichele <thomas at apestaart dot org>\r
6 \r
7 dnl $Id: as-version.m4,v 1.2 2004-09-17 22:18:03 leroutier Exp $\r
8 \r
9 dnl AS_VERSION(PACKAGE, PREFIX, MAJOR, MINOR, MICRO, NANO,\r
10 dnl            ACTION-IF-NO-NANO, [ACTION-IF-NANO])\r
11 \r
12 dnl example\r
13 dnl AS_VERSION(gstreamer, GST_VERSION, 0, 3, 2,)\r
14 dnl for a 0.3.2 release version\r
15 \r
16 dnl this macro\r
17 dnl - defines [$PREFIX]_MAJOR, MINOR and MICRO\r
18 dnl - if NANO is empty, then we're in release mode, else in cvs/dev mode\r
19 dnl - defines [$PREFIX], VERSION, and [$PREFIX]_RELEASE\r
20 dnl - executes the relevant action\r
21 dnl - AC_SUBST's PACKAGE, VERSION, [$PREFIX] and [$PREFIX]_RELEASE\r
22 dnl   as well as the little ones\r
23 dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents\r
24 dnl   maintainer mode from running ok\r
25 dnl\r
26 dnl don't forget to put #undef [$2] and [$2]_RELEASE in acconfig.h\r
27 dnl if you use acconfig.h\r
28 \r
29 AC_DEFUN([AS_VERSION],\r
30 [\r
31   PACKAGE=[$1]\r
32   [$2]_MAJOR=[$3]\r
33   [$2]_MINOR=[$4]\r
34   [$2]_MICRO=[$5]\r
35   NANO=[$6]\r
36   [$2]_NANO=$NANO\r
37   if test "x$NANO" = "x" || test "x$NANO" = "x0";\r
38   then\r
39       AC_MSG_NOTICE(configuring [$1] for release)\r
40       VERSION=[$3].[$4].[$5]\r
41       [$2]_RELEASE=1\r
42       dnl execute action\r
43       ifelse([$7], , :, [$7])\r
44   else\r
45       AC_MSG_NOTICE(configuring [$1] for development with nano $NANO)\r
46       VERSION=[$3].[$4].[$5].$NANO\r
47       [$2]_RELEASE=0.`date +%Y%m%d.%H%M%S`\r
48       dnl execute action\r
49       ifelse([$8], , :, [$8])\r
50   fi\r
51 \r
52   [$2]=$VERSION\r
53   AC_DEFINE_UNQUOTED([$2], "$[$2]", [Define the version])\r
54   AC_SUBST([$2])\r
55   AC_DEFINE_UNQUOTED([$2]_RELEASE, "$[$2]_RELEASE", [Define the release version])\r
56   AC_SUBST([$2]_RELEASE)\r
57 \r
58   AC_SUBST([$2]_MAJOR)\r
59   AC_SUBST([$2]_MINOR)\r
60   AC_SUBST([$2]_MICRO)\r
61   AC_SUBST([$2]_NANO)\r
62   AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Define the package name])\r
63   AC_SUBST(PACKAGE)\r
64   AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Define the version])\r
65   AC_SUBST(VERSION)\r
66 ])\r