summaryrefslogtreecommitdiff
path: root/gr-howto-write-a-block/config
diff options
context:
space:
mode:
Diffstat (limited to 'gr-howto-write-a-block/config')
-rw-r--r--gr-howto-write-a-block/config/Makefile.am2
-rw-r--r--gr-howto-write-a-block/config/gr_git.m435
-rw-r--r--gr-howto-write-a-block/config/gr_standalone.m46
-rw-r--r--gr-howto-write-a-block/config/gr_version.m474
4 files changed, 111 insertions, 6 deletions
diff --git a/gr-howto-write-a-block/config/Makefile.am b/gr-howto-write-a-block/config/Makefile.am
index 5858d2219..23f4a4b16 100644
--- a/gr-howto-write-a-block/config/Makefile.am
+++ b/gr-howto-write-a-block/config/Makefile.am
@@ -49,6 +49,7 @@ m4macros = \
gr_check_usrp.m4 \
gr_doxygen.m4 \
gr_fortran.m4 \
+ gr_git.m4 \
gr_gprof.m4 \
gr_lib64.m4 \
gr_libgnuradio_core_extra_ldflags.m4 \
@@ -63,6 +64,7 @@ m4macros = \
gr_subversion.m4 \
gr_swig.m4 \
gr_sysv_shm.m4 \
+ gr_version.m4 \
lf_cc.m4 \
lf_cxx.m4 \
lf_warnings.m4 \
diff --git a/gr-howto-write-a-block/config/gr_git.m4 b/gr-howto-write-a-block/config/gr_git.m4
new file mode 100644
index 000000000..5fe424808
--- /dev/null
+++ b/gr-howto-write-a-block/config/gr_git.m4
@@ -0,0 +1,35 @@
+dnl Copyright 2009 Free Software Foundation, Inc.
+dnl
+dnl This file is part of GNU Radio
+dnl
+dnl GNU Radio is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3, or (at your option)
+dnl any later version.
+dnl
+dnl GNU Radio is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with GNU Radio; see the file COPYING. If not, write to
+dnl the Free Software Foundation, Inc., 51 Franklin Street,
+dnl Boston, MA 02110-1301, USA.
+
+
+AC_DEFUN([GR_GIT],[
+ dnl Identify git binary
+ AC_PATH_PROG([GIT],[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`
+ fi
+ fi
+ fi
+])
diff --git a/gr-howto-write-a-block/config/gr_standalone.m4 b/gr-howto-write-a-block/config/gr_standalone.m4
index 2f8851676..593583e2d 100644
--- a/gr-howto-write-a-block/config/gr_standalone.m4
+++ b/gr-howto-write-a-block/config/gr_standalone.m4
@@ -31,12 +31,6 @@ m4_define([GR_STANDALONE],
AC_CONFIG_SRCDIR([config/gr_standalone.m4])
AM_CONFIG_HEADER(config.h)
- AC_CANONICAL_BUILD
- AC_CANONICAL_HOST
- AC_CANONICAL_TARGET
-
- AM_INIT_AUTOMAKE
-
dnl Remember if the user explicity set CXXFLAGS
if test -n "${CXXFLAGS}"; then
user_set_cxxflags=yes
diff --git a/gr-howto-write-a-block/config/gr_version.m4 b/gr-howto-write-a-block/config/gr_version.m4
new file mode 100644
index 000000000..3360b7d54
--- /dev/null
+++ b/gr-howto-write-a-block/config/gr_version.m4
@@ -0,0 +1,74 @@
+dnl Copyright 2009 Free Software Foundation, Inc.
+dnl
+dnl This file is part of GNU Radio
+dnl
+dnl GNU Radio is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3, or (at your option)
+dnl any later version.
+dnl
+dnl GNU Radio is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with GNU Radio; see the file COPYING. If not, write to
+dnl the Free Software Foundation, Inc., 51 Franklin Street,
+dnl Boston, MA 02110-1301, USA.
+
+AC_DEFUN([GR_VERSION],[
+ dnl Computed version based on version.sh
+ dnl Does not force recompile on rev change
+ dnl
+ dnl Source the variables describing the release version
+ dnl
+ dnl MAJOR_VERSION Major release generation (2.x, 3.x, etc.)
+ dnl API_COMPAT API compatibility version (3.2.x, 3.3.x, etc.)
+ dnl MINOR_VERSION Minor release version
+ dnl MAINT_VERSION Pure bugfix additions to make maintenance release
+ dnl
+ 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
+ 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
+ else
+ dnl This is a numbered reelase.
+ dnl Test if minor version is 0, which we don't encode, unless it is also
+ dnl a maintenance release
+ if test "$MINOR_VERSION" != "0" -o "$MAINT_VERSION" != "0"; then
+ dnl 3.3.1
+ RELEASE=$RELEASE.$MINOR_VERSION
+ if test "$MAINT_VERSION" != "0"; then
+ dnl 3.3.0.1, 3.3.1.1
+ RELEASE=$RELEASE.$MAINT_VERSION
+ fi
+ DOCVER=$RELEASE
+ fi
+ fi
+ fi
+
+ AC_MSG_NOTICE([GNU Radio Release $RELEASE])
+ AC_SUBST(RELEASE)
+ AC_SUBST(DOCVER)
+])