From 3b0db38361d6ff50d62d814e72eb1fdd0e5d762d Mon Sep 17 00:00:00 2001
From: jcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5>
Date: Sat, 11 Jul 2009 02:34:31 +0000
Subject: 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
---
 gnuradio-core/src/lib/general/gr_constants.h | 62 ++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
 create mode 100644 gnuradio-core/src/lib/general/gr_constants.h

(limited to 'gnuradio-core/src/lib/general/gr_constants.h')

diff --git a/gnuradio-core/src/lib/general/gr_constants.h b/gnuradio-core/src/lib/general/gr_constants.h
new file mode 100644
index 0000000000..e44890be01
--- /dev/null
+++ b/gnuradio-core/src/lib/general/gr_constants.h
@@ -0,0 +1,62 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006,2009 Free Software Foundation, Inc.
+ * 
+ * This file is part of GNU Radio
+ * 
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ * 
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+#ifndef INCLUDED_GR_CONSTANTS_H
+#define INCLUDED_GR_CONSTANTS_H
+
+#include <string>
+
+/*!
+ * \brief return ./configure --prefix argument.  Typically /usr/local
+ */
+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_CONSTANTS_H */
-- 
cgit v1.2.3