diff options
Diffstat (limited to 'gr-howto-write-a-block/config')
-rw-r--r-- | gr-howto-write-a-block/config/Makefile.am | 2 | ||||
-rw-r--r-- | gr-howto-write-a-block/config/gr_git.m4 | 35 | ||||
-rw-r--r-- | gr-howto-write-a-block/config/gr_standalone.m4 | 6 | ||||
-rw-r--r-- | gr-howto-write-a-block/config/gr_version.m4 | 74 |
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) +]) |