summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--README154
-rw-r--r--docs/doxygen/other/build_guide.dox32
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio.i3
-rw-r--r--gnuradio-core/src/lib/swig/gr_swig_block_magic.i10
-rwxr-xr-xgr-uhd/apps/uhd_fft6
-rw-r--r--gr-uhd/apps/uhd_siggen_base.py6
7 files changed, 42 insertions, 173 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 73473c5f3..5731ee907 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,8 +41,8 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
# Set the version information here
set(VERSION_INFO_MAJOR_VERSION 3)
set(VERSION_INFO_API_COMPAT 6)
-set(VERSION_INFO_MINOR_VERSION 0)
-set(VERSION_INFO_MAINT_VERSION 0)
+set(VERSION_INFO_MINOR_VERSION 1)
+set(VERSION_INFO_MAINT_VERSION git)
include(GrVersion) #setup version info
# Append -O2 optimization flag for Debug builds
diff --git a/README b/README
index 09af3d985..d8d7e0ebc 100644
--- a/README
+++ b/README
@@ -46,21 +46,16 @@ http://gnuradio.org/redmine/projects/gnuradio/wiki/DevelopingWithGit
How to Build GNU Radio:
- (1) Ensure that you've satisfied the external dependencies listed
- below. The word "system" is used to mean "operating system
- and/or distribution", and means a full operating system,
- including kernel, user-space utilties, and a packaging system
- for additional software. On Linux, this means what
- "distribution" means.
-
- The following GNU/Linux distributions are known to come with all
- required dependencies pre-packaged: Ubuntu >8.10, SuSE 10.0 (the
- pay version, not the free download), Fedora Core >9. Other
- distribution may work too. We know these three are easy. The
- required packages may be contained on your installation CD/DVD,
- or may be loaded over the net. The specifics vary depending on
- your GNU/Linux distribution.
+For more complete instructions, see the "Building GNU Radio" page in
+the GNU Radio manual (can be built or found online at
+http://gnuradio.org/doc/doxygen/page_build.html).
+See these steps fow a quick build guide.
+
+ (1) Ensure that you've satisfied the external dependencies. These
+ dependencies are listed in the manual's build page and are not
+ presented here to reduce duplication errors.
+
On systems using pkgsrc (e.g. NetBSD and Dragonfly), build
meta-packages/gnuradio, which will build a previous release and
force installation of the dependencies. Then pkg_delete the
@@ -105,147 +100,20 @@ with '-O3', which is the default.
-------------------------------------------------------------------------------
- External dependencies
+ NOTES
-------------------------------------------------------------------------------
-Prerequisites: Before trying to build these from source, please try
-your system's installation tool (apt-get, pkg_install, YaST, yum,
-urpmi, etc.) first. Most recent systems have these packages
-available.
-
-You'll need to do a bit of sleuthing to figure out what your OS and
-packaging system calls these. If your system uses the convention of
-splitting files needed to run programs compiled with foo and files
-needed to do the compilation into packages named foo and foo-devel,
-install both packages. (Most GNU/Linux systems are like this, but
-pkgsrc is not and instead uses -devel to indicate a package of a
-not-yet-released or unstable version.)
-
-For those using pkgsrc, see gnuradio-pkg_chk.conf. Those not using
-pkgsrc may also find the list useful.
-
-(0) GNU make
-
-It used to be required to have a "reasonable make", meaning GNU make,
-BSD make, or perhaps Solaris make. It is now required to use GNU
-make. Version 3.81 should certainly work; the intent is not to
-require the bleeding edge.
-
-Note that the examples below are written with "make". They probably
-should say "gmake", as GNU make is installed as gmake when it is not
-the native make.
-
-(1) cmake 2.6 or later http://www.cmake.org/cmake/resources/software.html
-
-(2) pkgconfig 0.15.0 or later http://www.freedesktop.org/Software/pkgconfig
-
-From the web site:
-
-pkgconfig is a system for managing library compile/link flags that
-works with automake and autoconf. It replaces the ubiquitous *-config
-scripts you may have seen with a single tool.
-
-
-(3) FFTW 3.0 or later http://www.fftw.org
-
-IMPORTANT!!! When building FFTW, you MUST use the --enable-single and
---enable-shared configure options. This builds the single precision
-floating point version which we use. You should also use either the
---enable-3dnow or --enable-sse options if you're on an Athlon or Pentium
-respectively.
-
-GNU/Linux packages of single-precision fftw are typically called
-fftw3f.
-
-In systems using pkgsrc, install math/fftwf, which provides the
-single-precision libraries.
-
-
-(4) Python 2.5 or later http://www.python.org
-
-Python 2.5 or later is now required. If your system splits
-python into a bunch of separate packages including python-devel or
-libpython you'll most likely need those too.
-
-
-(5) Numpy python library http://numeric.scipy.org
-
-Provides a high performance array type for Python.
-http://numpy.scipy.org
-http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103
-
-
-(6) The Boost C++ Libraries (1.35 or later) http://www.boost.org
-
-We use Smart Pointers, the thread library and a bunch of other boost stuff.
-If your system doesn't have boost 1.35 or later, see README.building-boost
-for additional info. (Note: Mac OSX systems require 1.37 or later.)
-
-
-(7) cppunit 1.9.14 or later. http://cppunit.sourceforge.net
-
-Unit testing framework for C++.
-
-
-(8) Simple Wrapper Interface Generator. http://www.swig.org
-
-As of repository version 4045, gnuradio requires version 1.3.31 or newer.
-
-
-(9) GNU Scientific Library (gsl) 1.10 or later
-
-The GNU Radio core library uses some routines from here.
-
-
-Optional, but nice to have:
-
-(10) wxPython. Python binding for the wxWidgets GUI framework. Use
-version 2.8 or later. Again, almost all systems have this
-available.
-
-As a last resort, build it from source (not recommended!)
-http://www.wxpython.org
-
-(11) xmlto version ? or later. http://cyberelk.net/tim/xmlto/index.html
-
-Wrapper for XML conversion tools to ease e.g. making html from docbook.
-
-(12) Python Cheetah extensions 2.0.0 or later
-(13) Python lxml wrappers 2.0.0 or later
-(14) Python gtk wrappers 2.10.0 or later
-
-The GNU Radio Companion application requires these additional Python libraries
-to be installed.
-
-The gr-qtgui requires these packages:
-
-(15) Qt 4.4 or later
-(16) Qwt 5.2 or later
-(17) PyQt 4.4 or later
-(18) PyQwt 5.2 or later
-
-It is also useful to have Python's Scipy and Matplot lib packages to
-run some of the example.
-
-----------------------------------------------------------------
-
-If you have doxygen installed, the build process creates
-documentation for the class hierarchy etc. Point your browser at
-gnuradio/gnuradio-core/doc/html/index.html
-
-
To run the examples you may need to set PYTHONPATH. Note that the
prefix and python version number in the path needs to match your
installed version of python.
- $ export PYTHONPATH=/usr/local/lib/python2.5/site-packages
+ $ export PYTHONPATH=/usr/local/lib/python2.7/dist-packages
You may want to add this to your shell init file (~/.bash_profile if
you use bash).
-
Another handy trick if for example your fftw includes and libs are
installed in, say ~/local/include and ~/local/lib, instead of
/usr/local is this:
diff --git a/docs/doxygen/other/build_guide.dox b/docs/doxygen/other/build_guide.dox
index 780976d62..629a0f89f 100644
--- a/docs/doxygen/other/build_guide.dox
+++ b/docs/doxygen/other/build_guide.dox
@@ -19,13 +19,16 @@ components is determined by what the user requires from GNU Radio. If,
for example, you do not use any Comedi-based hardware, do not worry
about building gr-comedi.
+Before trying to build these from source, please try your system's
+installation tool (apt-get, pkg_install, YaST, yum, urpmi, etc.)
+first. Most recent systems have these packages available.
+
\subsection dep_global Global Dependencies
\li git http://code.google.com/p/msysgit
\li cmake (>= 2.6) http://www.cmake.org/cmake/resources/software.html
\li boost (>= 1.35) http://www.boostpro.com/download
\li cppunit (>= 1.9.14) http://gaiacrtn.free.fr/cppunit/index.html
\li fftw3f (>= 3.0) http://www.fftw.org/install/windows.html
-\li gsl (>= 1.10) http://gnuwin32.sourceforge.net/packages/gsl.htm
\subsection dep_python Python Wrappers
\li python (>= 2.5) http://www.python.org/download/
@@ -39,6 +42,9 @@ about building gr-comedi.
\li Cheetah (>= 2.0) http://www.cheetahtemplate.org/
\li pygtk (>= 2.10) http://www.pygtk.org/downloads.html
+\subsection dep_wavelet gr-wavelet: Collection of wavelet blocks
+\li gsl (>= 1.10) http://gnuwin32.sourceforge.net/packages/gsl.htm
+
\subsection dep_gr_qtgui gr-qtgui: The QT-based Graphical User Interface
\li qt (>= 4.4) http://qt.nokia.com/downloads/
\li qwt (>= 5.2) http://sourceforge.net/projects/qwt/
@@ -57,6 +63,10 @@ about building gr-comedi.
\li audio-osx
\li audio-windows
+It is not necessary to satisfy all of these dependencies; just the
+one(s) that are right for your system. On Linux, don't expect
+audio-osx and audio-windows to be either satisfied or built.
+
\subsection dep_uhd uhd: The Ettus USRP Hardware Driver Interface
\li uhd (>= 3.0.0) http://code.ettus.com/redmine/ettus/projects/uhd/wiki
@@ -146,23 +156,3 @@ cmake -DCMAKE_CXX_FLAGS:STRING="-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -g
-DCMAKE_C_FLAGS:STRING="-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -g" \
<gr_source_dir>
\endcode
-
-
-\section build_old_autotools Building Using Old Autotools Method
-
-As of version 3.5, we have moved to using Cmake as the default,
-preferred build system. If for some reason, Cmake fails on your
-system, GNU Radio still includes the old autotools build process as a
-parallel build method. To build:
-
-\code
-$ cd $(srcdir)
-$ ./bootstrap // only if not building from a tarball
-$ cd $(builddir)
-$ $(srcdir)/configure [options]
-$ make [-jN]
-$ make check
-$ sudo make install
-\endcode
-
-*/
diff --git a/gnuradio-core/src/lib/swig/gnuradio.i b/gnuradio-core/src/lib/swig/gnuradio.i
index 239223851..3a421ad5d 100644
--- a/gnuradio-core/src/lib/swig/gnuradio.i
+++ b/gnuradio-core/src/lib/swig/gnuradio.i
@@ -20,6 +20,9 @@
* Boston, MA 02110-1301, USA.
*/
+// Disable warning about base class types
+#pragma SWIG nowarn=401
+
////////////////////////////////////////////////////////////////////////
// gnuradio.i
// SWIG interface definition
diff --git a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i b/gnuradio-core/src/lib/swig/gr_swig_block_magic.i
index cdc9fbe49..4016ae772 100644
--- a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i
+++ b/gnuradio-core/src/lib/swig/gr_swig_block_magic.i
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2010 Free Software Foundation, Inc.
+ * Copyright 2004,2010,2012 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -40,3 +40,11 @@ FULL_NAME ## _sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(),
%}
%enddef
#endif
+
+%define GR_SWIG_BLOCK_MAGIC2(PKG, BASE_NAME)
+%template(BASE_NAME ## _sptr) boost::shared_ptr<gr:: ## PKG ## :: ## BASE_NAME>;
+%pythoncode %{
+BASE_NAME ## _sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
+BASE_NAME = BASE_NAME.make;
+%}
+%enddef
diff --git a/gr-uhd/apps/uhd_fft b/gr-uhd/apps/uhd_fft
index 8bb5e0d2b..7af2c5326 100755
--- a/gr-uhd/apps/uhd_fft
+++ b/gr-uhd/apps/uhd_fft
@@ -196,18 +196,18 @@ class app_top_block(stdgui2.std_top_block):
callback=self.set_gain)
try:
- mboard_id = self.u.get_usrp_info().get("mboard_id").split(" ")[0]
+ mboard_id = self.u.get_usrp_info().get("mboard_id")
mboard_serial = self.u.get_usrp_info().get("mboard_serial")
if mboard_serial == "":
mboard_serial = "no serial"
- dboard_id = self.u.get_usrp_info().get("rx_id").split(" ")[0].split(",")[0]
+ dboard_subdev_name = self.u.get_usrp_info().get("rx_subdev_name")
dboard_serial = self.u.get_usrp_info().get("rx_serial")
if dboard_serial == "":
dboard_serial = "no serial"
subdev = self.u.get_subdev_spec()
antenna = self.u.get_antenna()
- usrp_config_val = "%s (%s), %s (%s, %s, %s)" % (mboard_id, mboard_serial, dboard_id, dboard_serial, subdev, antenna)
+ usrp_config_val = "%s (%s), %s (%s, %s, %s)" % (mboard_id, mboard_serial, dboard_subdev_name, dboard_serial, subdev, antenna)
except:
usrp_config_val = "Not implemented in this version."
diff --git a/gr-uhd/apps/uhd_siggen_base.py b/gr-uhd/apps/uhd_siggen_base.py
index 5fa881e42..8c69da1cc 100644
--- a/gr-uhd/apps/uhd_siggen_base.py
+++ b/gr-uhd/apps/uhd_siggen_base.py
@@ -110,11 +110,11 @@ class top_block(gr.top_block, pubsub):
# Setup USRP Configuration value
try:
usrp_info = self._u.get_usrp_info()
- mboard_id = usrp_info.get("mboard_id").split(" ")[0]
+ mboard_id = usrp_info.get("mboard_id")
mboard_serial = usrp_info.get("mboard_serial")
if mboard_serial == "":
mboard_serial = "no serial"
- dboard_id = usrp_info.get("tx_id").split(" ")[0].split(",")[0]
+ dboard_subdev_name = usrp_info.get("tx_subdev_name")
dboard_serial = usrp_info.get("tx_serial")
if dboard_serial == "":
dboard_serial = "no serial"
@@ -122,7 +122,7 @@ class top_block(gr.top_block, pubsub):
antenna = self._u.get_antenna()
desc_key_str = "Motherboard: %s [%s]\n" % (mboard_id, mboard_serial)
- desc_key_str += "Daughterboard: %s [%s]\n" % (dboard_id, dboard_serial)
+ desc_key_str += "Daughterboard: %s [%s]\n" % (dboard_subdev_name, dboard_serial)
desc_key_str += "Subdev: %s\n" % subdev
desc_key_str += "Antenna: %s" % antenna
except: