summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.common2
-rw-r--r--config/grc_gnuradio_core.m42
-rw-r--r--configure.ac23
-rw-r--r--gnuradio-core/Makefile.am2
-rw-r--r--gnuradio-core/src/lib/Makefile.am6
-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
-rw-r--r--gnuradio-core/src/lib/gnuradio.cc80
-rw-r--r--gnuradio-core/src/python/gnuradio/gr/prefs.py2
-rw-r--r--gr-audio-alsa/Makefile.am2
-rw-r--r--gr-audio-jack/Makefile.am2
-rw-r--r--gr-audio-oss/Makefile.am2
-rw-r--r--gr-audio-portaudio/Makefile.am2
-rw-r--r--gr-wxgui/Makefile.am2
-rw-r--r--grc/Makefile.am2
19 files changed, 215 insertions, 29 deletions
diff --git a/Makefile.common b/Makefile.common
index 14cbe2692..138045353 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -115,7 +115,7 @@ docdir ?= $(datadir)/doc/$(PACKAGE)
gr_docdir = $(docdir)-$(VERSION)
# System configuration files
-gr_sysconfdir = $(sysconfdir)/$(PACKAGE)/conf.d
+gr_prefsdir = $(GR_PREFSDIR)
# Other common defines; use "+=" to add to these
STAMPS =
diff --git a/config/grc_gnuradio_core.m4 b/config/grc_gnuradio_core.m4
index a1724aea9..3e4cbdf4f 100644
--- a/config/grc_gnuradio_core.m4
+++ b/config/grc_gnuradio_core.m4
@@ -86,7 +86,7 @@ AC_DEFUN([GRC_GNURADIO_CORE],[
gnuradio-core/src/lib/filter/Makefile \
gnuradio-core/src/lib/g72x/Makefile \
gnuradio-core/src/lib/general/Makefile \
- gnuradio-core/src/lib/general/gr_prefix.cc \
+ gnuradio-core/src/lib/general/gr_constants.cc \
gnuradio-core/src/lib/gengen/Makefile \
gnuradio-core/src/lib/io/Makefile \
gnuradio-core/src/lib/missing/Makefile \
diff --git a/configure.ac b/configure.ac
index 548cfdb13..92de3e95e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,10 @@ AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE(gnuradio,3.3svn)
+
+VERSION=3.3svn
+AC_SUBST(VERSION)
+AM_INIT_AUTOMAKE(gnuradio,$VERSION)
DEFINES=""
AC_SUBST(DEFINES)
@@ -286,9 +289,25 @@ dnl AX_BOOST_WSERIALIZATION
dnl If this is being done from a subversion tree, create variables
GR_SUBVERSION
-BUILD_DATE=`date -R`
+BUILD_DATE=`date -R -u`
AC_SUBST(BUILD_DATE)
+dnl SYSCONFDIR substitution
+if test "${sysconfdir}" == "\${prefix}/etc" ; then
+ if test "${prefix}" == "NONE" ; then
+ SYSCONFDIR=["$ac_default_prefix/etc"]
+ else
+ SYSCONFDIR=["${prefix}/etc"]
+ fi
+else
+ SYSCONFDIR=[${sysconfdir}]
+fi
+AC_SUBST(SYSCONFDIR)
+
+dnl System configuration files
+GR_PREFSDIR=[$SYSCONFDIR/${PACKAGE}/conf.d]
+AC_SUBST(GR_PREFSDIR)
+
dnl Component specific configuration
dnl The order of the GR_ macros determines the order of compilation
dnl For -any- checks on $enable_all_components
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):
"""
diff --git a/gr-audio-alsa/Makefile.am b/gr-audio-alsa/Makefile.am
index 443bc3210..5bd92b0ff 100644
--- a/gr-audio-alsa/Makefile.am
+++ b/gr-audio-alsa/Makefile.am
@@ -26,5 +26,5 @@ SUBDIRS = src
pkgconfigdir = $(libdir)/pkgconfig
dist_pkgconfig_DATA = gnuradio-audio-alsa.pc
-etcdir = $(gr_sysconfdir)
+etcdir = $(gr_prefsdir)
dist_etc_DATA = gr-audio-alsa.conf
diff --git a/gr-audio-jack/Makefile.am b/gr-audio-jack/Makefile.am
index 99cfe8447..cdc1433db 100644
--- a/gr-audio-jack/Makefile.am
+++ b/gr-audio-jack/Makefile.am
@@ -26,5 +26,5 @@ SUBDIRS = src
pkgconfigdir = $(libdir)/pkgconfig
dist_pkgconfig_DATA = gnuradio-audio-jack.pc
-etcdir = $(gr_sysconfdir)
+etcdir = $(gr_prefsdir)
dist_etc_DATA = gr-audio-jack.conf
diff --git a/gr-audio-oss/Makefile.am b/gr-audio-oss/Makefile.am
index 9f460bc3a..c55d3ecb7 100644
--- a/gr-audio-oss/Makefile.am
+++ b/gr-audio-oss/Makefile.am
@@ -26,5 +26,5 @@ SUBDIRS = src
pkgconfigdir = $(libdir)/pkgconfig
dist_pkgconfig_DATA = gnuradio-audio-oss.pc
-etcdir = $(gr_sysconfdir)
+etcdir = $(gr_prefsdir)
dist_etc_DATA = gr-audio-oss.conf
diff --git a/gr-audio-portaudio/Makefile.am b/gr-audio-portaudio/Makefile.am
index 8be2fa734..198d89f87 100644
--- a/gr-audio-portaudio/Makefile.am
+++ b/gr-audio-portaudio/Makefile.am
@@ -26,5 +26,5 @@ SUBDIRS = src
pkgconfigdir = $(libdir)/pkgconfig
dist_pkgconfig_DATA = gnuradio-audio-portaudio.pc
-etcdir = $(gr_sysconfdir)
+etcdir = $(gr_prefsdir)
dist_etc_DATA = gr-audio-portaudio.conf
diff --git a/gr-wxgui/Makefile.am b/gr-wxgui/Makefile.am
index e35ac6497..335ebe43f 100644
--- a/gr-wxgui/Makefile.am
+++ b/gr-wxgui/Makefile.am
@@ -29,7 +29,7 @@ EXTRA_DIST = \
if PYTHON
SUBDIRS = src
-etcdir = $(gr_sysconfdir)
+etcdir = $(gr_prefsdir)
dist_etc_DATA = gr-wxgui.conf
pkgconfigdir = $(libdir)/pkgconfig
diff --git a/grc/Makefile.am b/grc/Makefile.am
index a921fdd35..4ffdee0b4 100644
--- a/grc/Makefile.am
+++ b/grc/Makefile.am
@@ -39,7 +39,7 @@ endif
ourpythondir = $(grc_src_prefix)
ourpython_PYTHON = __init__.py
-etcdir = $(gr_sysconfdir)
+etcdir = $(gr_prefsdir)
dist_etc_DATA = grc.conf
EXTRA_DIST = \