diff options
author | jcorgan | 2009-07-11 02:34:31 +0000 |
---|---|---|
committer | jcorgan | 2009-07-11 02:34:31 +0000 |
commit | 3b0db38361d6ff50d62d814e72eb1fdd0e5d762d (patch) | |
tree | 983040f540446c50eb68367d3bb576600ee8fc89 /gnuradio-core/src/lib/general | |
parent | 214874a64800ccf0ed74646a3ea6812856e12673 (diff) | |
download | gnuradio-3b0db38361d6ff50d62d814e72eb1fdd0e5d762d.tar.gz gnuradio-3b0db38361d6ff50d62d814e72eb1fdd0e5d762d.tar.bz2 gnuradio-3b0db38361d6ff50d62d814e72eb1fdd0e5d762d.zip |
Implements ticket:401 and ticket:402.
Adds several API functions to determine build constants at runtime, and
a convenience command line program to display them:
From C++:
const std::string gr_prefix();
const std::string gr_sysconfdir();
const std::string gr_prefsdir();
const std::string gr_build_date();
const std::string gr_svn_date();
const std::string gr_svn_version();
const std::string gr_version();
From Python:
gr.prefix()
gr.sysconfdir()
gr.prefsdir()
gr.build_date()
gr.svn_date()
gr.svn_version()
gr.version()
The new binary is 'gnuradio' and installed on the path:
$ gnuradio
Program options: gnuradio [options]:
-h [ --help ] print help message
--prefix print gnuradio installation prefix
--sysconfdir print gnuradio system configuration directory
--prefsdir print gnuradio preferences directory
--builddate print gnuradio build date (RFC2822 format)
-v [ --version ] print gnuradio version
--svnversion print SVN repository version (SVN format)
--svndate print SVN repository date
$
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@11418 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gnuradio-core/src/lib/general')
-rw-r--r-- | gnuradio-core/src/lib/general/Makefile.am | 8 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/general.i | 4 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_constants.cc.in (renamed from gnuradio-core/src/lib/general/gr_prefix.cc.in) | 44 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_constants.h (renamed from gnuradio-core/src/lib/general/gr_prefix.h) | 37 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_constants.i | 17 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_prefix.i | 5 |
6 files changed, 98 insertions, 17 deletions
diff --git a/gnuradio-core/src/lib/general/Makefile.am b/gnuradio-core/src/lib/general/Makefile.am index 5564ee3d4..9b070b865 100644 --- a/gnuradio-core/src/lib/general/Makefile.am +++ b/gnuradio-core/src/lib/general/Makefile.am @@ -31,7 +31,7 @@ BUILT_SOURCES = EXTRA_DIST = \ gen_sine_table.py \ - gr_prefix.cc.in + gr_constants.cc.in libgeneral_la_SOURCES = \ gr_agc_cc.cc \ @@ -117,7 +117,7 @@ libgeneral_la_SOURCES = \ gr_pll_freqdet_cf.cc \ gr_pll_refout_cc.cc \ gr_pn_correlator_cc.cc \ - gr_prefix.cc \ + gr_constants.cc \ gr_prefs.cc \ gr_probe_avg_mag_sqrd_c.cc \ gr_probe_avg_mag_sqrd_cf.cc \ @@ -273,7 +273,7 @@ grinclude_HEADERS = \ gr_pll_freqdet_cf.h \ gr_pll_refout_cc.h \ gr_pn_correlator_cc.h \ - gr_prefix.h \ + gr_constants.h \ gr_prefs.h \ gr_probe_avg_mag_sqrd_c.h \ gr_probe_avg_mag_sqrd_cf.h \ @@ -432,7 +432,7 @@ swiginclude_HEADERS = \ gr_pll_freqdet_cf.i \ gr_pll_refout_cc.i \ gr_pn_correlator_cc.i \ - gr_prefix.i \ + gr_constants.i \ gr_prefs.i \ gr_probe_avg_mag_sqrd_c.i \ gr_probe_avg_mag_sqrd_cf.i \ diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i index 0cb54870e..0684e63a5 100644 --- a/gnuradio-core/src/lib/general/general.i +++ b/gnuradio-core/src/lib/general/general.i @@ -105,7 +105,7 @@ #include <gr_pa_2x2_phase_combiner.h> #include <gr_kludge_copy.h> #include <gr_prefs.h> -#include <gr_prefix.h> +#include <gr_constants.h> #include <gr_test_types.h> #include <gr_test.h> #include <gr_unpack_k_bits_bb.h> @@ -225,7 +225,7 @@ %include "gr_pa_2x2_phase_combiner.i" %include "gr_kludge_copy.i" %include "gr_prefs.i" -%include "gr_prefix.i" +%include "gr_constants.i" %include "gr_test_types.h" %include "gr_test.i" %include "gr_unpack_k_bits_bb.i" diff --git a/gnuradio-core/src/lib/general/gr_prefix.cc.in b/gnuradio-core/src/lib/general/gr_constants.cc.in index f03043ce1..efb0f1c77 100644 --- a/gnuradio-core/src/lib/general/gr_prefix.cc.in +++ b/gnuradio-core/src/lib/general/gr_constants.cc.in @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2006 Free Software Foundation, Inc. + * Copyright 2006,2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -20,10 +20,50 @@ * Boston, MA 02110-1301, USA. */ -#include <gr_prefix.h> +#if HAVE_CONFIG_H +#include <config.h> +#endif + +#include <gr_constants.h> const std::string gr_prefix() { return "@prefix@"; } + +const std::string +gr_sysconfdir() +{ + return "@SYSCONFDIR@"; +} + +const std::string +gr_prefsdir() +{ + return "@GR_PREFSDIR@"; +} + +const std::string +gr_build_date() +{ + return "@BUILD_DATE@"; +} + +const std::string +gr_svn_date() +{ + return "@SVNDATE@"; +} + +const std::string +gr_svn_version() +{ + return "@SVNVERSION@"; +} + +const std::string +gr_version() +{ + return "@VERSION@"; +} diff --git a/gnuradio-core/src/lib/general/gr_prefix.h b/gnuradio-core/src/lib/general/gr_constants.h index 0a107b98c..e44890be0 100644 --- a/gnuradio-core/src/lib/general/gr_prefix.h +++ b/gnuradio-core/src/lib/general/gr_constants.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2006 Free Software Foundation, Inc. + * Copyright 2006,2009 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -19,8 +19,8 @@ * the Free Software Foundation, Inc., 51 Franklin Street, * Boston, MA 02110-1301, USA. */ -#ifndef INCLUDED_GR_PREFIX_H -#define INCLUDED_GR_PREFIX_H +#ifndef INCLUDED_GR_CONSTANTS_H +#define INCLUDED_GR_CONSTANTS_H #include <string> @@ -29,5 +29,34 @@ */ const std::string gr_prefix(); +/*! + * \brief return ./configure --sysconfdir argument. Typically $prefix/etc or /etc + */ +const std::string gr_sysconfdir(); + +/*! + * \brief return preferences file directory. Typically $sysconfdir/etc/conf.d + */ +const std::string gr_prefsdir(); + +/*! + * \brief return date/time of build, as set when 'bootstrap' is run + */ +const std::string gr_build_date(); + +/*! + * \brief return repository date as set when 'bootstrap' is run + */ +const std::string gr_svn_date(); + +/*! + * \brief return repository version as set when 'bootstrap' is run + */ +const std::string gr_svn_version(); + +/*! + * \brief return version string defined in configure.ac + */ +const std::string gr_version(); -#endif /* INCLUDED_GR_PREFIX_H */ +#endif /* INCLUDED_GR_CONSTANTS_H */ diff --git a/gnuradio-core/src/lib/general/gr_constants.i b/gnuradio-core/src/lib/general/gr_constants.i new file mode 100644 index 000000000..156af4a36 --- /dev/null +++ b/gnuradio-core/src/lib/general/gr_constants.i @@ -0,0 +1,17 @@ +/* -*- c++ -*- */ + +%rename(prefix) gr_prefix; +%rename(sysconfdir) gr_sysconfdir; +%rename(prefsdir) gr_prefsdir; +%rename(build_date) gr_build_date; +%rename(svn_date) gr_svn_date; +%rename(svn_version) gr_svn_version; +%rename(version) gr_version; + +const std::string gr_prefix(); +const std::string gr_sysconfdir(); +const std::string gr_prefsdir(); +const std::string gr_build_date(); +const std::string gr_svn_date(); +const std::string gr_svn_version(); +const std::string gr_version(); diff --git a/gnuradio-core/src/lib/general/gr_prefix.i b/gnuradio-core/src/lib/general/gr_prefix.i deleted file mode 100644 index 04e1899a6..000000000 --- a/gnuradio-core/src/lib/general/gr_prefix.i +++ /dev/null @@ -1,5 +0,0 @@ -/* -*- c++ -*- */ - -%rename(prefix) gr_prefix; - -const std::string gr_prefix(); |