Add buildroot 2018-02

This commit is contained in:
Pascal Vizeli
2018-03-17 23:47:00 +00:00
parent 3776c47f83
commit 67742041ad
10007 changed files with 405098 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
config BR2_PACKAGE_FFTW
bool "fftw"
help
Library for computing Fast Fourier Transforms.
This library computes Fast Fourier Transforms (FFT) in one
or more dimensions. It is extremely fast. This package
contains the shared library version of the fftw libraries in
double precision.
http://www.fftw.org
if BR2_PACKAGE_FFTW
config BR2_PACKAGE_FFTW_USE_SSE
bool
config BR2_PACKAGE_FFTW_USE_SSE2
bool
config BR2_PACKAGE_FFTW_USE_NEON
bool
choice
prompt "fftw precision"
default BR2_PACKAGE_FFTW_PRECISION_DOUBLE
help
Selects fftw precision
config BR2_PACKAGE_FFTW_PRECISION_SINGLE
bool "single"
select BR2_PACKAGE_FFTW_USE_SSE if BR2_X86_CPU_HAS_SSE
select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2
select BR2_PACKAGE_FFTW_USE_NEON if BR2_ARM_CPU_HAS_NEON && !BR2_ARM_SOFT_FLOAT
help
Compile fftw in single precision, i.e. use 'float' for
floating point type.
config BR2_PACKAGE_FFTW_PRECISION_DOUBLE
bool "double"
select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2
help
Compile fftw in double precision (the default), i.e. use
'double' for floating point type.
config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE
bool "long double"
# long-double precision require long-double trigonometric routines
depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \
(BR2_arm || BR2_mips || BR2_mipsel))
help
Compile fftw in long double precision, i.e. use 'long double'
for floating point type.
config BR2_PACKAGE_FFTW_PRECISION_QUAD
bool "quad"
# quad-precision needs to have a gcc with libquadmath
depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR
help
Compile fftw in quadruple precision, i.e. use '__float128' for
floating point type.
endchoice
config BR2_PACKAGE_FFTW_FAST
bool "optimise for speed over accuracy"
help
Optimise for fast math functions, at the expense of accuracy.
Say 'y' if you need speed and can live with inaccuracies in
the results. Say 'n' (the default) if accuracy is of utmost
importance.
This basically uses gcc's -Ofast optimisation level, which in
turn is basically using gcc's -ffast-math. See the gcc manual
for what this means.
endif

View File

@@ -0,0 +1,5 @@
# From http://www.fftw.org/fftw-3.3.7.tar.gz.md5sum
md5 0d5915d7d39b3253c1cc05030d79ac47 fftw-3.3.7.tar.gz
# Locally computed
sha256 3b609b7feba5230e8f6dd8d245ddbefac324c5a6ae4186947670d9ac2cd25573 fftw-3.3.7.tar.gz
sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING

View File

@@ -0,0 +1,49 @@
################################################################################
#
# fftw
#
################################################################################
FFTW_VERSION = 3.3.7
FFTW_SITE = http://www.fftw.org
FFTW_INSTALL_STAGING = YES
FFTW_LICENSE = GPL-2.0+
FFTW_LICENSE_FILES = COPYING
# fortran support only enables generation and installation of fortran sources
ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y)
FFTW_CONF_OPTS += --enable-fortran
FFTW_CONF_ENV += FLIBS="-lgfortran -lm"
else
FFTW_CONF_OPTS += --disable-fortran
endif
FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),--enable,--disable)-single
FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),--enable,--disable)-long-double
FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision
FFTW_CFLAGS = $(TARGET_CFLAGS)
ifeq ($(BR2_PACKAGE_FFTW_FAST),y)
FFTW_CFLAGS += -O3 -ffast-math
endif
# x86 optimisations
FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE),--enable,--disable)-sse
FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE2),--enable,--disable)-sse2
# ARM optimisations
FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),--enable,--disable)-neon
FFTW_CFLAGS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),-mfpu=neon)
# Generic optimisations
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
FFTW_CONF_OPTS += --enable-threads
FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--without,--with)-combined-threads
else
FFTW_CONF_OPTS += --disable-threads
endif
FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp
FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)"
$(eval $(autotools-package))