Commit f9e4ccac authored by guillaume william brs's avatar guillaume william brs Committed by Thomas Petazzoni
Browse files

liquid-dsp: new package



[Thomas:
  - add patch to fix autoreconf issue, and use LIQUID_DSP_AUTORECONF =
    YES instead of an horrible hack calling aclocal/autoconf manually.
  - use the github macro instead of hand-coding <pkg>_SITE and
    <pkg>_SITE_METHOD. This allows to remove <pkg>_SITE_METHOD
    entirely.
  - use a full hash as the <pkg>_VERSION
  - remove trailing whitespace everywhere.
  - use one single assignment of LIQUID_DSP_CONF_OPTS
  - fix the comment about the eglibc/musl dependency (it was only
    mentioning eglibc, and the condition was inverted)
  - add the musl/glibc dependency on the package option itself
  - make the package depend on dynamic library support, since the
    makefile unconditionally builds a shared library.
  - add hash file.]

Signed-off-by: default avatarGuillaume William Bres <guillaume.bressaix@gmail.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent eec69cdc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1122,6 +1122,7 @@ comment "linux-pam plugins"
	source "package/libpam-radius-auth/Config.in"
	source "package/libpam-tacplus/Config.in"
endif
	source "package/liquid-dsp/Config.in"
	source "package/lttng-libust/Config.in"
	source "package/mpc/Config.in"
	source "package/mpdecimal/Config.in"
+45 −0
Original line number Diff line number Diff line
From c9d239490d47d5dd3d7d7b8b7d9007171c5f60ce Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sun, 11 Oct 2015 15:27:09 +0200
Subject: [PATCH] configure.ac: use AC_CONFIG_MACRO_DIR

Instead of having to explicitly pass -I./scripts when running aclocal,
use the AC_CONFIG_MACRO_DIR() macro in configure.ac. This allows to
use "autoreconf" normally, without any hacks.

Submitted upstream at https://github.com/jgaeddert/liquid-dsp/pull/15.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 bootstrap.sh | 2 +-
 configure.ac | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/bootstrap.sh b/bootstrap.sh
index 640e01d..eb4894e 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -27,7 +27,7 @@
 #
 
 rm -f config.cache aclocal.m4
-aclocal -I./scripts
+aclocal
 autoconf
 autoheader
 #automake --foreign --add-missing
diff --git a/configure.ac b/configure.ac
index a9ad1d7..3b1ba68 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,6 +25,7 @@
 
 AC_INIT([liquid-dsp],[1.2.0],[support@liquidsdr.org])
 AC_CONFIG_SRCDIR([src/libliquid.c])
+AC_CONFIG_MACRO_DIR([scripts])
 
 # permit auxiliary scripts directory (e.g. config.sub, config.guess, install-sh)
 AC_CONFIG_AUX_DIR(scripts/)
-- 
2.6.1
+24 −0
Original line number Diff line number Diff line
comment "liquid-dsp requires a (e)glibc/musl toolchain w/ dynamic library"
	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || BR2_STATIC_LIBS

config BR2_PACKAGE_LIQUID_DSP
	bool "liquid-dsp"
	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
	depends on !BR2_STATIC_LIBS
	help
	  Liquid-DSP is a free and open-source signal processing
	  library for software-defined radios written in C.  Its
	  purpose is to provide a set of extensible DSP modules that
	  do no rely on external dependencies or cumbersome
	  frameworks.

	  http://liquidsdr.org/

if BR2_PACKAGE_LIQUID_DSP

config BR2_PACKAGE_LIQUID_DSP_FAST
	bool "optimize for speed over accuracy"
	help
	  Optimize for speed over accuracy.

endif
+2 −0
Original line number Diff line number Diff line
# Locally calculated
sha256 4b6dcb0846ed884c55984494adef721f910ac6f895174b31ec52138263842637 liquid-dsp-df5a459fa05dba4199c1299555891104cc1fdca7.tar.gz
+39 −0
Original line number Diff line number Diff line
################################################################################
#
# liquid-dsp
#
################################################################################

LIQUID_DSP_VERSION = df5a459fa05dba4199c1299555891104cc1fdca7
LIQUID_DSP_SITE = $(call github,jgaeddert,liquid-dsp,$(LIQUID_DSP_VERSION))
LIQUID_DSP_LICENSE = MIT
LIQUID_DSP_LICENSE_FILES = COPYING
LIQUID_DSP_INSTALL_STAGING = YES
LIQUID_DSP_AUTORECONF = YES

LIQUID_DSP_CFLAGS = $(TARGET_CFLAGS)
LIQUID_DSP_LDFLAGS = $(TARGET_LDFLAGS)

# Speed over accuracy trade off
ifeq ($(BR2_PACKAGE_LIQUID_DSP_FAST),y)
LIQUID_DSP_CFLAGS += -ffast-math
endif

# use FFTW instead of built-in FFT
ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y)
LIQUID_DSP_LDFLAGS += -lfftw3f
endif

ifeq ($(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),y)
LIQUID_DSP_LDFLAGS += -lfftw3
endif

ifeq ($(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),y)
LIQUID_DSP_LDFLAGS += -lfftw3l
endif

LIQUID_DSP_CONF_OPTS += \
	CFLAGS="$(LIQUID_DSP_CFLAGS)" \
	LDFLAGS="$(LIQUID_DSP_LDFLAGS)"

$(eval $(autotools-package))