include(cmake/BuildCodec2.cmake)
endif(NOT USE_STATIC_CODEC2)
+#
+# Find speex library
+#
+message(STATUS "Looking for Speex DSP library.")
+find_path(SPEEXDSP_INCLUDE_DIR speex/speex.h)
+find_library(SPEEXDSP_LIBRARY speexdsp)
+message(STATUS " Speex DSP headers: ${SPEEXDSP_INCLUDE_DIR}")
+message(STATUS " Speex DSP library: ${SPEEXDSP_LIBRARY}")
+if(SPEEXDSP_INCLUDE_DIR AND SPEEXDSP_LIBRARY)
+ include_directories(${SPEEXDSP_INCLUDE_DIR})
+ list(APPEND FREEDV_LINK_LIBS ${SPEEXDSP_LIBRARY})
+else(SPEEXDSP_INCLUDE_DIR AND SPEEXDSP_LIBRARY)
+ message(FATAL_ERROR "Speex DSP library not found!")
+endif(SPEEXDSP_INCLUDE_DIR AND SPEEXDSP_LIBRARY)
# Freedv
add_subdirectory(src)
+++ /dev/null
-README.linux for fdmdv2
-Created by David Rowe
-Oct 14 2012
-
-BUILDING FreeDV for Linux
-=========================
-
-1. FreeDV was developed on Ubuntu 9.1 and 10.04 systems. It has been
- tested on OSS (Ubuntu 9.1) and ALSA (Ubuntu 10.04) sound systems.
-
-2. A typical ALSA installation (e.g., Ubuntu 10.04) first install the
- following packages:
-
- $ sudo apt-get install libgtk2.0-dev libsamplerate0-dev libsndfile1-dev libasound2-dev
-
-3. If you would like to use OSS rather than ALSA do not install libasound2-dev.
-
-4. Makefile.linux will download the libraries you need, configure and
- build them, then build FreeDV. Makefile.linux will _not_ install
- any of the libraries built for FreeDV on your system.
-
- cd fdmdv2/src
- make -f Makefile.linux
-
-Linux usage Notes
-=================
-
-1. Config is stored in ~/.FreeDV, rm this file to restore defaults
-
-
-TODO
-====
-
-[ ] Stopping Waterfall
- + When Stop pressed lower 25% of Waterfall isn't erased
-
-[ ] release clean up
- [ ] remove/comment out debug printfs
- [ ] help about with URL (hyperlink?) to web site & donations
- [ ] buffer sizes, maybe make a config number
- [ ] tool tip help for audio config dialog
-
-IDEAS
-=====
-
-1. Tabbed page option that draws block diagram of system and draws
- line between sound devices and modem blocks. Lines move depending
- if we are in sync, audio pass thru etc
-
-2. Way to I/O to/from files on each "port", for example:
- + monitor input speech or feed input speech
-
-3. (Thomas Kocourek n4fwd) Context sensitive help.
-
-4. Look at how people hook up and use program, stop common mistakes or assumptions
-
-5. Squelch implementation. Effect of SNR bouncing around might be to
- have audio cut in and out. We might need a better way of
- triggering mute, such as amplitude of pilots, or smoother SNR. Or
- hysteresis in Squelch.
-
-User Manual Notes
------------------
-
-Count 5 seconds when removing/installing USB sound devices before
-pressing refesh.
-
-Describe what a valid one card and two card configuration looks like.
-Draw a block diagram, image of set up dialog.
-
-What a good scatter diagram/spectrum looks like
-
-Setting up in audio loopback
-
-Right click drag tabs, new window, tab order
Assuming the freedv-dev sources is checked out into ~/fdmdv2-dev:
-$ cd
-$ mkdir tmp
-$ cd tmp
-$ cmake -DBOOTSTRAP_WXWIDGETS=TRUE -DUSE_STATIC_CODEC2=TRUE -DUSE_STATIC_PORTAUDIO=TRUE ~/fdmdv2-dev
+$ cd fdmdv2-dev
+$ mkdir build_linux
+$ cd build_linux
+$ cmake -DBOOTSTRAP_WXWIDGETS=TRUE ~/fdmdv2-dev
$ make
[wxWidgets builds]
-$ cmake .
+
+Then you can use your local codec-dev, something like:
+
+$ cmake cmake -DBOOTSTRAP_WXWIDGETS=TRUE -DCODEC2_INCLUDE_DIR=/home/david/codec2-dev/src -DCODEC2_LIBRARY=/home/david/codec2-dev/build_linux/src/libcodec2.so -DUSE_STATIC_CODEC2=FALSE -DUSE_STATIC_PORTAUDIO=TRUE -DUSE_STATIC_SOX=TRUE ../
+
+OR build a local copy of codec2-dev:
+
+$ cmake cmake -DBOOTSTRAP_WXWIDGETS=TRUE -DUSE_STATIC_CODEC2=TRUE -DUSE_STATIC_PORTAUDIO=TRUE -DUSE_STATIC_SOX=TRUE ../
+
$ make
[FreeDV builds]
$ ./src/freedv
+Note: add "-DCMAKE_BUILD_TYPE=Debug" the list above for debug (gcc -g) buildthat include source line numbers.
+
Quickstart 2
------------
-Assumes you have all the dependant libraries:
+Assuming you have all the dependant libraries:
$ cd /path/to/fdmdv2
$ mkdir build_linux
Building and installing on FreeBSD
====================================
+As per "Quickstart 2" above but change build_linux to build_freebsd
+
=======
Editing
=======