diff options
Diffstat (limited to 'gnuradio-core')
-rw-r--r-- | gnuradio-core/Makefile.am | 2 | ||||
-rw-r--r-- | gnuradio-core/src/lib/Makefile.am | 6 | ||||
-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 | ||||
-rw-r--r-- | gnuradio-core/src/lib/gnuradio.cc | 80 | ||||
-rw-r--r-- | gnuradio-core/src/python/gnuradio/gr/prefs.py | 2 |
10 files changed, 186 insertions, 19 deletions
diff --git a/gnuradio-core/Makefile.am b/gnuradio-core/Makefile.am index d5447c17a..107ff785b 100644 --- a/gnuradio-core/Makefile.am +++ b/gnuradio-core/Makefile.am @@ -29,5 +29,5 @@ SUBDIRS = src pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gnuradio-core.pc -etcdir = $(gr_sysconfdir) +etcdir = $(gr_prefsdir) dist_etc_DATA = gnuradio-core.conf diff --git a/gnuradio-core/src/lib/Makefile.am b/gnuradio-core/src/lib/Makefile.am index ef2b17f5a..8b2dc82cc 100644 --- a/gnuradio-core/src/lib/Makefile.am +++ b/gnuradio-core/src/lib/Makefile.am @@ -29,6 +29,8 @@ if PYTHON SUBDIRS += swig endif +AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES) + # generate libgnuradio-core.la from the convenience libraries in subdirs lib_LTLIBRARIES = libgnuradio-core.la libgnuradio-core-qa.la @@ -64,3 +66,7 @@ libgnuradio_core_qa_la_LIBADD = \ runtime/libruntime-qa.la \ libgnuradio-core.la \ $(CPPUNIT_LIBS) + +bin_PROGRAMS = gnuradio +gnuradio_SOURCES = gnuradio.cc +gnuradio_LDADD = libgnuradio-core.la $(BOOST_PROGRAM_OPTIONS_LIB) 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(); diff --git a/gnuradio-core/src/lib/gnuradio.cc b/gnuradio-core/src/lib/gnuradio.cc new file mode 100644 index 000000000..df78ea2dd --- /dev/null +++ b/gnuradio-core/src/lib/gnuradio.cc @@ -0,0 +1,80 @@ +/* -*- c++ -*- */ +/* + * Copyright 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. + */ + +#if HAVE_CONFIG_H +#include <config.h> +#endif + +#include <gr_constants.h> +#include <boost/program_options.hpp> +#include <iostream> + +namespace po = boost::program_options; + +int +main(int argc, char **argv) +{ + po::options_description desc("Program options: gnuradio [options]"); + po::variables_map vm; + + desc.add_options() + ("help,h", "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)") + ("version,v", "print gnuradio version") + ("svnversion", "print SVN repository version (SVN format)") + ("svndate", "print SVN repository date") + ; + + po::store(po::parse_command_line(argc, argv, desc), vm); + po::notify(vm); + + if (vm.size() == 0 || vm.count("help")) { + std::cout << desc << std::endl; + return 1; + } + + if (vm.count("prefix")) + std::cout << gr_prefix() << std::endl; + + if (vm.count("sysconfdir")) + std::cout << gr_sysconfdir() << std::endl; + + if (vm.count("prefsdir")) + std::cout << gr_prefsdir() << std::endl; + + if (vm.count("builddate")) + std::cout << gr_build_date() << std::endl; + + if (vm.count("version")) + std::cout << gr_version() << std::endl; + + if (vm.count("svnversion")) + std::cout << gr_svn_version() << std::endl; + + if (vm.count("svndate")) + std::cout << gr_svn_date() << std::endl; + + return 0; +} diff --git a/gnuradio-core/src/python/gnuradio/gr/prefs.py b/gnuradio-core/src/python/gnuradio/gr/prefs.py index 52f1ff64a..9b31b772b 100644 --- a/gnuradio-core/src/python/gnuradio/gr/prefs.py +++ b/gnuradio-core/src/python/gnuradio/gr/prefs.py @@ -33,7 +33,7 @@ def _user_prefs_filename(): return os.path.expanduser('~/.gnuradio/config.conf') def _sys_prefs_dirname(): - return os.path.join(gsp.prefix(), 'etc/gnuradio/conf.d') + return gsp.prefsdir() def _bool(x): """ |