From 50a0136a693f0f7f72f73c27e3f43ca3bb55d6b0 Mon Sep 17 00:00:00 2001 From: Vladimir Ulrich Date: Tue, 31 Mar 2015 20:51:37 +0300 Subject: [PATCH] [libs/fftw3] Moved from oldpackages and updated to a most recent version. Signed-off-by: Vladimir Ulrich --- libs/fftw3/Makefile | 119 ++++++++++++++++++++++++++ libs/fftw3/patches/001-makefile.patch | 20 +++++ 2 files changed, 139 insertions(+) create mode 100644 libs/fftw3/Makefile create mode 100644 libs/fftw3/patches/001-makefile.patch diff --git a/libs/fftw3/Makefile b/libs/fftw3/Makefile new file mode 100644 index 000000000..7d31b7381 --- /dev/null +++ b/libs/fftw3/Makefile @@ -0,0 +1,119 @@ +# +# Copyright (C) 2007-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=fftw3 +PKG_VERSION:=3.3.4 +PKG_RELEASE:=1 +PKG_LICENSE:=GPL-2.0+ + +PKG_SOURCE:=fftw-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://www.fftw.org +PKG_MD5SUM:=2edab8c06b24feeb3b82bbb3ebf3e7b3 + +PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/fftw-$(PKG_VERSION) +PKG_FIXUP:=autoreconf + +include $(INCLUDE_DIR)/package.mk + +define Package/fftw3 + SECTION:=libs + CATEGORY:=Libraries + DEPENDS:=@!avr32 +libpthread + VARIANT:=double + TITLE:=Fast Fourier transform library + URL:=http://www.fftw.org/ + MAINTAINER:=Vladimir Ulrich +endef + +define Package/fftw3f + $(call Package/fftw3) + VARIANT:=single + TITLE+= (single precision) +endef + +define Package/fftw3l + $(call Package/fftw3) + DEPENDS:=@BROKEN + VARIANT:=long-double + TITLE+= (long-double precision) +endef + +define Package/fftw3/description + FFTW is a collection of fast C routines for computing the + Discrete Fourier Transform in one or more dimensions. It + includes complex, real, and parallel transforms, and can + handle arbitrary array sizes efficiently. +endef + +define Package/fftw3f/description + $(call Package/fftw3/description) + + This package contains the single precision library. +endef + +define Package/fftw3l/description + $(call Package/fftw3/description) + + This package contains the long-double precision library. +endef + +TARGET_CFLAGS += $(FPIC) + +CONFIGURE_ARGS += \ + --prefix=/usr \ + --without-libiconv-prefix \ + --without-libintl-prefix \ + --enable-shared \ + --enable-threads \ + --enable-type-prefix \ + --disable-debug \ + --disable-fortran + +ifeq ($(BUILD_VARIANT), single) +CONFIGURE_ARGS += \ + --enable-single +endif + +ifeq ($(BUILD_VARIANT), long-double) +CONFIGURE_ARGS += \ + --enable-long-double +endif + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/fftw3.h $(1)/usr/include + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3*.{a,la} $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3*.so* $(1)/usr/lib + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/ +endef + +define Package/fftw3/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3.so* $(1)/usr/lib/ +endef + +define Package/fftw3f/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3f.so* $(1)/usr/lib/ +endef + +define Package/fftw3l/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3l.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,fftw3)) +$(eval $(call BuildPackage,fftw3f)) +$(eval $(call BuildPackage,fftw3l)) diff --git a/libs/fftw3/patches/001-makefile.patch b/libs/fftw3/patches/001-makefile.patch new file mode 100644 index 000000000..c5dd8571f --- /dev/null +++ b/libs/fftw3/patches/001-makefile.patch @@ -0,0 +1,20 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -232,7 +232,7 @@ + CTAGS = ctags + CSCOPE = cscope + DIST_SUBDIRS = support genfft kernel simd-support dft rdft reodft api \ +- libbench2 . threads tests mpi doc tools m4 ++ libbench2 . threads mpi doc tools m4 + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + distdir = $(PACKAGE)-$(VERSION) + top_distdir = $(distdir) +@@ -444,7 +444,7 @@ + # + @COMBINED_THREADS_TRUE@CHICKEN_EGG = threads . + SUBDIRS = support $(GENFFT) kernel simd-support dft rdft reodft api \ +-libbench2 $(CHICKEN_EGG) tests mpi doc tools m4 ++libbench2 $(CHICKEN_EGG) mpi m4 + + EXTRA_DIST = COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in + SIMD_LIBS = \