summaryrefslogtreecommitdiff
path: root/gr-howto-write-a-block/config/gr_git.m4
diff options
context:
space:
mode:
authorJohnathan Corgan2010-05-30 23:06:20 -0700
committerJohnathan Corgan2010-05-30 23:06:20 -0700
commitb98cabac11306fa25c29a2e0adc1c0c0a697e9a0 (patch)
tree8745c05b9cf4b83f64931e896a4f22fbe602ebbc /gr-howto-write-a-block/config/gr_git.m4
parentad13c00ae8cba6327851652a7d0c94a6d6316916 (diff)
downloadgnuradio-b98cabac11306fa25c29a2e0adc1c0c0a697e9a0.tar.gz
gnuradio-b98cabac11306fa25c29a2e0adc1c0c0a697e9a0.tar.bz2
gnuradio-b98cabac11306fa25c29a2e0adc1c0c0a697e9a0.zip
howto: make versioned libraries
Diffstat (limited to 'gr-howto-write-a-block/config/gr_git.m4')
-rw-r--r--gr-howto-write-a-block/config/gr_git.m435
1 files changed, 29 insertions, 6 deletions
diff --git a/gr-howto-write-a-block/config/gr_git.m4 b/gr-howto-write-a-block/config/gr_git.m4
index 5fe424808..5e8aa663b 100644
--- a/gr-howto-write-a-block/config/gr_git.m4
+++ b/gr-howto-write-a-block/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
@@ -24,12 +24,35 @@ AC_DEFUN([GR_GIT],[
dnl If it exists, get either 'git describe' or fallback to current commit
if test x$GIT != x ; then
- if (cd $srcdir && $GIT describe >/dev/null 2>&1); then
- GIT_VERSION=`cd $srcdir && $GIT describe --abbrev=8 | cut -f 2- -d '-'`
- else
- if (cd $srcdir && $GIT describe --always --abbrev=8 >/dev/null 2>&1); then
- GIT_VERSION=`cd $srcdir && $GIT describe --always --abbrev=8`
+ AC_MSG_CHECKING([existence of git version control directory])
+ if test -d $srcdir/.git ; then
+ AC_MSG_RESULT([ok])
+ AC_MSG_CHECKING([git description of current commit])
+ if (cd $srcdir && $GIT describe >/dev/null 2>&1); then
+ 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_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
])