Skip to content

Commit

Permalink
package/fftw: prepare for splitting into multiple packages
Browse files Browse the repository at this point in the history
In preparation for splitting into multiple packages, this commit
changes the fftw.mk package to use FFTW_COMMON_CONF_OPTS,
FFTW_COMMON_CONF_ENV and FFTW_COMMON_CFLAGS, which will be re-used by
the soon-to-be-introduced per-precision packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  • Loading branch information
tpetazzoni committed Feb 6, 2019
1 parent 9cc7a12 commit da44a9e
Showing 1 changed file with 21 additions and 19 deletions.
40 changes: 21 additions & 19 deletions package/fftw/fftw.mk
Original file line number Diff line number Diff line change
Expand Up @@ -12,38 +12,40 @@ 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"
FFTW_COMMON_CONF_OPTS += --enable-fortran
FFTW_COMMON_CONF_ENV += FLIBS="-lgfortran -lm"
else
FFTW_CONF_OPTS += --disable-fortran
FFTW_COMMON_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)
FFTW_COMMON_CFLAGS = $(TARGET_CFLAGS)
ifeq ($(BR2_PACKAGE_FFTW_FAST),y)
FFTW_CFLAGS += -O3 -ffast-math
FFTW_COMMON_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
FFTW_COMMON_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE),--enable,--disable)-sse
FFTW_COMMON_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)
FFTW_COMMON_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),--enable,--disable)-neon
FFTW_COMMON_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
FFTW_COMMON_CONF_OPTS += --enable-threads
FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--without,--with)-combined-threads
else
FFTW_CONF_OPTS += --disable-threads
FFTW_COMMON_CONF_OPTS += --disable-threads
endif
FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp

FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)"
FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp

FFTW_CONF_ENV = $(FFTW_COMMON_CONF_ENV)
FFTW_CONF_OPTS += \
$(FFTW_COMMON_CONF_OPTS) \
$(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),--enable,--disable)-single \
$(if $(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),--enable,--disable)-long-double \
$(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision \
CFLAGS="$(FFTW_COMMON_CFLAGS)"

$(eval $(autotools-package))

0 comments on commit da44a9e

Please sign in to comment.