initial port of fftw-2.1.3:

--
FFTW is a free 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.  FFTW is typically faster than other
publically-available FFT implementations, and is even competitive
with vendor-tuned libraries.  (See our web page for extensive
benchmarks.) To achieve this performance, FFTW uses novel code-generation
and runtime self-optimization techniques (along with many other
tricks).

WWW: http://www.fftw.org/

Submitted by Nikolay Sturm <Nikolay.Sturm@desy.de>
This commit is contained in:
lebel 2001-07-01 23:10:44 +00:00
parent 5f3f8d882c
commit b852691a58
8 changed files with 225 additions and 0 deletions

38
math/fftw/Makefile Normal file
View File

@ -0,0 +1,38 @@
# $OpenBSD: Makefile,v 1.1.1.1 2001/07/01 23:10:44 lebel Exp $
# $FreeBSD: ports/math/fftw/Makefile,v 1.11 2000/06/16 21:51:38 asami Exp $
# Original from: Lars Koeller <Lars.Koeller@Uni-Bielefeld.DE>
COMMENT= "C routines for computing the Discrete Fourier Transform"
DISTNAME= fftw-2.1.3
CATEGORIES= math
NEED_VERSION= 1.417
HOMEPAGE= http://www.fftw.org/
MAINTAINER= Nikolay Sturm <Nikolay.Sturm@desy.de>
# GPL
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ftp://ftp.fftw.org/pub/fftw/ \
ftp://pm.cse.rmit.edu.au/pub/dsp/fftw/ \
ftp://ftp.kusastro.kyoto-u.ac.jp/pub/src/GNU/fftw/
SEPARATE_BUILD= concurrent
CONFIGURE_STYLE= gnu
.if ${MACHINE_ARCH} == "i386"
CONFIGURE_ARGS+= --enable-i386-hacks
.endif
CONFIGURE_ARGS+= ${CONFIGURE_SHARED}
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/fftw
${INSTALL_DATA} ${WRKSRC}/doc/fftw.ps ${PREFIX}/share/doc/fftw
.include <bsd.port.mk>

3
math/fftw/files/md5 Normal file
View File

@ -0,0 +1,3 @@
MD5 (fftw-2.1.3.tar.gz) = c6c51a4243f0f998ae4c9416108ebba0
RMD160 (fftw-2.1.3.tar.gz) = e5e672a22d990a162a5dd4aad2e1af4c7a67ed8d
SHA1 (fftw-2.1.3.tar.gz) = 5796f2f904f66630024bf130880ec845333cda18

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-doc_fftw_texi,v 1.1.1.1 2001/07/01 23:10:44 lebel Exp $
--- doc/fftw.texi.orig Mon Nov 8 02:41:53 1999
+++ doc/fftw.texi Sat Jun 30 13:53:48 2001
@@ -5,6 +5,12 @@
@settitle FFTW
@c %**end of header
+@dircategory C library code
+@direntry
+* FFTW: (fftw). Routines for computing the
+ Discrete Fourier Transform.
+@end direntry
+
@include version.texi
@setchapternewpage odd
@c define constant index (ct)

View File

@ -0,0 +1,52 @@
$OpenBSD: patch-ltconfig,v 1.1.1.1 2001/07/01 23:10:44 lebel Exp $
--- ltconfig.orig Mon May 14 06:37:34 2001
+++ ltconfig Tue May 15 12:16:00 2001
@@ -1105,6 +1105,9 @@ cygwin* | mingw*)
with_gnu_ld=no
fi
;;
+openbsd*)
+ with_gnu_ld=no
+ ;;
esac
@@ -1396,10 +1399,21 @@ else
;;
openbsd*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
- hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linkopts'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ if [ "`/usr/bin/file /usr/lib/libc.so.* | grep ELF`" != "" ]; then
+ export_dynamic_flag_spec='${wl}-E'
+ fi
+ ;;
+ esac
;;
os2*)
@@ -1997,13 +2011,10 @@ netbsd*)
openbsd*)
version_type=sunos
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- need_version=no
- fi
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
+ deplibs_check_method='pass_all'
;;
os2*)

View File

@ -0,0 +1,83 @@
$OpenBSD: patch-ltmain.sh,v 1.1.1.1 2001/07/01 23:10:44 lebel Exp $
--- ltmain.sh.orig Mon May 14 06:37:34 2001
+++ ltmain.sh Tue May 15 12:16:00 2001
@@ -1079,6 +1079,17 @@ compiler."
# These systems don't actually have c library (as such)
continue
;;
+ *-*-openbsd*)
+ # Do not include libc due to us having libc/libc_r.
+ continue
+ ;;
+ esac
+ elif test "$arg" = "-lc_r"; then
+ case "$host" in
+ *-*-openbsd*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
esac
elif test "$arg" = "-lm"; then
case "$host" in
@@ -1091,6 +1102,10 @@ compiler."
deplibs="$deplibs $arg"
;;
+ -?thread)
+ deplibs="$deplibs $arg"
+ ;;
+
-module)
module=yes
continue
@@ -1795,6 +1810,9 @@ compiler."
*-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
# these systems don't actually have a c library (as such)!
;;
+ *-*-openbsd*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
*)
# Add libc to deplibs on all other systems.
deplibs="$deplibs -lc"
@@ -3555,40 +3573,6 @@ libdir='$install_libdir'\
# Exit here if they wanted silent mode.
test "$show" = : && exit 0
- echo "----------------------------------------------------------------------"
- echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- echo " $libdir"
- done
- echo
- echo "If you ever happen to want to link against installed libraries"
- echo "in a given directory, LIBDIR, you must either use libtool, and"
- echo "specify the full pathname of the library, or use \`-LLIBDIR'"
- echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- echo " during execution"
- fi
- if test -n "$runpath_var"; then
- echo " - add LIBDIR to the \`$runpath_var' environment variable"
- echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- echo
- echo "See any operating system documentation about shared libraries for"
- echo "more information, such as the ld(1) and ld.so(8) manual pages."
- echo "----------------------------------------------------------------------"
exit 0
;;

11
math/fftw/pkg/DESCR Normal file
View File

@ -0,0 +1,11 @@
FFTW is a free 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. FFTW is typically faster than other
publically-available FFT implementations, and is even competitive
with vendor-tuned libraries. (See our web page for extensive
benchmarks.) To achieve this performance, FFTW uses novel code-generation
and runtime self-optimization techniques (along with many other
tricks).
WWW: ${HOMEPAGE}

View File

@ -0,0 +1,4 @@
@comment $OpenBSD: PFRAG.shared,v 1.1.1.1 2001/07/01 23:10:44 lebel Exp $
lib/libfftw.so.2.5
lib/librfftw.so.2.5
DYNLIBDIR(%D/lib)

18
math/fftw/pkg/PLIST Normal file
View File

@ -0,0 +1,18 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2001/07/01 23:10:44 lebel Exp $
include/fftw.h
include/rfftw.h
@unexec install-info --delete --info-dir=%D/info %D/info/fftw.info
info/fftw.info
info/fftw.info-1
info/fftw.info-2
info/fftw.info-3
info/fftw.info-4
info/fftw.info-5
@exec install-info --info-dir=%D/info %D/info/fftw.info
lib/libfftw.a
lib/libfftw.la
lib/librfftw.a
lib/librfftw.la
%%SHARED%%
share/doc/fftw/fftw.ps
@dirrm share/doc/fftw