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