From 09e77d080b280948ec137d5026ad373105c4f190 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 16 Sep 2016 11:56:38 +0200 Subject: Remove libfec build dependency --- .travis.yml | 12 +---- INSTALL.md | 21 --------- configure.ac | 4 -- src/Makefile.am | 125 +++++++++++++++++++++++++++------------------------- src/ReedSolomon.cpp | 2 +- 5 files changed, 66 insertions(+), 98 deletions(-) diff --git a/.travis.yml b/.travis.yml index 791c9c2..6187082 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: c++ -sudo: required +#sudo: required dist: trusty addons: &addons @@ -20,16 +20,6 @@ compiler: - gcc script: - - | - pushd /tmp - git clone https://github.com/Opendigitalradio/ka9q-fec.git - cd ka9q-fec - mkdir build - cd build - cmake .. - make - sudo make install - popd - | ./bootstrap.sh CC=gcc-5 CXX=g++-5 ./configure --disable-output-edi diff --git a/INSTALL.md b/INSTALL.md index 0046f9e..4abc06f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,8 +1,6 @@ Required dependencies: ====================== -* libfec from Phil Karn, with compatibility patch: - [ka9q-fec](https://github.com/Opendigitalradio/ka9q-fec) * Boost 1.48 or later * ZeroMQ 4 from [http://www.zeromq.org](http://www.zeromq.org). Please prefer the zeromq from your distribution, but mind that some distributions @@ -12,17 +10,6 @@ Required dependencies: Simple install procedure using tarball release: =============================================== -Install libfec --------------- - - % git clone https://github.com/Opendigitalradio/ka9q-fec.git - % cd ka9q-fec - % ./bootstrap - % ./configure # Run the configure script - % make # Build the library - [as root] - % make install # Install the library - Install odr-dabmux ------------------ @@ -75,11 +62,3 @@ following command for a complete list: % ./configure --help -Notes about libfec -================== -The original libfec version from -[ka9q.net](http://www.ka9q.net/code/fec/fec-3.0.1.tar.bz2) -does not compile on x86\_64 nor on ARM. That is the reason why the patched -version is suggested. - -On x86 systems, the original version can also be used. diff --git a/configure.ac b/configure.ac index 15b902c..c04492c 100644 --- a/configure.ac +++ b/configure.ac @@ -58,11 +58,7 @@ AX_CXX_COMPILE_STDCXX_11(noext,mandatory) AC_CHECK_LIB([pthread], [pthread_create], [], AC_MSG_ERROR([libpthread is required])) AX_BOOST_BASE([1.48.0], [], AC_MSG_ERROR([BOOST 1.48 or later is required])) -# we need to check for libm before checking for fec AC_CHECK_LIB([m], [sin]) -AC_SEARCH_LIBS([init_rs_char], [fec], [], [ - AC_MSG_ERROR([unable to find libfec]) -]) # Checks for header files. AC_MSG_CHECKING([for OS type]) diff --git a/src/Makefile.am b/src/Makefile.am index 87d3eec..996ebb8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -26,9 +26,6 @@ else GITVERSION_FLAGS = endif -FEC_FLAGS = -FEC_LIBS =-lfec - bin_PROGRAMS=odr-dabmux zmqinput-keygen if HAVE_OUTPUT_RAW_TEST @@ -45,67 +42,73 @@ endif odr_dabmux_CFLAGS =-Wall -I$(FARSYNC_DIR) $(GITVERSION_FLAGS) odr_dabmux_CXXFLAGS =-Wall -I$(FARSYNC_DIR) $(GITVERSION_FLAGS) -odr_dabmux_LDADD =$(FEC_LIBS) $(ZMQ_LIBS) $(CURL_LIBS) \ - -lpthread -lboost_thread -lboost_system -lboost_regex +odr_dabmux_LDADD =$(ZMQ_LIBS) $(CURL_LIBS) \ + -lpthread -lboost_thread -lboost_system -lboost_regex + odr_dabmux_SOURCES =DabMux.cpp DabMux.h \ DabMultiplexer.cpp DabMultiplexer.h \ - dabInput.h dabInput.cpp \ - dabInputBridgeUdp.h dabInputBridgeUdp.cpp \ - dabInputDabplusFifo.h dabInputDabplusFifo.cpp \ - dabInputDabplusFile.h dabInputDabplusFile.cpp \ - dabInputDmbFile.h dabInputDmbFile.cpp \ - dabInputDmbUdp.h dabInputDmbUdp.cpp \ - dabInputEnhancedFifo.h dabInputEnhancedFifo.cpp \ - dabInputEnhancedPacketFile.h dabInputEnhancedPacketFile.cpp \ - dabInputFifo.h dabInputFifo.cpp \ - dabInputFile.h dabInputFile.cpp \ - dabInputMpegFifo.h dabInputMpegFifo.cpp \ - dabInputMpegFile.h dabInputMpegFile.cpp \ - dabInputPacketFile.h dabInputPacketFile.cpp \ - dabInputPrbs.h dabInputPrbs.cpp \ - dabInputRawFile.h dabInputRawFile.cpp \ - dabInputRawFifo.h dabInputRawFifo.cpp \ - dabInputTest.h dabInputTest.cpp \ - dabInputUdp.h dabInputUdp.cpp \ - dabInputZmq.h dabInputZmq.cpp \ - dabOutput/dabOutput.h \ - dabOutput/dabOutputFile.cpp \ - dabOutput/dabOutputFifo.cpp \ - dabOutput/dabOutputRaw.cpp \ - dabOutput/dabOutputSimul.cpp \ - dabOutput/dabOutputTcp.cpp \ - dabOutput/dabOutputUdp.cpp \ - dabOutput/dabOutputZMQ.cpp \ - dabOutput/edi/AFPacket.cpp dabOutput/edi/AFPacket.h \ - dabOutput/edi/TagItems.cpp dabOutput/edi/TagItems.h \ - dabOutput/edi/TagPacket.cpp dabOutput/edi/TagPacket.h \ - dabOutput/edi/PFT.cpp dabOutput/edi/PFT.h \ - ClockTAI.h ClockTAI.cpp \ - ConfigParser.cpp ConfigParser.h \ - Dmb.h Dmb.cpp \ - Eti.h Eti.cpp \ - InetAddress.h InetAddress.cpp \ - Interleaver.h Interleaver.cpp \ - Log.h Log.cpp \ - ManagementServer.h ManagementServer.cpp \ - MuxElements.cpp MuxElements.h \ - ParserCmdline.cpp ParserCmdline.h \ - PcDebug.h \ - ReedSolomon.h ReedSolomon.cpp \ - RemoteControl.cpp RemoteControl.h \ - TcpSocket.h TcpSocket.cpp \ - UdpSocket.h UdpSocket.cpp \ + dabInput.h dabInput.cpp \ + dabInputBridgeUdp.h dabInputBridgeUdp.cpp \ + dabInputDabplusFifo.h dabInputDabplusFifo.cpp \ + dabInputDabplusFile.h dabInputDabplusFile.cpp \ + dabInputDmbFile.h dabInputDmbFile.cpp \ + dabInputDmbUdp.h dabInputDmbUdp.cpp \ + dabInputEnhancedFifo.h dabInputEnhancedFifo.cpp \ + dabInputEnhancedPacketFile.h dabInputEnhancedPacketFile.cpp \ + dabInputFifo.h dabInputFifo.cpp \ + dabInputFile.h dabInputFile.cpp \ + dabInputMpegFifo.h dabInputMpegFifo.cpp \ + dabInputMpegFile.h dabInputMpegFile.cpp \ + dabInputPacketFile.h dabInputPacketFile.cpp \ + dabInputPrbs.h dabInputPrbs.cpp \ + dabInputRawFile.h dabInputRawFile.cpp \ + dabInputRawFifo.h dabInputRawFifo.cpp \ + dabInputTest.h dabInputTest.cpp \ + dabInputUdp.h dabInputUdp.cpp \ + dabInputZmq.h dabInputZmq.cpp \ + dabOutput/dabOutput.h \ + dabOutput/dabOutputFile.cpp \ + dabOutput/dabOutputFifo.cpp \ + dabOutput/dabOutputRaw.cpp \ + dabOutput/dabOutputSimul.cpp \ + dabOutput/dabOutputTcp.cpp \ + dabOutput/dabOutputUdp.cpp \ + dabOutput/dabOutputZMQ.cpp \ + dabOutput/edi/AFPacket.cpp dabOutput/edi/AFPacket.h \ + dabOutput/edi/TagItems.cpp dabOutput/edi/TagItems.h \ + dabOutput/edi/TagPacket.cpp dabOutput/edi/TagPacket.h \ + dabOutput/edi/PFT.cpp dabOutput/edi/PFT.h \ + ClockTAI.h ClockTAI.cpp \ + ConfigParser.cpp ConfigParser.h \ + Dmb.h Dmb.cpp \ + Eti.h Eti.cpp \ + InetAddress.h InetAddress.cpp \ + Interleaver.h Interleaver.cpp \ + Log.h Log.cpp \ + ManagementServer.h ManagementServer.cpp \ + MuxElements.cpp MuxElements.h \ + ParserCmdline.cpp ParserCmdline.h \ + PcDebug.h \ + ReedSolomon.h ReedSolomon.cpp \ + RemoteControl.cpp RemoteControl.h \ + TcpSocket.h TcpSocket.cpp \ + UdpSocket.h UdpSocket.cpp \ ThreadsafeQueue.h \ - bridge.h bridge.c \ - crc.h crc.c \ - fig/FIG.h fig/FIG.cpp \ - fig/FIG0.cpp fig/FIG0.h \ - fig/FIG1.cpp fig/FIG1.h \ - fig/FIGCarousel.cpp fig/FIGCarousel.h \ - mpeg.h mpeg.c \ - prbs.h prbs.c \ - utils.cpp utils.h \ - zmq.hpp + bridge.h bridge.c \ + crc.h crc.c \ + fig/FIG.h fig/FIG.cpp \ + fig/FIG0.cpp fig/FIG0.h \ + fig/FIG1.cpp fig/FIG1.h \ + fig/FIGCarousel.cpp fig/FIGCarousel.h \ + mpeg.h mpeg.c \ + prbs.h prbs.c \ + utils.cpp utils.h \ + zmq.hpp \ + fec/char.h fec/rs-common.h \ + fec/decode_rs_char.c fec/decode_rs.h \ + fec/encode_rs_char.c fec/encode_rs.h \ + fec/fec.h \ + fec/init_rs_char.c fec/init_rs.h zmqinput_keygen_SOURCES = zmqinput-keygen.c zmqinput_keygen_LDADD = $(ZMQ_LIBS) diff --git a/src/ReedSolomon.cpp b/src/ReedSolomon.cpp index c72fb14..69e1191 100644 --- a/src/ReedSolomon.cpp +++ b/src/ReedSolomon.cpp @@ -26,7 +26,7 @@ #include // For memcpy extern "C" { -#include +#include "fec/fec.h" } #include #include -- cgit v1.2.3