head 1.6; access; symbols pkgsrc-2023Q4:1.5.0.18 pkgsrc-2023Q4-base:1.5 pkgsrc-2023Q3:1.5.0.16 pkgsrc-2023Q3-base:1.5 pkgsrc-2023Q2:1.5.0.14 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.12 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.5.0.10 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.8 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.6 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.4 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.2 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.4.0.4 pkgsrc-2021Q3-base:1.4 pkgsrc-2021Q2:1.4.0.2 pkgsrc-2021Q2-base:1.4 pkgsrc-2021Q1:1.2.0.2 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.1.0.14 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.12 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.10 pkgsrc-2020Q2-base:1.1 pkgsrc-2020Q1:1.1.0.6 pkgsrc-2020Q1-base:1.1 pkgsrc-2019Q4:1.1.0.8 pkgsrc-2019Q4-base:1.1 pkgsrc-2019Q3:1.1.0.4 pkgsrc-2019Q3-base:1.1 pkgsrc-2019Q2:1.1.0.2 pkgsrc-2019Q2-base:1.1; locks; strict; comment @# @; 1.6 date 2024.01.14.21.04.49; author rillig; state Exp; branches; next 1.5; commitid tICapnTZNbVDBsUE; 1.5 date 2021.09.29.13.34.48; author wiz; state Exp; branches; next 1.4; commitid mm95jRzuZn2G1RaD; 1.4 date 2021.05.16.10.14.09; author nia; state Exp; branches; next 1.3; commitid 762XfOm0wwYnhmTC; 1.3 date 2021.04.29.23.30.15; author thor; state dead; branches; next 1.2; commitid 9WwCDd6Dg8T5efRC; 1.2 date 2021.01.04.10.27.37; author wiz; state Exp; branches; next 1.1; commitid P7czt1kfZUovBoCC; 1.1 date 2019.05.24.15.56.21; author adam; state Exp; branches; next ; commitid kF8XnXPOiDqaqtoB; desc @@ 1.6 log @math/fftw: skip check for unknown configure options The package has 3 configure script, and the top-level configure script knows all of --disable-fortran, --enable-shared and --enable-threads. @ text @# $NetBSD: Makefile.common,v 1.5 2021/09/29 13:34:48 wiz Exp $ # used by math/fftw/Makefile # used by math/fftw-long/Makefile # used by math/fftw-quad/Makefile DISTNAME= fftw-3.3.10 CATEGORIES= math MASTER_SITES= ftp://ftp.fftw.org/pub/fftw/ MASTER_SITES+= http://www.fftw.org/ MAINTAINER= pkgsrc-users@@NetBSD.org HOMEPAGE= http://www.fftw.org/ LICENSE= gnu-gpl-v2 DISTINFO_FILE= ${.CURDIR}/../../math/fftw/distinfo #PATCHDIR= ${.CURDIR}/../../math/fftw/patches USE_LANGUAGES= c USE_LIBTOOL= yes USE_TOOLS+= gmake USE_TOOLS+= perl GNU_CONFIGURE= yes CONFIGURE_ARGS+= --enable-shared GNU_CONFIGURE_STRICT= no TEST_TARGET= check .include "../../mk/bsd.prefs.mk" PKGCONFIG_OVERRIDE+= fftw.pc.in INFO_FILES= yes .include "options.mk" # Test will only use the default build. USE_TOOLS+= perl:test sed PLIST_VARS+= pthreads PTHREAD_OPTS= native .include "../../mk/pthread.buildlink3.mk" .if ${PTHREAD_TYPE} == "native" CONFIGURE_ARGS+= --enable-threads PLIST.pthreads= yes .endif CONFIGURE_SCRIPT= ./configure .for p in ${FFTW_PRECISION} CONFIGURE_DIRS+= build/${p} MAKE_DIRS+= build/${p} .endfor pre-configure: .for d in ${CONFIGURE_DIRS} mkdir -p ${WRKSRC:Q}/${d} . if ${d} == "build/float" printf '#!/bin/sh\nexec ../../configure "$$@@" --enable-${d:S,build/,,} ${FFTW_FLOAT_OPTS}' \ > ${WRKSRC:Q}/${d}/configure . elif ${d} == "build/double" printf '#!/bin/sh\nexec ../../configure "$$@@" ${FFTW_DOUBLE_OPTS}' \ > ${WRKSRC:Q}/${d}/configure . elif ${d} == "build/quad-precision" printf '#!/bin/sh\nexec ../../configure "$$@@" --enable-${d:S,build/,,} --disable-mpi\n' \ > ${WRKSRC:Q}/${d}/configure . else printf '#!/bin/sh\nexec ../../configure "$$@@" --enable-${d:S,build/,,}\n' \ > ${WRKSRC:Q}/${d}/configure . endif chmod +x ${WRKSRC:Q}/${d}/configure .endfor @ 1.5 log @fftw*: update to 3.3.10. FFTW 3.3.10: * Fix bug that would cause 2-way SIMD (notably SSE2 in double precision) to attempt unaligned accesses in certain obscure cases, causing segfaults. The following test triggers the bug (SSE2, double precision): ./tests/bench -oexhaustive r4*2:5:3 This test computes a pair of length-4 real->complex transforms where the second input is 5 real numbers away from the first input. That is, there is a gap of one real number between the first and second input array. The -oexhaustive level allow FFTW to attempt to compute this transform by reducing it to a pair of complex transforms of length 2, but now the second input is not aligned to a complex-number boundary. The fact that 5 is odd is the problem. The bug cannot occur in complex->complex transforms because the complex interface accepts strides in units of complex numbers, so strides are aligned by construction. This bug has been around at least since fftw-3.1.2 (July 2006), and probably since fftw-3.0 (2003). @ text @d1 1 a1 1 # $NetBSD: Makefile.common,v 1.4 2021/05/16 10:14:09 nia Exp $ d24 1 @ 1.4 log @split fftw package into -long and -quad precision variants the package previously used PKG_OPTIONS for this, but PKG_OPTIONS are harmful in the case that they effect the resulting ABI of library packages. this way, things that actually need fftwl and fftwq can depend on these sub-packages. this also fixes fftwq on NetBSD by making it pull in libquadmath. another thing about PKG_OPTIONS for library components is that they mean certain components don't get tested... @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.73 2021/05/16 08:44:33 nia Exp $ d6 1 a6 1 DISTNAME= fftw-3.3.9 d16 1 a16 1 PATCHDIR= ${.CURDIR}/../../math/fftw/patches @ 1.3 log @math/fftw and dependents: merge math/fftwf backin and add MPI and OpenMP This yields one common package to provide libfftw3 (double) and libfftw3f (single) by default and optionally the Fortran bindings as well as OpenMP and MPI variants, and those with long double or quad precision. This changes all packages depending on fftwf in the same commit to minimize the time of inconsistency. Soon, math/fftwf will disappear. @ text @d1 1 a1 1 # $NetBSD: Makefile.common,v 1.2 2021/01/04 10:27:37 wiz Exp $ d3 2 a4 1 # used by math/fftwf/Makefile d15 3 d21 1 d28 7 a34 3 .if defined(PKGSRC_RUN_TEST) && !empty(PKGSRC_RUN_TEST:M[Yy][Ee][Ss]) USE_TOOLS+= perl .endif d43 25 @ 1.2 log @fftw*: update to 3.3.9 FFTW 3.3.9: * New API fftw_planner_nthreads() returns the number of threads currently being used by the planner. * Fix incorrect math in 128-bit generic SIMD * Fix wisdom for avx512. The avx512 alignment requirement was set to 64 bytes, but this is wrong. Alignment requirements are a property of the platform (e.g., x86) and not of the instruction set (e.g., AVX). Among other things, this broke wisdom with avx512. Note that avx512 support is still experimental because the FFTW authors have no avx512 hardware available for testing. * fftw_threads_set_callback function to change the threading backend at runtime. @ text @d1 1 a1 1 # $NetBSD: Makefile.common,v 1.1 2019/05/24 15:56:21 adam Exp $ @ 1.1 log @fftw: introduce Makefile.common @ text @d1 1 a1 1 # $NetBSD$ d5 1 a5 1 DISTNAME= fftw-3.3.8 @