summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2016-09-16 11:56:38 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2016-09-16 11:58:58 +0200
commit09e77d080b280948ec137d5026ad373105c4f190 (patch)
tree37eabcebdbf3382669ce6bd70af1c71e4c5cbe66
parent4030943945ac5c69cb16d44c43f73105c92a2baf (diff)
downloaddabmux-09e77d080b280948ec137d5026ad373105c4f190.tar.gz
dabmux-09e77d080b280948ec137d5026ad373105c4f190.tar.bz2
dabmux-09e77d080b280948ec137d5026ad373105c4f190.zip
Remove libfec build dependency
-rw-r--r--.travis.yml12
-rw-r--r--INSTALL.md21
-rw-r--r--configure.ac4
-rw-r--r--src/Makefile.am125
-rw-r--r--src/ReedSolomon.cpp2
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
@@ -21,16 +21,6 @@ compiler:
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
make
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 <string.h> // For memcpy
extern "C" {
-#include <fec.h>
+#include "fec/fec.h"
}
#include <assert.h>
#include <stdlib.h>