diff options
Diffstat (limited to 'gnuradio-core/README')
-rw-r--r-- | gnuradio-core/README | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/gnuradio-core/README b/gnuradio-core/README new file mode 100644 index 000000000..dfc0ac8d5 --- /dev/null +++ b/gnuradio-core/README @@ -0,0 +1,190 @@ +# +# Copyright 2001,2002,2003,2004,2005 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 2, 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., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +# + +------------------------------------------------------------------------------- + + IMPORTANT + +------------------------------------------------------------------------------- + +GNU Radio is now broken up into several packages. You're looking at +the gnuradio-core. You'll probably want some or all of these too. +Build and install them in the order listed here: + + gnuradio-core # main library + gnuradio-examples # examples + gr-audio-alsa # support for sounds cards using ALSA (prefered under GNU/Linux) + gr-audio-oss # support for sounds cards using OSS + gr-audio-jack # support for JACK Audio Connection Kit + gr-audio-windows # support for sounds cards using Windows Wave + gr-comedi # support for DAQ cards using COMEDI + gr-wxgui # GUI framework built on wxPython + usrp # non-GNU Radio specific portion of usrp + gr-usrp # glues usrp into GNU Radio + mc4020 # GNU/Linux driver for Measurement Computing PCI-DAS4020/12 A/D board + gr-mc4020 # the glue that ties the mc4020 driver into GNU Radio + + +------------------------------------------------------------------------------- + + KNOWN INCOMPATIBILITIES + + + GNU Radio triggers bugs in g++ 3.3 for X86. DO NOT USE GCC 3.3. + gcc 3.2 and 3.4 are known to work well. + +------------------------------------------------------------------------------- + +Prerequisites (you may already have these): + +(1) 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. + + +(2) 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. + + +(3) Python 2.3 or later http://www.python.org + +Python 2.3 or later is now required. If your distribution splits +python into a bunch of separate RPMS including python-devel or +libpython you'll most likely need those too. + + +(4) Numeric python library http://numeric.scipy.org + +Provides a high performance array type for Python. + + +(5) The Boost C++ Libraries http://www.boost.org + +We use the Smart Pointer library. Fedore Core 2 has a package for +this, boost-devel-1.31.0-7. Otherwise download the source and follow +the build instructions. They're a bit different from the normal +./configure && make + + +(6) cppunit 1.9.14 or later. http://cppunit.sourceforge.net + +Unit testing framework for C++. + + +(7) Simple Wrapper Interface Generator. http://www.swig.org + +These versions are known to work: + 1.3.23, 1.3.24, 1.3.25, 1.3.27, 1.3.28, 1.3.29 + +---------------------------------------------------------------- + +For the impatient, just do the following: + + $ ./configure + $ make + $ make check + $ make install + +If it doesn't work, fix it and send us a patch... + + +See http://www.gnu.org/software/gnuradio/ for an overview. +The project is hosted at http://savannah.gnu.org/projects/gnuradio/ + + +If you've got doxygen installed and provide the --enable-doxygen +configure option, the build process creates documentation for the +class hierarchy etc. Point your browser at +gnuradio-core/doc/html/index.html + + +To run the examples you'll need to set PYTHONPATH. +Note that the python version number in the path needs to match your +installed version of python. + + $ export PYTHONPATH=/usr/local/lib/python2.3/site-packages + +You may want to add this to your ~/.bash_profile + + + +---------------------------------------------------------------- + + Notes on building GNU Radio from the CVS repository + +---------------------------------------------------------------- + +If you're building from the CVS repository YOU MUST BE PLAYING BY THE +RULES THAT THE OTHER DEVELOPERS ARE USING. This is especially true +with regard to the versions of the tools below... + +Ensure that you've got THESE VERSIONS of the following tools: + + autoconf 2.57 or later + automake 1.7.4 or later + libtool 1.5 or later + swig 1.3.{23,24,25,27,28,29} + +If you're using earlier versions than these, don't expect the system +to build. Get these versions or something later. They're available +at any of the GNU mirrors. + +Then, check out a copy of GNU Radio. + +See http://www.gnu.org/software/gnuradio for directions on anonymous +access to the CVS repository. + +Then in the top level directory, execute + + $ ./bootstrap + +This builds configure from configure.ac and also builds all the +Makefile.in's from the Makefile.am's. + +Then carry on as usual: + + $ ./configure + $ make + $ make check + $ make install + + +For the easiest way to build from CVS, see +http://comsec.com/wiki?HowtoBuildFromCVS + + + +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: + + $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/lib + $ make CPPFLAGS="-I$HOME/local/include" + |