diff options
author | eb | 2006-08-04 01:54:23 +0000 |
---|---|---|
committer | eb | 2006-08-04 01:54:23 +0000 |
commit | 559f82a0d10f604b0b27cfb8663d93b1625dbd8b (patch) | |
tree | 627d34dbfd9d9d996b39a752c3b03de611ba07b1 /gnuradio-core | |
parent | fd4a4f2ae9e3c9ff989b1118ebeb5a15718b456c (diff) | |
download | gnuradio-559f82a0d10f604b0b27cfb8663d93b1625dbd8b.tar.gz gnuradio-559f82a0d10f604b0b27cfb8663d93b1625dbd8b.tar.bz2 gnuradio-559f82a0d10f604b0b27cfb8663d93b1625dbd8b.zip |
Cleaned up top-level README, and fixed or deleted lower level ones as
appropriate.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@3133 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gnuradio-core')
-rw-r--r-- | gnuradio-core/NEWS | 35 | ||||
-rw-r--r-- | gnuradio-core/README | 190 | ||||
-rw-r--r-- | gnuradio-core/README-win32-mingw-short.txt | 92 | ||||
-rw-r--r-- | gnuradio-core/README.hacking | 178 | ||||
-rw-r--r-- | gnuradio-core/TODO | 14 |
5 files changed, 0 insertions, 509 deletions
diff --git a/gnuradio-core/NEWS b/gnuradio-core/NEWS deleted file mode 100644 index bd9ab5371..000000000 --- a/gnuradio-core/NEWS +++ /dev/null @@ -1,35 +0,0 @@ -GNU Radio -- History of visible changes. - -Copyright (C) 2001, Free Software Foundation, Inc. -See the end for copying conditions. - -Please send GNU Radio bug reports to bug-gnuradio@fsf.org - -Version 0.2 - -* This the first "real release" - - -Version 0.1 - -* We're working toward the first alpha distribution - -* The build strategy is in the processes of being converted to use - automake. It is mostly complete, but there are still some untested directories - which still contain Makefile.in's - -------------------------------------------------------- -Copying information: - -Copyright (C) 2001, Free Software Foundation, Inc. - - Permission is granted to anyone to make or distribute verbatim copies - of this document as received, in any medium, provided that the - copyright notice and this permission notice are preserved, - thus giving the recipient permission to redistribute in turn. - - Permission is granted to distribute modified versions - of this document, or of portions of it, - under the above conditions, provided also that they - carry prominent notices stating who last changed them. - diff --git a/gnuradio-core/README b/gnuradio-core/README deleted file mode 100644 index dfc0ac8d5..000000000 --- a/gnuradio-core/README +++ /dev/null @@ -1,190 +0,0 @@ -# -# 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" - diff --git a/gnuradio-core/README-win32-mingw-short.txt b/gnuradio-core/README-win32-mingw-short.txt deleted file mode 100644 index 88338e3b7..000000000 --- a/gnuradio-core/README-win32-mingw-short.txt +++ /dev/null @@ -1,92 +0,0 @@ -Building and using gnuradio on windows (win32) using mingw - -Required tools and libraries - -MingW and Msys -Download the latest stable version from the mingw site oand follow their installation instructions) - -Python for windows version 2.4 (or higher) -You do not need to build this yourself. -You can just install the windows executable which you can find on the python site. -I am not sure if it will work if you have speces in your python pathname. -I recommend installing it in C:\Python24 or D:\Python24 - -Libtool -If you are building from cvs you need a recent libtool -msys comes with libtool, but the version distributed with current mingw doesn't work with gnuradio. -download, build and install a recent libtool - -cppunit -Build and install cppunit - -boost -build and install boost (maybe you can get away with only unpacking the source, we only use the boost header files) -If you build boost, you first have to download jam (boost jam) for win32. (Do not use build and use the cygwin version) - -build environment: -You need to have the following files on your PATH: -python.exe python24.dll libcppunit-1-10-2.dll libfftw3f-3.dll fftwf-wisdom.exe cppunit-config -If you have cygwin installed Make sure that NO cygwin executables are on your path. - -needed on PATH: -/usr/local/bin -/mingw/bin -/bin -/c/Python24/ python.exe -/c/Python24/libs python24.dll -/c/Python24/DLLs -/usr/local/bin or /mingw/bin or /my/special/installed/lib/folder/bin - libcppunit-1-10-2.dll - libfftw3f-3.dll - fftw-wisdom-to-conf - fftwf-wisdom.exe - cppunit-config -/c/WINNT/system32 -/c/WINNT - - -I made a little script set_clean_path.sh to set my path for building gnuradio where I just discard the original PATH (to get rid of the cygwin executables on my default path) and just include what is needed: - -#!/bin/sh -export PATH=".:/usr/local/bin:/mingw/bin:/bin:/c/Python24:/c/Python24/DLLs:/c/Python24/libs:/my/special/installed/lib/folder/bin:/c/WINNT/system32:/c/WINNT:/c/WINNT/System32/Wbem:. - -You need to source this script to set the PATH. -. ./set_clean_path.sh -(notice the extra dot and space in the beginning of the line, this means source this file. Sourcing means execute it and remember all environment variables set in this script) - -If you are building from cvs it is recommended that you edit bootstrap to your needs and use it -If you built a recent libtool and didn't overwrite the original libtool -(because you installed the new version in /usr/local) then you have to tell aclocal to use the more recent libtool m4 macros. -You can do this by appending -I /usr/local/share/aclocal to the aclocal commandline -I also changed the aclocal and automake invocations to use the most recent version in my bootstrap script -Here follows the bootstrap script I use - -#!/bin/sh -rm -fr config.cache autom4te*.cache - -aclocal-1.8 -I config -I /usr/local/share/aclocal -autoconf -autoheader -libtoolize --automake -automake-1.8 --add-missing - -If you run this script it will convert a clean cvs checkout to a version which you can configure, build and install - -So now you can configure gnuradio. -On win32 /mingw you need to give it a few parameters -You need to tell it where cppunit is installed -where boost include files are to be found -where the pkg-config of libfftw is to be found -to use a generic cpu (no 3Dnow,SSE,MMX) (This option will not be needed anymore soon) -If you have boost installed in C:\boost_1_32_0 and cppunit and fftw in /usr/local then you would need the following configur commandline -$ ./configure --with-md-cpu=generic --with-cppunit-prefix=/usr/local --with-boost-include-dir=/c/boost_1_32_0/include/boost-1_32 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig - -If everything went well you cannow do -make -make install - -Now you have a working gnuradio-core -Now you can go on building and installing gr-audio-windows and windows usrp and wxgui -remember that all gnuradio and python dlls need to be on your path to use gnuradio -The gnuradio dlls are installed at -/c/Python24/Lib/site-packages:/c/Python24/Lib/site-packages/gnuradio:/c/Python24/Lib/site-packages/gnuradio/gr diff --git a/gnuradio-core/README.hacking b/gnuradio-core/README.hacking deleted file mode 100644 index 7e211e0b3..000000000 --- a/gnuradio-core/README.hacking +++ /dev/null @@ -1,178 +0,0 @@ -# -*- Outline -*- -# -# Copyright 2004 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. -# - - -Random notes on coding conventions, some explanations about why things -aren't done differently, etc, etc, - - -* C++ and Python - -GNU Radio is now a hybrid system. Some parts of the system are built -in C++ and some of it in Python. In general, prefer Python to C++. -Signal processing primitives are still built in C++ for performance. - -It is no longer possible to build user applications entirely in C++. -Essential parts of the runtime system have been moved into Python. - - -* C++ namespaces - -In the cleanup process, I considered putting everything in the -gnuradio namespace and dropping the Gr|gr prefix. In fact, I think -it's probably the right idea, but when I tested it out, I ran into -problems with SWIG's handling of namespaces. Bottom line, SWIG -(1.3.21) got confused and generated bad code when I started playing -around with namespaces in a not particularly convoluted way. I saw -problems using the boost::shared_ptr template in combination with -classes defined in the gnuradio namespace. It wasn't pretty... - - -* Naming conventions - -Death to CamelCaseNames! We've returned to a kinder, gentler era. -We're now using the "STL style" naming convention with a couple of -modifications since we're not using namespaces. - -With the exception of macros and other constant values, all -identifiers shall be lower case with words_separated_like_this. - -Macros and constant values (e.g., enumerated values, -static const int FOO = 23) shall be in UPPER_CASE. - - -** Global names - -All globally visible names (types, functions, variables, consts, etc) -shall begin with a "package prefix", followed by an '_'. The bulk of -the code in GNU Radio logically belongs to the "gr" package, hence -names look like gr_open_file (...). - -Large coherent bodies of code may use other package prefixes, but -let's try to keep them to a well thought out list. See the list -below. - -*** Package prefixes - -These are the current package prefixes: - - gr_ Almost everything - - gri_ Implementation primitives. Sometimes we - have both a gr_<foo> and a gri_<foo>. In that case, - gr_<foo> would be derived from gr_block and gri_<foo> - would be the low level guts of the function. - - atsc_ Code related to the Advanced Television - Standards Committee HDTV implementation - - usrp_ Universal Software Radio Peripheral - - qa_ Quality Assurance. Test code. - - -** Class data members (instance variables) - -All class data members shall begin with d_<foo>. - -The big win is when you're staring at a block of code it's obvious -which of the things being assigned to persist outside of the block. -This also keeps you from having to be creative with parameter names -for methods and constructors. You just use the same name as the -instance variable, without the d_. - -class gr_wonderfulness { - std::string d_name; - double d_wonderfulness_factor; - -public: - gr_wonderfulness (std::string name, double wonderfulness_factor) - : d_name (name), d_wonderfulness_factor (wonderfulness_factor) - { - ... - } - ... -}; - - -** Class static data members (class variables) - -All class static data members shall begin with s_<foo>. - - -** File names - -Each significant class shall be contained in it's own file. The -declaration of class gr_foo shall be in gr_foo.h, the definition in -gr_foo.cc. - - - -* Storage management - -Strongly consider using the boost smart pointer templates, scoped_ptr -and shared_ptr. scoped_ptr should be used for locals that contain -pointers to objects that we need to delete when we exit the current -scope. shared_ptr implements transparent reference counting and is a -major win. You never have to worry about calling delete. The right -thing happens. - -See http://www.boost.org/libs/smart_ptr/smart_ptr.htm - - -* Unit tests - -Build unit tests for everything non-trivial and run them after every -change. Check out Extreme Programming: -http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap - -Unit tests should also be written for all examples. This should kill -off the bit rot we've been plagued with. - -** C++ unit tests - -For C++ we're using the cppunit framework. cppunit has its bad -smells, but it's mostly workable. http://cppunit.sf.net - -Currently each directory <dirname> contains files qa_<dirname>.{h,cc} -that bring together all the qa_<foo> test suites in the directory. -We ought to be able to automate this without too much trouble. - -The directory gnuradio-core/src/tests contains programs that run -the tests. test_all runs all of the registered C++ unit tests. - -As far as I can tell, the cppunit TestFactoryRegistry maybe able to be -tricked into doing what we want. As is, I don't think it's enough by -itself, since there's nothing dragging the qa* files out of the -library and into the program. I haven't tested out this idea. - -** Python unit tests - -We use the standard unittest package for unit testing of Python code. - - -* Misc tips - -ccache, a compiler cache, can really speed up your builds. -See http://ccache.samba.org/ - -Be sure to create links for gcc and g++ diff --git a/gnuradio-core/TODO b/gnuradio-core/TODO deleted file mode 100644 index f9521c29d..000000000 --- a/gnuradio-core/TODO +++ /dev/null @@ -1,14 +0,0 @@ -Have configure check for correct version of SWIG. -gr_swig checks, but doesn't set any variable that can be checked -afterwards. - -Failure to find SWIG should disable build of scripting directory - - -Have configure search for FFTW includes and libraries (use pkg-config -to find them) - -Come up with a consistent naming strategy and implement it! - -make o'scope display fast enough - |