Allowing PFB interpolator to be called without specifying the taps; autogen taps...
[debian/gnuradio] / gr-howto-write-a-block / config / gr_git.m4
index 5fe424808c5d84d34d8bdf97b01a6958cb882a9d..c4f1ea0c027eb532f55abc2f98e142c80acbea5c 100644 (file)
@@ -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,40 @@ 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`
+        # Release candidate tags create an extra -rcX field
+       case $GIT_DESCRIBE in
+         *-*-*-*)
+           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'`
+           ;;
+         *-*-*)
+           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'`
+           ;;
+       esac
+
+       AC_MSG_RESULT([$GIT_DESCRIBE])
+      else
+        AC_MSG_RESULT([no tag in history, 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
 ])