1dnl as-version.m4 0.2.0 2 3dnl autostars m4 macro for versioning 4 5dnl Thomas Vander Stichele <thomas at apestaart dot org> 6 7dnl $Id: as-version.m4,v 1.15 2006/04/01 09:40:24 thomasvs Exp $ 8 9dnl AS_VERSION 10 11dnl example 12dnl AS_VERSION 13 14dnl this macro 15dnl - AC_SUBST's PACKAGE_VERSION_MAJOR, _MINOR, _MICRO 16dnl - AC_SUBST's PACKAGE_VERSION_RELEASE, 17dnl which can be used for rpm release fields 18dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents 19dnl maintainer mode from running correctly 20dnl 21dnl don't forget to put #undef PACKAGE_VERSION_RELEASE in acconfig.h 22dnl if you use acconfig.h 23 24AC_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 35dnl AS_NANO(ACTION-IF-NANO-NON-NULL, [ACTION-IF-NANO-NULL]) 36 37dnl requires AC_INIT to be called before 38dnl For projects using a fourth or nano number in your versioning to indicate 39dnl development or prerelease snapshots, this macro allows the build to be 40dnl set up differently accordingly. 41 42dnl this macro: 43dnl - parses AC_PACKAGE_VERSION, set by AC_INIT, and extracts the nano number 44dnl - sets the variable PACKAGE_VERSION_NANO 45dnl - sets the variable PACKAGE_VERSION_RELEASE, which can be used 46dnl for rpm release fields 47dnl - executes ACTION-IF-NANO-NON-NULL or ACTION-IF-NANO-NULL 48 49dnl example: 50dnl AS_NANO(RELEASE="yes", RELEASE="no") 51 52AC_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 if test "x$NANO" != "x1" ; then 67 ifelse([$1], , :, [$1]) 68 else 69 ifelse([$2], , :, [$2]) 70 fi 71 fi 72 PACKAGE_VERSION_NANO=$NANO 73 AC_SUBST(PACKAGE_VERSION_NANO) 74 AC_SUBST(PACKAGE_VERSION_RELEASE) 75]) 76