fftw: add compile precision option

fftw has options to select compile precision between single, long-double
and quad. These options are exclusives. This patch adds choice to select
precision option.

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
[yann.morin.1998@free.fr: use --disable-XXX when not enabled; reword
 prompts (default is not 'none' but 'double')
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: guillaume william brs <guillaume.bressaix@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Gwenhael Goavec-Merou 2015-03-16 17:31:20 +01:00 committed by Thomas Petazzoni
parent dd505a7e51
commit a990ed296d
2 changed files with 45 additions and 0 deletions

View file

@ -9,3 +9,44 @@ config BR2_PACKAGE_FFTW
double precision.
http://www.fftw.org
if BR2_PACKAGE_FFTW
choice
prompt "fftw precision"
default BR2_PACKAGE_FFTW_PRECISION_DOUBLE
help
Selects fftw precision
config BR2_PACKAGE_FFTW_PRECISION_SINGLE
bool "single"
help
Compile fftw in single precision, i.e. use 'float' for floating
point type.
config BR2_PACKAGE_FFTW_PRECISION_DOUBLE
bool "double"
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
endif

View file

@ -10,4 +10,8 @@ FFTW_INSTALL_STAGING = YES
FFTW_LICENSE = GPLv2+
FFTW_LICENSE_FILES = COPYING
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
$(eval $(autotools-package))