summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/fftw/Config.in13
-rw-r--r--package/fftw/fftw.mk7
2 files changed, 20 insertions, 0 deletions
diff --git a/package/fftw/Config.in b/package/fftw/Config.in
index 4cefa28edf..4a0706a6be 100644
--- a/package/fftw/Config.in
+++ b/package/fftw/Config.in
@@ -49,4 +49,17 @@ config BR2_PACKAGE_FFTW_PRECISION_QUAD
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
diff --git a/package/fftw/fftw.mk b/package/fftw/fftw.mk
index 78d36e97d7..c05012a8e4 100644
--- a/package/fftw/fftw.mk
+++ b/package/fftw/fftw.mk
@@ -14,4 +14,11 @@ FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),--enable,--disable)-
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 += -Ofast
+endif
+
+FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)"
+
$(eval $(autotools-package))
OpenPOWER on IntegriCloud