From 745670bc73d364a25d39b31d89daece8dba48160 Mon Sep 17 00:00:00 2001 From: Johnathan Corgan Date: Fri, 28 May 2010 08:14:05 -0700 Subject: [PATCH] build: refactor GR_GIT and GR_VERSION --- config/gr_git.m4 | 24 ++++++++++++++++++++---- config/gr_version.m4 | 34 +++++++++++++++++++--------------- 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/config/gr_git.m4 b/config/gr_git.m4 index e2746071..5e8aa663 100644 --- a/config/gr_git.m4 +++ b/config/gr_git.m4 @@ -1,4 +1,4 @@ -dnl Copyright 2009 Free Software Foundation, Inc. +dnl Copyright 2009,2010 Free Software Foundation, Inc. dnl dnl This file is part of GNU Radio dnl @@ -29,14 +29,30 @@ AC_DEFUN([GR_GIT],[ AC_MSG_RESULT([ok]) AC_MSG_CHECKING([git description of current commit]) if (cd $srcdir && $GIT describe >/dev/null 2>&1); then - GIT_VERSION=`cd $srcdir && $GIT describe --abbrev=8 | cut -f 2- -d '-'` - AC_MSG_RESULT([$GIT_DESCRIBE]) + GIT_DESCRIBE=`cd $srcdir && $GIT describe --abbrev=8 --long` + GIT_TAG=`echo $GIT_DESCRIBE | cut -f 1 -d '-'` + GIT_SEQNO=`echo $GIT_DESCRIBE | cut -f 2 -d '-'` + GIT_COMMIT=`echo $GIT_DESCRIBE | cut -f 3 -d '-' | cut -f 2- -d 'g'` + # Release candidate tags create an extra -rcX field + if test x`echo $GIT_DESCRIBE | cut -f 1- -d '-' --output-delimiter=' ' | wc -w` = x4; then + GIT_TAG=`echo $GIT_DESCRIBE | cut -f -2 -d '-'` + GIT_SEQNO=`echo $GIT_DESCRIBE | cut -f 3 -d '-'` + GIT_COMMIT=`echo $GIT_DESCRIBE | cut -f 4 -d '-' | cut -f 2- -d 'g'` + fi + AC_MSG_RESULT([$GIT_DESCRIBE]) else AC_MSG_RESULT([unable to find, using current commit]) - GIT_VERSION=`cd $srcdir && $GIT describe --always --abbrev=8` + GIT_TAG='' + GIT_SEQNO='' + GIT_COMMIT=`cd $srcdir && $GIT describe --always --abbrev=8` fi else AC_MSG_RESULT([not found]) fi + + AC_SUBST([GIT_DESCRIBE]) + AC_SUBST([GIT_TAG]) + AC_SUBST([GIT_SEQNO]) + AC_SUBST([GIT_COMMIT]) fi ]) diff --git a/config/gr_version.m4 b/config/gr_version.m4 index 489f7803..a7a20223 100644 --- a/config/gr_version.m4 +++ b/config/gr_version.m4 @@ -1,4 +1,4 @@ -dnl Copyright 2009 Free Software Foundation, Inc. +dnl Copyright 2009,2010 Free Software Foundation, Inc. dnl dnl This file is part of GNU Radio dnl @@ -31,39 +31,43 @@ AC_DEFUN([GR_VERSION],[ dnl The last two fields can have 'git' instead of a number to indicate dnl that this branch is between versions. . $srcdir/version.sh - RELEASE=$MAJOR_VERSION.$API_COMPAT dnl Get git version if available GR_GIT dnl Test if we should use git version if test "$MINOR_VERSION" == "git"; then - dnl 3.3git-xxx-gxxxxxxxx - RELEASE=$RELEASE$MINOR_VERSION - DOCVER=$RELEASE - if test "$GIT_VERSION" != "" ; then - RELEASE=$RELEASE-$GIT_VERSION - fi + dnl RELEASE: 3.3git-xxx-gxxxxxxxx + dnl DOCVER: 3.3git + dnl LIBVER: 3.3git + RELEASE=$GIT_DESCRIBE + DOCVER=$MAJOR_VERSION.$API_COMPAT$MINOR_VERSION + LIBVER=$MAJOR_VERSION.$API_COMPAT$MINOR_VERSION else if test "$MAINT_VERSION" == "git" ; then - dnl 3.3.1git-xxx-gxxxxxxxx - RELEASE=$RELEASE.$MINOR_VERSION$MAINT_VERSION - DOCVER=$RELEASE - if test "$GIT_VERSION" != "" ; then - RELEASE=$RELEASE-$GIT_VERSION - fi + dnl RELEASE: 3.3.1git-xxx-gxxxxxxxx + dnl DOCVER: 3.3.1git + dnl LIBVER: 3.3.1git + RELEASE=$GIT_DESCRIBE + DOCVER=$MAJOR_VERSION.$API_COMPAT.$MINOR_VERSION$MAINT_VERSION + LIBVER=$MAJOR_VERSION.$API_COMPAT.$MINOR_VERSION$MAINT_VERSION else dnl This is a numbered release. - RELEASE=$RELEASE.$MINOR_VERSION + dnl RELEASE: 3.3.1{.x} + dnl DOCVER: 3.3.1{.x} + dnl LIBVER: 3.3.1{.x} + RELEASE=$MAJOR_VERSION.$API_COMPAT.$MINOR_VERSION if test "$MAINT_VERSION" != "0"; then RELEASE=$RELEASE.$MAINT_VERSION fi DOCVER=$RELEASE + LIBVER=$RELEASE fi fi AC_MSG_NOTICE([GNU Radio Release $RELEASE]) AC_SUBST(RELEASE) AC_SUBST(DOCVER) + AC_SUBST(LIBVER) ]) -- 2.30.2