[package] libs: add packages for fftw3f and fftw3l
[openwrt/svn-archive/archive.git] / libs / fftw3 / Makefile
index 734f8a75b7a8da15a691f21a964b12bfb3e90b8e..734050db72887a9d98d49aa3d6f7136f22bf19df 100644 (file)
@@ -1,39 +1,63 @@
-# 
-# Copyright (C) 2007 OpenWrt.org
+#
+# Copyright (C) 2007-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
-# $Id: $
+#
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fftw3
-PKG_VERSION:=3.1.2
-
+PKG_VERSION:=3.2.2
+PKG_RELEASE:=2
 
-PKG_SOURCE_URL:=http://www.fftw.org/
-PKG_SOURCE:=fftw-3.1.2.tar.gz
-PKG_MD5SUM:=08f2e21c9fd02f4be2bd53a62592afa4
+PKG_SOURCE:=fftw-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://www.fftw.org
+PKG_MD5SUM:=b616e5c91218cc778b5aa735fefb61ae
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/fftw-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/fftw-$(PKG_VERSION)
+PKG_FIXUP:=libtool
 
 include $(INCLUDE_DIR)/package.mk
 
 define Package/fftw3
-  SECTION:=Libraries
+  SECTION:=libs
   CATEGORY:=Libraries
   DEPENDS:=@!avr32
+  VARIANT:=double
   TITLE:=Fast Fourier transform library
   URL:=http://www.fftw.org/
 endef
 
+define Package/fftw3f
+  $(call Package/fftw3)
+  VARIANT:=single
+  TITLE+= (single precision)
+endef
+
+define Package/fftw3l
+  $(call Package/fftw3)
+  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.
-       http://www.fftw.org/
+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)
@@ -45,20 +69,32 @@ CONFIGURE_ARGS += \
        --disable-nls \
        --enable-shared \
        --enable-threads \
-       --enable-double \
        --enable-type-prefix \
        --disable-debug \
-       --disable-fortran \
+       --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
-       mkdir -p $(1)/usr/include
+       $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/fftw3.h $(1)/usr/include
-       mkdir -p $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3*.{a,so,la} $(1)/usr/lib
+       $(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
@@ -66,4 +102,16 @@ define Package/fftw3/install
        $(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))