summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--README154
-rw-r--r--cmake/Modules/GrPython.cmake11
-rw-r--r--docs/doxygen/other/build_guide.dox32
-rw-r--r--gnuradio-core/src/lib/filter/CMakeLists.txt3
-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-xgnuradio-core/src/python/gnuradio/gr/qa_dc_blocker.py4
-rwxr-xr-xgr-digital/python/qa_fll_band_edge.py2
-rwxr-xr-xgr-uhd/apps/uhd_fft6
-rw-r--r--gr-uhd/apps/uhd_siggen_base.py6
-rw-r--r--gruel/src/lib/pmt/CMakeLists.txt2
12 files changed, 53 insertions, 182 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0f43b8f7a..5731ee907 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,7 +41,7 @@ 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_MINOR_VERSION 1)
set(VERSION_INFO_MAINT_VERSION git)
include(GrVersion) #setup version info
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/cmake/Modules/GrPython.cmake b/cmake/Modules/GrPython.cmake
index eff9cbcdc..14f2b29cd 100644
--- a/cmake/Modules/GrPython.cmake
+++ b/cmake/Modules/GrPython.cmake
@@ -76,12 +76,11 @@ macro(GR_PYTHON_CHECK_MODULE desc mod cmd have)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "
#########################################
-try: import ${mod}
-except:
- try: ${mod}
- except: exit(-1)
-try: assert ${cmd}
-except: exit(-1)
+try:
+ import ${mod}
+ assert ${cmd}
+except ImportError, AssertionError: exit(-1)
+except: pass
#########################################"
RESULT_VARIABLE ${have}
)
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/filter/CMakeLists.txt b/gnuradio-core/src/lib/filter/CMakeLists.txt
index 02a72191c..facaff764 100644
--- a/gnuradio-core/src/lib/filter/CMakeLists.txt
+++ b/gnuradio-core/src/lib/filter/CMakeLists.txt
@@ -195,6 +195,9 @@ elseif(CMAKE_SYSTEM_PROCESSOR_x86 AND "${CMAKE_SYSTEM_PROCESSOR_x86}" STREQUAL "
${CMAKE_CURRENT_SOURCE_DIR}/short_dotprod_mmx.S
)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
+ if(CMAKE_COMPILER_IS_GNUCXX)
+ add_definitions(-maltivec)
+ endif()
list(APPEND gnuradio_core_sources
${CMAKE_CURRENT_SOURCE_DIR}/sysconfig_powerpc.cc
${CMAKE_CURRENT_SOURCE_DIR}/gr_fir_sysconfig_powerpc.cc
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/gnuradio-core/src/python/gnuradio/gr/qa_dc_blocker.py b/gnuradio-core/src/python/gnuradio/gr/qa_dc_blocker.py
index 0f6fa86f5..175735867 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_dc_blocker.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_dc_blocker.py
@@ -46,7 +46,7 @@ class test_dc_blocker(gr_unittest.TestCase):
# only test samples around 2D-2
result_data = dst.data()[60:65]
- self.assertFloatTuplesAlmostEqual (expected_result, result_data)
+ self.assertComplexTuplesAlmostEqual (expected_result, result_data)
def test_002(self):
''' Test impulse response - short form, cc '''
@@ -64,7 +64,7 @@ class test_dc_blocker(gr_unittest.TestCase):
# only test samples around D-1
result_data = dst.data()[29:34]
- self.assertFloatTuplesAlmostEqual (expected_result, result_data)
+ self.assertComplexTuplesAlmostEqual (expected_result, result_data)
def test_003(self):
diff --git a/gr-digital/python/qa_fll_band_edge.py b/gr-digital/python/qa_fll_band_edge.py
index 7d89bc9ea..9e4ca079b 100755
--- a/gr-digital/python/qa_fll_band_edge.py
+++ b/gr-digital/python/qa_fll_band_edge.py
@@ -78,7 +78,7 @@ class test_fll_band_edge_cc(gr_unittest.TestCase):
dst_data = self.vsnk_frq.data()[N:]
expected_result = len(dst_data)* [-0.20,]
- self.assertComplexTuplesAlmostEqual (expected_result, dst_data, 4)
+ self.assertFloatTuplesAlmostEqual (expected_result, dst_data, 4)
if __name__ == '__main__':
gr_unittest.run(test_fll_band_edge_cc, "test_fll_band_edge_cc.xml")
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:
diff --git a/gruel/src/lib/pmt/CMakeLists.txt b/gruel/src/lib/pmt/CMakeLists.txt
index dc70f03d7..72bd27a04 100644
--- a/gruel/src/lib/pmt/CMakeLists.txt
+++ b/gruel/src/lib/pmt/CMakeLists.txt
@@ -67,7 +67,7 @@ add_custom_command(
${CMAKE_CURRENT_SOURCE_DIR}/unv_template.h.t
${CMAKE_CURRENT_SOURCE_DIR}/unv_template.cc.t
${CMAKE_CURRENT_SOURCE_DIR}/unv_qa_template.cc.t
- COMMAND ${PYTHON_EXECUTABLE} -B -c
+ COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} -c
\"import os,sys\;srcdir='${CMAKE_CURRENT_SOURCE_DIR}'\;sys.path.append(srcdir)\;os.environ['srcdir']=srcdir\;from generate_unv import main\;main()\"
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)