pkgsrc/math/fftw/Makefile

43 lines
904 B
Makefile
Raw Normal View History

2017-01-22 15:49:23 +01:00
# $NetBSD: Makefile,v 1.55 2017/01/22 14:49:23 wiz Exp $
DISTNAME= fftw-3.3.6-pl1
2017-01-22 15:49:23 +01:00
PKGNAME= ${DISTNAME:S/-pl1/pl1/}
Changes 3.1: * Faster FFTW_ESTIMATE planner. * New (faster) algorithm for REDFT00/RODFT00 (type-I DCT/DST) of odd size. * "4-step" algorithm for faster FFTs of very large sizes (> 2^18). * Faster in-place real-data DFTs (for R2HC and HC2R r2r formats). * Faster in-place non-square transpositions (FFTW uses these internally for in-place FFTs, and you can also perform them explicitly using the guru interface). * Faster prime-size DFTs: implemented Bluestein's algorithm, as well as a zero-padded Rader variant to limit recursive use of Rader's algorithm. * SIMD support for split complex arrays. * Much faster Altivec/VMX performance. * New fftw_set_timelimit function to specify a (rough) upper bound to the planning time (does not affect ESTIMATE mode). * Removed --enable-3dnow support; use --enable-k7 instead. * FMA (fused multiply-add) version is now included in "standard" FFTW, and is enabled with --enable-fma (the default on PowerPC and Itanium). * Automatic detection of native architecture flag for gcc. New configure options: --enable-portable-binary and --with-gcc-arch=<arch>, for people distributing compiled binaries of FFTW (see manual). * Automatic detection of Altivec under Linux with gcc 3.4 (so that same binary should work on both Altivec and non-Altivec PowerPCs). * Compiler-specific tweaks/flags/workarounds for gcc 3.4, xlc, HP/UX, Solaris/Intel. * Various documentation clarifications. * 64-bit clean. (Fixes a bug affecting the split guru planner on 64-bit machines, reported by David Necas.) * Fixed Debian bug no.259612: inadvertent use of SSE instructions on non-SSE machines (causing a crash) for --enable-sse binaries. * Fixed bug that caused HC2R transforms to destroy the input in certain cases, even if the user specified FFTW_PRESERVE_INPUT. * Fixed bug where wisdom would be lost under rare circumstances, causing excessive planning time. * FAQ notes bug in gcc-3.4.[1-3] that causes FFTW to crash with SSE/SSE2. * Fixed accidentally exported symbol that prohibited simultaneous linking to double/single multithreaded FFTW (thanks to Alessio Massaro). * Support Win32 threads under MinGW (thanks to Alessio Massaro).
2006-01-30 10:25:09 +01:00
CATEGORIES= math
MASTER_SITES= ftp://ftp.fftw.org/pub/fftw/
MASTER_SITES+= http://www.fftw.org/
Update to version 3.0. Major goals of this release: * Speed: often 20% or more faster than FFTW 2.x, even without SIMD (see below). * Complete rewrite, to make it easier to add new algorithms and transforms. * New API, to support more general semantics. Other enhancements: * SIMD acceleration on supporting CPUs (SSE, SSE2, 3DNow!, and AltiVec). (With special thanks to Franz Franchetti for many experimental prototypes and to Stefan Kral for the vectorizing generator from fftwgel.) * True in-place 1d transforms of large sizes (as well as compressed twiddle tables for additional memory/cache savings). * More arbitrary placement of real & imaginary data, e.g. including interleaved (as in FFTW 2.x) as well as separate real/imag arrays. * Efficient prime-size transforms of real data. * Multidimensional transforms can operate on a subset of a larger matrix, and/or transform selected dimensions of a multidimensional array. * By popular demand, simultaneous linking to double precision (fftw), single precision (fftwf), and long-double precision (fftwl) versions of FFTW is now supported. * Cycle counters (on all modern CPUs) are exploited to speed planning. * Efficient transforms of real even/odd arrays, a.k.a. discrete cosine/sine transforms (types I-IV). (Currently work via pre/post processing of real transforms, ala FFTPACK, so are not optimal.) * DHTs (Discrete Hartley Transforms), again via post-processing of real transforms (and thus suboptimal, for now). * Support for linking to just those parts of FFTW that you need, greatly reducing the size of statically linked programs when only a limited set of transform sizes/types are required. * Canonical global wisdom file (/etc/fftw/wisdom) on Unix, along with a command-line tool (fftw-wisdom) to generate/update it. * Fortran API can be used with both g77 and non-g77 compilers simultaneously. * Multi-threaded version has optional OpenMP support. * Authors' good looks have greatly improved with age.
2003-04-30 00:48:45 +02:00
2008-01-19 10:16:17 +01:00
MAINTAINER= pkgsrc-users@NetBSD.org
Changes 3.1: * Faster FFTW_ESTIMATE planner. * New (faster) algorithm for REDFT00/RODFT00 (type-I DCT/DST) of odd size. * "4-step" algorithm for faster FFTs of very large sizes (> 2^18). * Faster in-place real-data DFTs (for R2HC and HC2R r2r formats). * Faster in-place non-square transpositions (FFTW uses these internally for in-place FFTs, and you can also perform them explicitly using the guru interface). * Faster prime-size DFTs: implemented Bluestein's algorithm, as well as a zero-padded Rader variant to limit recursive use of Rader's algorithm. * SIMD support for split complex arrays. * Much faster Altivec/VMX performance. * New fftw_set_timelimit function to specify a (rough) upper bound to the planning time (does not affect ESTIMATE mode). * Removed --enable-3dnow support; use --enable-k7 instead. * FMA (fused multiply-add) version is now included in "standard" FFTW, and is enabled with --enable-fma (the default on PowerPC and Itanium). * Automatic detection of native architecture flag for gcc. New configure options: --enable-portable-binary and --with-gcc-arch=<arch>, for people distributing compiled binaries of FFTW (see manual). * Automatic detection of Altivec under Linux with gcc 3.4 (so that same binary should work on both Altivec and non-Altivec PowerPCs). * Compiler-specific tweaks/flags/workarounds for gcc 3.4, xlc, HP/UX, Solaris/Intel. * Various documentation clarifications. * 64-bit clean. (Fixes a bug affecting the split guru planner on 64-bit machines, reported by David Necas.) * Fixed Debian bug no.259612: inadvertent use of SSE instructions on non-SSE machines (causing a crash) for --enable-sse binaries. * Fixed bug that caused HC2R transforms to destroy the input in certain cases, even if the user specified FFTW_PRESERVE_INPUT. * Fixed bug where wisdom would be lost under rare circumstances, causing excessive planning time. * FAQ notes bug in gcc-3.4.[1-3] that causes FFTW to crash with SSE/SSE2. * Fixed accidentally exported symbol that prohibited simultaneous linking to double/single multithreaded FFTW (thanks to Alessio Massaro). * Support Win32 threads under MinGW (thanks to Alessio Massaro).
2006-01-30 10:25:09 +01:00
HOMEPAGE= http://www.fftw.org/
COMMENT= Collection of fast C routines to compute DFTs
LICENSE= gnu-gpl-v2
USE_LANGUAGES= c
Update to version 3.0. Major goals of this release: * Speed: often 20% or more faster than FFTW 2.x, even without SIMD (see below). * Complete rewrite, to make it easier to add new algorithms and transforms. * New API, to support more general semantics. Other enhancements: * SIMD acceleration on supporting CPUs (SSE, SSE2, 3DNow!, and AltiVec). (With special thanks to Franz Franchetti for many experimental prototypes and to Stefan Kral for the vectorizing generator from fftwgel.) * True in-place 1d transforms of large sizes (as well as compressed twiddle tables for additional memory/cache savings). * More arbitrary placement of real & imaginary data, e.g. including interleaved (as in FFTW 2.x) as well as separate real/imag arrays. * Efficient prime-size transforms of real data. * Multidimensional transforms can operate on a subset of a larger matrix, and/or transform selected dimensions of a multidimensional array. * By popular demand, simultaneous linking to double precision (fftw), single precision (fftwf), and long-double precision (fftwl) versions of FFTW is now supported. * Cycle counters (on all modern CPUs) are exploited to speed planning. * Efficient transforms of real even/odd arrays, a.k.a. discrete cosine/sine transforms (types I-IV). (Currently work via pre/post processing of real transforms, ala FFTPACK, so are not optimal.) * DHTs (Discrete Hartley Transforms), again via post-processing of real transforms (and thus suboptimal, for now). * Support for linking to just those parts of FFTW that you need, greatly reducing the size of statically linked programs when only a limited set of transform sizes/types are required. * Canonical global wisdom file (/etc/fftw/wisdom) on Unix, along with a command-line tool (fftw-wisdom) to generate/update it. * Fortran API can be used with both g77 and non-g77 compilers simultaneously. * Multi-threaded version has optional OpenMP support. * Authors' good looks have greatly improved with age.
2003-04-30 00:48:45 +02:00
USE_LIBTOOL= yes
Changes 3.1: * Faster FFTW_ESTIMATE planner. * New (faster) algorithm for REDFT00/RODFT00 (type-I DCT/DST) of odd size. * "4-step" algorithm for faster FFTs of very large sizes (> 2^18). * Faster in-place real-data DFTs (for R2HC and HC2R r2r formats). * Faster in-place non-square transpositions (FFTW uses these internally for in-place FFTs, and you can also perform them explicitly using the guru interface). * Faster prime-size DFTs: implemented Bluestein's algorithm, as well as a zero-padded Rader variant to limit recursive use of Rader's algorithm. * SIMD support for split complex arrays. * Much faster Altivec/VMX performance. * New fftw_set_timelimit function to specify a (rough) upper bound to the planning time (does not affect ESTIMATE mode). * Removed --enable-3dnow support; use --enable-k7 instead. * FMA (fused multiply-add) version is now included in "standard" FFTW, and is enabled with --enable-fma (the default on PowerPC and Itanium). * Automatic detection of native architecture flag for gcc. New configure options: --enable-portable-binary and --with-gcc-arch=<arch>, for people distributing compiled binaries of FFTW (see manual). * Automatic detection of Altivec under Linux with gcc 3.4 (so that same binary should work on both Altivec and non-Altivec PowerPCs). * Compiler-specific tweaks/flags/workarounds for gcc 3.4, xlc, HP/UX, Solaris/Intel. * Various documentation clarifications. * 64-bit clean. (Fixes a bug affecting the split guru planner on 64-bit machines, reported by David Necas.) * Fixed Debian bug no.259612: inadvertent use of SSE instructions on non-SSE machines (causing a crash) for --enable-sse binaries. * Fixed bug that caused HC2R transforms to destroy the input in certain cases, even if the user specified FFTW_PRESERVE_INPUT. * Fixed bug where wisdom would be lost under rare circumstances, causing excessive planning time. * FAQ notes bug in gcc-3.4.[1-3] that causes FFTW to crash with SSE/SSE2. * Fixed accidentally exported symbol that prohibited simultaneous linking to double/single multithreaded FFTW (thanks to Alessio Massaro). * Support Win32 threads under MinGW (thanks to Alessio Massaro).
2006-01-30 10:25:09 +01:00
USE_TOOLS+= gmake
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-shared
Changes 3.1: * Faster FFTW_ESTIMATE planner. * New (faster) algorithm for REDFT00/RODFT00 (type-I DCT/DST) of odd size. * "4-step" algorithm for faster FFTs of very large sizes (> 2^18). * Faster in-place real-data DFTs (for R2HC and HC2R r2r formats). * Faster in-place non-square transpositions (FFTW uses these internally for in-place FFTs, and you can also perform them explicitly using the guru interface). * Faster prime-size DFTs: implemented Bluestein's algorithm, as well as a zero-padded Rader variant to limit recursive use of Rader's algorithm. * SIMD support for split complex arrays. * Much faster Altivec/VMX performance. * New fftw_set_timelimit function to specify a (rough) upper bound to the planning time (does not affect ESTIMATE mode). * Removed --enable-3dnow support; use --enable-k7 instead. * FMA (fused multiply-add) version is now included in "standard" FFTW, and is enabled with --enable-fma (the default on PowerPC and Itanium). * Automatic detection of native architecture flag for gcc. New configure options: --enable-portable-binary and --with-gcc-arch=<arch>, for people distributing compiled binaries of FFTW (see manual). * Automatic detection of Altivec under Linux with gcc 3.4 (so that same binary should work on both Altivec and non-Altivec PowerPCs). * Compiler-specific tweaks/flags/workarounds for gcc 3.4, xlc, HP/UX, Solaris/Intel. * Various documentation clarifications. * 64-bit clean. (Fixes a bug affecting the split guru planner on 64-bit machines, reported by David Necas.) * Fixed Debian bug no.259612: inadvertent use of SSE instructions on non-SSE machines (causing a crash) for --enable-sse binaries. * Fixed bug that caused HC2R transforms to destroy the input in certain cases, even if the user specified FFTW_PRESERVE_INPUT. * Fixed bug where wisdom would be lost under rare circumstances, causing excessive planning time. * FAQ notes bug in gcc-3.4.[1-3] that causes FFTW to crash with SSE/SSE2. * Fixed accidentally exported symbol that prohibited simultaneous linking to double/single multithreaded FFTW (thanks to Alessio Massaro). * Support Win32 threads under MinGW (thanks to Alessio Massaro).
2006-01-30 10:25:09 +01:00
.include "options.mk"
Changes 3.1: * Faster FFTW_ESTIMATE planner. * New (faster) algorithm for REDFT00/RODFT00 (type-I DCT/DST) of odd size. * "4-step" algorithm for faster FFTs of very large sizes (> 2^18). * Faster in-place real-data DFTs (for R2HC and HC2R r2r formats). * Faster in-place non-square transpositions (FFTW uses these internally for in-place FFTs, and you can also perform them explicitly using the guru interface). * Faster prime-size DFTs: implemented Bluestein's algorithm, as well as a zero-padded Rader variant to limit recursive use of Rader's algorithm. * SIMD support for split complex arrays. * Much faster Altivec/VMX performance. * New fftw_set_timelimit function to specify a (rough) upper bound to the planning time (does not affect ESTIMATE mode). * Removed --enable-3dnow support; use --enable-k7 instead. * FMA (fused multiply-add) version is now included in "standard" FFTW, and is enabled with --enable-fma (the default on PowerPC and Itanium). * Automatic detection of native architecture flag for gcc. New configure options: --enable-portable-binary and --with-gcc-arch=<arch>, for people distributing compiled binaries of FFTW (see manual). * Automatic detection of Altivec under Linux with gcc 3.4 (so that same binary should work on both Altivec and non-Altivec PowerPCs). * Compiler-specific tweaks/flags/workarounds for gcc 3.4, xlc, HP/UX, Solaris/Intel. * Various documentation clarifications. * 64-bit clean. (Fixes a bug affecting the split guru planner on 64-bit machines, reported by David Necas.) * Fixed Debian bug no.259612: inadvertent use of SSE instructions on non-SSE machines (causing a crash) for --enable-sse binaries. * Fixed bug that caused HC2R transforms to destroy the input in certain cases, even if the user specified FFTW_PRESERVE_INPUT. * Fixed bug where wisdom would be lost under rare circumstances, causing excessive planning time. * FAQ notes bug in gcc-3.4.[1-3] that causes FFTW to crash with SSE/SSE2. * Fixed accidentally exported symbol that prohibited simultaneous linking to double/single multithreaded FFTW (thanks to Alessio Massaro). * Support Win32 threads under MinGW (thanks to Alessio Massaro).
2006-01-30 10:25:09 +01:00
PKGCONFIG_OVERRIDE+= fftw.pc.in
INFO_FILES= yes
TEST_TARGET= check
.include "../../mk/bsd.prefs.mk"
.if defined(PKGSRC_RUN_TEST) && !empty(PKGSRC_RUN_TEST:M[Yy][Ee][Ss])
USE_TOOLS+= perl
.endif
PLIST_VARS+= pthreads
PTHREAD_OPTS= native
.include "../../mk/pthread.buildlink3.mk"
.if !empty(PTHREAD_TYPE:Mnative)
CONFIGURE_ARGS+= --enable-threads
PLIST.pthreads= yes
.endif
.include "../../mk/bsd.pkg.mk"