Browse Source

[libs/fftw3] Moved from oldpackages and updated to a most recent version.

Signed-off-by: Vladimir Ulrich <admin@evl.su>
Vladimir Ulrich 10 years ago
parent
commit
50a0136a69
2 changed files with 139 additions and 0 deletions
  1. 119
    0
      libs/fftw3/Makefile
  2. 20
    0
      libs/fftw3/patches/001-makefile.patch

+ 119
- 0
libs/fftw3/Makefile View File

@@ -0,0 +1,119 @@
1
+#
2
+# Copyright (C) 2007-2015 OpenWrt.org
3
+#
4
+# This is free software, licensed under the GNU General Public License v2.
5
+# See /LICENSE for more information.
6
+#
7
+
8
+include $(TOPDIR)/rules.mk
9
+
10
+PKG_NAME:=fftw3
11
+PKG_VERSION:=3.3.4
12
+PKG_RELEASE:=1
13
+PKG_LICENSE:=GPL-2.0+
14
+
15
+PKG_SOURCE:=fftw-$(PKG_VERSION).tar.gz
16
+PKG_SOURCE_URL:=http://www.fftw.org
17
+PKG_MD5SUM:=2edab8c06b24feeb3b82bbb3ebf3e7b3
18
+
19
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/fftw-$(PKG_VERSION)
20
+PKG_FIXUP:=autoreconf
21
+
22
+include $(INCLUDE_DIR)/package.mk
23
+
24
+define Package/fftw3
25
+  SECTION:=libs
26
+  CATEGORY:=Libraries
27
+  DEPENDS:=@!avr32 +libpthread
28
+  VARIANT:=double
29
+  TITLE:=Fast Fourier transform library
30
+  URL:=http://www.fftw.org/
31
+  MAINTAINER:=Vladimir Ulrich <admin@evl.su>
32
+endef
33
+
34
+define Package/fftw3f
35
+  $(call Package/fftw3)
36
+  VARIANT:=single
37
+  TITLE+= (single precision)
38
+endef
39
+
40
+define Package/fftw3l
41
+  $(call Package/fftw3)
42
+  DEPENDS:=@BROKEN
43
+  VARIANT:=long-double
44
+  TITLE+= (long-double precision)
45
+endef
46
+
47
+define Package/fftw3/description
48
+	FFTW is a collection of fast C routines for computing the
49
+	Discrete Fourier Transform in one or more dimensions. It
50
+	includes complex, real, and parallel transforms, and can
51
+	handle arbitrary array sizes efficiently.
52
+endef
53
+
54
+define Package/fftw3f/description
55
+  $(call Package/fftw3/description)
56
+
57
+  This package contains the single precision library.
58
+endef
59
+
60
+define Package/fftw3l/description
61
+  $(call Package/fftw3/description)
62
+
63
+  This package contains the long-double precision library.
64
+endef
65
+
66
+TARGET_CFLAGS += $(FPIC)
67
+
68
+CONFIGURE_ARGS += \
69
+	--prefix=/usr \
70
+	--without-libiconv-prefix \
71
+	--without-libintl-prefix \
72
+	--enable-shared \
73
+	--enable-threads \
74
+	--enable-type-prefix \
75
+	--disable-debug \
76
+	--disable-fortran
77
+
78
+ifeq ($(BUILD_VARIANT), single)
79
+CONFIGURE_ARGS += \
80
+	--enable-single
81
+endif
82
+
83
+ifeq ($(BUILD_VARIANT), long-double)
84
+CONFIGURE_ARGS += \
85
+	--enable-long-double
86
+endif
87
+
88
+define Build/Compile
89
+	$(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install
90
+endef
91
+
92
+define Build/InstallDev
93
+	$(INSTALL_DIR) $(1)/usr/include
94
+	$(CP) $(PKG_INSTALL_DIR)/usr/include/fftw3.h $(1)/usr/include
95
+	$(INSTALL_DIR) $(1)/usr/lib
96
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3*.{a,la} $(1)/usr/lib
97
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3*.so* $(1)/usr/lib
98
+	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
99
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
100
+endef
101
+
102
+define Package/fftw3/install
103
+	$(INSTALL_DIR) $(1)/usr/lib
104
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3.so* $(1)/usr/lib/
105
+endef
106
+
107
+define Package/fftw3f/install
108
+	$(INSTALL_DIR) $(1)/usr/lib
109
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3f.so* $(1)/usr/lib/
110
+endef
111
+
112
+define Package/fftw3l/install
113
+	$(INSTALL_DIR) $(1)/usr/lib
114
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3l.so* $(1)/usr/lib/
115
+endef
116
+
117
+$(eval $(call BuildPackage,fftw3))
118
+$(eval $(call BuildPackage,fftw3f))
119
+$(eval $(call BuildPackage,fftw3l))

+ 20
- 0
libs/fftw3/patches/001-makefile.patch View File

@@ -0,0 +1,20 @@
1
+--- a/Makefile.in
2
++++ b/Makefile.in
3
+@@ -232,7 +232,7 @@ 
4
+ CTAGS = ctags
5
+ CSCOPE = cscope
6
+ DIST_SUBDIRS = support genfft kernel simd-support dft rdft reodft api \
7
+-	libbench2 . threads tests mpi doc tools m4
8
++	libbench2 . threads mpi doc tools m4
9
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
10
+ distdir = $(PACKAGE)-$(VERSION)
11
+ top_distdir = $(distdir)
12
+@@ -444,7 +444,7 @@
13
+ #
14
+ @COMBINED_THREADS_TRUE@CHICKEN_EGG = threads .
15
+ SUBDIRS = support $(GENFFT) kernel simd-support dft rdft reodft api	\
16
+-libbench2 $(CHICKEN_EGG) tests mpi doc tools m4
17
++libbench2 $(CHICKEN_EGG) mpi m4
18
+ 
19
+ EXTRA_DIST = COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in
20
+ SIMD_LIBS = \