a5b439903e5c4c5b60d89eb8c2ff20848247084a
[platform/upstream/gstreamer.git] / common / m4 / as-version.m4
1 dnl as-version.m4 0.2.0
2
3 dnl autostars m4 macro for versioning
4
5 dnl Thomas Vander Stichele <thomas at apestaart dot org>
6
7 dnl $Id: as-version.m4,v 1.4 2004/06/01 09:40:05 thomasvs Exp $
8
9 dnl AS_VERSION
10
11 dnl example
12 dnl AS_VERSION
13
14 dnl this macro
15 dnl - AC_SUBST's PACKAGE_VERSION_MAJOR, _MINOR, _MICRO
16 dnl - AC_SUBST's PACKAGE_VERSION_RELEASE,
17 dnl    which can be used for rpm release fields
18 dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents
19 dnl   maintainer mode from running correctly
20 dnl
21 dnl don't forget to put #undef PACKAGE_VERSION_RELEASE in acconfig.h
22 dnl if you use acconfig.h
23
24 AC_DEFUN([AS_VERSION],
25 [
26   PACKAGE_VERSION_MAJOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f1)
27   PACKAGE_VERSION_MINOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f2)
28   PACKAGE_VERSION_MICRO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f3)
29
30   AC_SUBST(PACKAGE_VERSION_MAJOR)
31   AC_SUBST(PACKAGE_VERSION_MINOR)
32   AC_SUBST(PACKAGE_VERSION_MICRO)
33 ])
34
35 dnl AS_NANO(ACTION-IF-NO-NANO, [ACTION-IF-NANO])
36
37 dnl requires AC_INIT to be called before
38 dnl For projects using a fourth or nano number in your versioning to indicate
39 dnl development or prerelease snapshots, this macro allows the build to be
40 dnl set up differently accordingly.
41
42 dnl this macro:
43 dnl - parses AC_PACKAGE_VERSION, set by AC_INIT, and extracts the nano number
44 dnl - sets the variable PACKAGE_VERSION_NANO
45 dnl - sets the variable PACKAGE_VERSION_RELEASE, which can be used
46 dnl   for rpm release fields
47 dnl - executes ACTION-IF-NO-NANO or ACTION-IF-NANO
48     
49 dnl example:
50 dnl AS_NANO(RELEASE="yes", RELEASE="no")
51
52 AC_DEFUN([AS_NANO],
53 [
54   AC_MSG_CHECKING(nano version)
55
56   NANO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f4)
57
58   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
59     AC_MSG_RESULT([0 (release)])
60     NANO=0
61     PACKAGE_VERSION_RELEASE=1
62     ifelse([$1], , :, [$1])
63   else
64     AC_MSG_RESULT($NANO)
65     PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S`
66     ifelse([$2], , :, [$2])
67   fi
68   PACKAGE_VERSION_NANO=$NANO
69   AC_SUBST(PACKAGE_VERSION_NANO)
70   AC_SUBST(PACKAGE_VERSION_RELEASE)
71 ])