From: drowe67 Date: Tue, 8 Jul 2014 01:08:15 +0000 (+0000) Subject: Trying to get Win32 build running again, put readme and makefile.win32 back in X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=92dfe7d79afcdf7ace51f69691fd139227cbe1bb;p=freetel-svn-tracking.git Trying to get Win32 build running again, put readme and makefile.win32 back in git-svn-id: https://svn.code.sf.net/p/freetel/code@1737 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2-dev/README.Win32 b/fdmdv2-dev/README.Win32 new file mode 100644 index 00000000..c2244a2c --- /dev/null +++ b/fdmdv2-dev/README.Win32 @@ -0,0 +1,88 @@ +README.Win32 +David Rowe 27 Oct 2012 + +Debugging Under Windows +----------------------- + +printfs don't appear until after the program finishes. wxLogDebug() +works but you need to run DebugView available from +http://www.sysinternals.com to capture the messages. + +Building fdmdv2 & fdmdv-dev for Windows +--------------------------------------- + +Richard is currently working on a cmake build system for Win32, until +then the approach below is being used by David Rowe.Many variations +are possible: + +1. Install MinGW & the mysys shell + + pwd -W prints true Win32 directory + + I also installed emacs, "tortise svn", and "cmake" + +2. "make install" for various packages below put DLLs in /usr/local/lib + "cd /usr/local/lib; pwd -W" to find the Win32 directory + add this to the Windows PATH (Control Panel - System - Advanced) + +3. WxWidgets: + download 2.9.4 tar ball + mkdir build-debug; cd build-debug + ./configure --with-msw + make && make install + +4. PortAudio: + download latest V19 + ./configure --enable-cxx + make && make install + +5. libsndfile: + download lastest source tar ball (not Win32 binaries) + ./configure && make && make install + +6. libsamplerate: + download latest source tar ball: + http://www.mega-nerd.com/SRC/libsamplerate-0.1.8.tar.gz(not Win32 binaries) + ./configure && make && make install + +7. hamlib + + I couldn't get this to compile from source, so used the pre-built Win32 + DLLs: + + Download https://downloads.sourceforge.net/project/hamlib/hamlib/1.2.15.3/hamlib-win32-1.2.15.3.zip + Open hamlib-win32-1.2.15.3.zip with a GUI archive tool + Copy hamlib/include/* to /usr/local/include + Copy hamlib/bin/hamlib*.dll to /usr/local/lib + Copy hamlib/lib/gcc to /usr/local/lib + +8. sox (used for Filter - EQ) + + $ wget http://sourceforge.net/projects/sox/files/sox/14.4.0/sox-14.4.0.tar.gz + $ tar xvzf sox-14.4.0.tar.gz + $ ./configure --enable-shared=no --without-id3tag --without-png --disable-gomp --with-oggvorbis=no --with-oss=no --with-flac=no --disable-dl-sndfile --with-waveaudio=no + $ make && make install + + I couldn't find an install command line that worked, so manually copied the libs and include files. + +9. Speex (we use the DSP lib for noise reduction): + + $ wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz + $ tar xvzf speex-1.2rc1.tar.gz + $ cd speex-1.2rc1 + $ ./configure && make install + (ignore libogg warnings, we just want libspeexdsp.a) + +10. Codec 2 + $ check out codec-dev using tortise svn from: + wget https://freetel.svn.sourceforge.net/svnroot/freetel/codec2-dev + $ cd codec2-dev + $ mkdir build_win32 + $ cd build_win32 + $ cmake -G "MSYS Makefiles" .. + $ make + +11. freedv (dev version) + $ check out fdmdv2-dev using tortise svn from: + wget https://freetel.svn.sourceforge.net/svnroot/freetel/fdmdv-dev + $ cd fdmdv2-dev/src + $ make -f Makefile.Win32 + diff --git a/fdmdv2-dev/src/Makefile.win32 b/fdmdv2-dev/src/Makefile.win32 new file mode 100644 index 00000000..58e00d9d --- /dev/null +++ b/fdmdv2-dev/src/Makefile.win32 @@ -0,0 +1,53 @@ +# src/Makefile.win32 +# David Rowe 26 Oct 2012 +# +# Makefile for Win32 on msys/Mingw to help David R get up to speed +# +# $ make -f Makefile.Win32 + +CODEC2_PATH=$(HOME)/codec2-dev +INCLUDE_PATH=/usr/local/include + +WX_CONFIG=wx-config +WX_CPPFLAGS = $(shell $(WX_CONFIG) --cxxflags) -D__WXDEBUG__ +WX_LIBS = $(shell $(WX_CONFIG) --libs core, base, aui, adv, net) +SVN_REVISION=$(shell svnversion) +CODEC2_INC=$(CODEC2_PATH)/src +CODEC2_LIB=$(CODEC2_PATH)/src/.libs/libcodec2.a + +CPP_FLAGS = -D_NO_AUTOTOOLS_ -I$(INCLUDE_PATH) $(WX_CPPFLAGS) -I$(CODEC2_INC) -I../extern/include -I. -g -Wall -DSVN_REVISION=\"$(SVN_REVISION)\" +LIBS = $(WX_LIBS) $(CODEC2_LIB) -lm -lportaudiocpp -lportaudio -lpthread -lsndfile -lsamplerate -lhamlib -lsox -lctb-0.16 + +OBJS = topFrame.o \ +fdmdv2_main.o \ +fdmdv2_plot.o \ +fdmdv2_plot_scalar.o \ +fdmdv2_plot_scatter.o \ +fdmdv2_plot_spectrum.o \ +fdmdv2_plot_waterfall.o \ +fdmdv2_pa_wrapper.o \ +dlg_audiooptions.o \ +dlg_ptt.o \ +dlg_options.o \ +dlg_filter.o \ +varicode.o \ +sox_biquad.o \ +hamlib.o \ +../../codec2-dev/src/golay23.o + +HDRS = version.h dlg_audiooptions.h dlg_ptt.h dlg_filter.h fdmdv2_main.h fdmdv2_defines.h fdmdv2_plot.h fdmdv2_plot_scalar.h fdmdv2_plot_waterfall.h fdmdv2_plot_scatter.h fdmdv2_plot_spectrum.h fdmdv2_pa_wrapper.h topFrame.h dlg_audiooptions.h topFrame.h varicode.h ../../codec2-dev/src/golay23.h hamlib.h + +all: freedv + +freedv: $(OBJS) + g++ -o freedv $(OBJS) $(CPP_FLAGS) $(LIBS) + +%.o: %.cpp $(HDRS) Makefile.win32 + g++ $(CPP_FLAGS) -c $< -o $@ + +%.o: %.c $(HDRS) Makefile.win32 + gcc $(CPP_FLAGS) -c $< -o $@ + +clean: + rm -f *.o fdmdv2 +