From: drowe67 Date: Thu, 10 Jul 2014 01:52:52 +0000 (+0000) Subject: README and cmake tweaks X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=3ba3818dc3e34ce4435f6ed8b8836368593370ef;p=freetel-svn-tracking.git README and cmake tweaks git-svn-id: https://svn.code.sf.net/p/freetel/code@1748 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2-dev/CMakeLists.txt b/fdmdv2-dev/CMakeLists.txt index 49b88877..85cad8cc 100644 --- a/fdmdv2-dev/CMakeLists.txt +++ b/fdmdv2-dev/CMakeLists.txt @@ -421,6 +421,20 @@ else(NOT USE_STATIC_CODEC2) 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) diff --git a/fdmdv2-dev/README.linux b/fdmdv2-dev/README.linux deleted file mode 100644 index 37cf9e15..00000000 --- a/fdmdv2-dev/README.linux +++ /dev/null @@ -1,75 +0,0 @@ -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 diff --git a/fdmdv2-dev/README.txt b/fdmdv2-dev/README.txt index 6f9afc0f..f1f73836 100644 --- a/fdmdv2-dev/README.txt +++ b/fdmdv2-dev/README.txt @@ -9,21 +9,31 @@ Builds static versions of wxWidgets, portaudio, codec2-dev, which are commonly m 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 @@ -78,6 +88,8 @@ $ make install Building and installing on FreeBSD ==================================== +As per "Quickstart 2" above but change build_linux to build_freebsd + ======= Editing ======= diff --git a/fdmdv2-dev/cmake/BuildSox.cmake b/fdmdv2-dev/cmake/BuildSox.cmake index 8dae3adf..403e10a7 100644 --- a/fdmdv2-dev/cmake/BuildSox.cmake +++ b/fdmdv2-dev/cmake/BuildSox.cmake @@ -1,4 +1,4 @@ -set(SOX_TARBALL "sox-14.4.1") +set(SOX_TARBALL "sox-14.4.0") # required linking libraries on linux. Not sure about windows. find_library(ALSA_LIBRARIES asound)