From 30bd47de758f3f98b2959af9105911ba093624e6 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sat, 1 Apr 2006 09:40:24 +0000 Subject: [PATCH] m4/as-version.m4: newer version Original commit message from CVS: 2006-04-01 Thomas Vander Stichele * m4/as-version.m4: newer version * m4/gst-args.m4: * m4/gst-doc.m4: update and add other macros to be shared across projects --- ChangeLog | 8 +++++ m4/as-version.m4 | 98 ++++++++++++++++++++++++++++++-------------------------- m4/gst-args.m4 | 10 ++++-- m4/gst-doc.m4 | 6 +++- 4 files changed, 73 insertions(+), 49 deletions(-) diff --git a/ChangeLog b/ChangeLog index c19eef4..08efd3e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-04-01 Thomas Vander Stichele + + * m4/as-version.m4: + newer version + * m4/gst-args.m4: + * m4/gst-doc.m4: + update and add other macros to be shared across projects + 2006-03-24 Thomas Vander Stichele * gst.supp: diff --git a/m4/as-version.m4 b/m4/as-version.m4 index f99191e..fa60a38 100644 --- a/m4/as-version.m4 +++ b/m4/as-version.m4 @@ -1,65 +1,71 @@ -dnl as-version.m4 0.1.0 +dnl as-version.m4 0.2.0 dnl autostars m4 macro for versioning dnl Thomas Vander Stichele -dnl $Id: as-version.m4,v 1.14 2005/09/15 05:51:34 ds Exp $ +dnl $Id: as-version.m4,v 1.15 2006/04/01 09:40:24 thomasvs Exp $ -dnl AS_VERSION(PACKAGE, PREFIX, MAJOR, MINOR, MICRO, NANO, -dnl ACTION-IF-NO-NANO, [ACTION-IF-NANO]) +dnl AS_VERSION dnl example -dnl AS_VERSION(gstreamer, GST_VERSION, 0, 3, 2,) -dnl for a 0.3.2 release version +dnl AS_VERSION dnl this macro -dnl - defines [$PREFIX]_MAJOR, MINOR and MICRO -dnl - if NANO is empty, then we're in release mode, else in cvs/dev mode -dnl - defines [$PREFIX], VERSION, and [$PREFIX]_RELEASE -dnl - executes the relevant action -dnl - AC_SUBST's PACKAGE, VERSION, [$PREFIX] and [$PREFIX]_RELEASE -dnl as well as the little ones +dnl - AC_SUBST's PACKAGE_VERSION_MAJOR, _MINOR, _MICRO +dnl - AC_SUBST's PACKAGE_VERSION_RELEASE, +dnl which can be used for rpm release fields dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents -dnl maintainer mode from running ok +dnl maintainer mode from running correctly dnl -dnl don't forget to put #undef [$2] and [$2]_RELEASE in acconfig.h +dnl don't forget to put #undef PACKAGE_VERSION_RELEASE in acconfig.h dnl if you use acconfig.h AC_DEFUN([AS_VERSION], [ - PACKAGE=[$1] - [$2]_MAJOR=[$3] - [$2]_MINOR=[$4] - [$2]_MICRO=[$5] - NANO=[$6] - [$2]_NANO=$NANO - if test "x$NANO" = "x" || test "x$NANO" = "x0"; - then - AC_MSG_NOTICE(configuring [$1] for release) - VERSION=[$3].[$4].[$5] - [$2]_RELEASE=1 - dnl execute action - ifelse([$7], , :, [$7]) - else - AC_MSG_NOTICE(configuring [$1] for development with nano $NANO) - VERSION=[$3].[$4].[$5].$NANO - [$2]_RELEASE=0.`date +%Y%m%d.%H%M%S` - dnl execute action - ifelse([$8], , :, [$8]) - fi + PACKAGE_VERSION_MAJOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f1) + PACKAGE_VERSION_MINOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f2) + PACKAGE_VERSION_MICRO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f3) + + AC_SUBST(PACKAGE_VERSION_MAJOR) + AC_SUBST(PACKAGE_VERSION_MINOR) + AC_SUBST(PACKAGE_VERSION_MICRO) +]) + +dnl AS_NANO(ACTION-IF-NO-NANO, [ACTION-IF-NANO]) + +dnl requires AC_INIT to be called before +dnl For projects using a fourth or nano number in your versioning to indicate +dnl development or prerelease snapshots, this macro allows the build to be +dnl set up differently accordingly. - [$2]=$VERSION - AC_DEFINE_UNQUOTED([$2], "$[$2]", [Define the version]) - AC_SUBST([$2]) - AC_SUBST([$2]_RELEASE) +dnl this macro: +dnl - parses AC_PACKAGE_VERSION, set by AC_INIT, and extracts the nano number +dnl - sets the variable PACKAGE_VERSION_NANO +dnl - sets the variable PACKAGE_VERSION_RELEASE, which can be used +dnl for rpm release fields +dnl - executes ACTION-IF-NO-NANO or ACTION-IF-NANO + +dnl example: +dnl AS_NANO(RELEASE="yes", RELEASE="no") - AC_SUBST([$2]_MAJOR) - AC_SUBST([$2]_MINOR) - AC_SUBST([$2]_MICRO) - AC_SUBST([$2]_NANO) - AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Define the package name]) - AC_SUBST(PACKAGE) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Define the version]) - AC_SUBST(VERSION) +AC_DEFUN([AS_NANO], +[ + AC_MSG_CHECKING(nano version) + + NANO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f4) + + if test x"$NANO" = x || test "x$NANO" = "x0" ; then + AC_MSG_RESULT([0 (release)]) + NANO=0 + PACKAGE_VERSION_RELEASE=1 + ifelse([$1], , :, [$1]) + else + AC_MSG_RESULT($NANO) + PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S` + ifelse([$2], , :, [$2]) + fi + PACKAGE_VERSION_NANO=$NANO + AC_SUBST(PACKAGE_VERSION_NANO) + AC_SUBST(PACKAGE_VERSION_RELEASE) ]) diff --git a/m4/gst-args.m4 b/m4/gst-args.m4 index 4b7aacd..6d6ab2d 100644 --- a/m4/gst-args.m4 +++ b/m4/gst-args.m4 @@ -131,13 +131,19 @@ AC_DEFUN([GST_ARG_WITH_PACKAGE_NAME], esac ], [ + P=$1 + if test "x$P" = "x" + then + P=$PACKAGE_NAME + fi + dnl default value if test "x$GST_CVS" = "xyes" then dnl nano >= 1 - GST_PACKAGE_NAME="[$1] CVS/prerelease" + GST_PACKAGE_NAME="$P CVS/prerelease" else - GST_PACKAGE_NAME="[$1] source release" + GST_PACKAGE_NAME="$P source release" fi ] ) diff --git a/m4/gst-doc.m4 b/m4/gst-doc.m4 index a1e3442..62c9d24 100644 --- a/m4/gst-doc.m4 +++ b/m4/gst-doc.m4 @@ -1,7 +1,11 @@ AC_DEFUN([GST_DOCBOOK_CHECK], [ dnl choose a location to install docbook docs in - docdir="\$(datadir)/doc/$PACKAGE-$GST_MAJORMINOR" + if test "x$PACKAGE_TARNAME" = "x" + then + AC_MSG_ERROR([Internal error - PACKAGE_TARNAME not set]) + fi + docdir="\$(datadir)/doc/$PACKAGE_TARNAME-$GST_MAJORMINOR" dnl enable/disable docbook documentation building AC_ARG_ENABLE(docbook, -- 2.7.4