summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib/general
diff options
context:
space:
mode:
authorjcorgan2009-07-11 02:34:31 +0000
committerjcorgan2009-07-11 02:34:31 +0000
commit3b0db38361d6ff50d62d814e72eb1fdd0e5d762d (patch)
tree983040f540446c50eb68367d3bb576600ee8fc89 /gnuradio-core/src/lib/general
parent214874a64800ccf0ed74646a3ea6812856e12673 (diff)
downloadgnuradio-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.am8
-rw-r--r--gnuradio-core/src/lib/general/general.i4
-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.i17
-rw-r--r--gnuradio-core/src/lib/general/gr_prefix.i5
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();