Sync from SUSE:SLFO:Main fftw3 revision da9bab3a66204dc7b60daf7b72a82118
This commit is contained in:
commit
54e895e4ea
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
7
_multibuild
Normal file
7
_multibuild
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>standard</package>
|
||||||
|
<package>gnu-hpc</package>
|
||||||
|
<package>gnu-openmpi4-hpc</package>
|
||||||
|
<package>gnu-mvapich2-hpc</package>
|
||||||
|
<package>gnu-mpich-hpc</package>
|
||||||
|
</multibuild>
|
BIN
fftw-3.3.10.tar.gz
(Stored with Git LFS)
Normal file
BIN
fftw-3.3.10.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
12
fftw3-rpmlintrc
Normal file
12
fftw3-rpmlintrc
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# This line is mandatory to access the configuration functions
|
||||||
|
from Config import *
|
||||||
|
|
||||||
|
# guideline does not cover multibuild/flavor cases
|
||||||
|
addFilter("libfftw3\S+-gnu-\S+.x86_64: E: shlib-policy-name-error SONAME.*")
|
||||||
|
|
||||||
|
# See spec file for the reason(s)
|
||||||
|
addFilter("libfftw3.* devel-file-in-non-devel-package")
|
||||||
|
addFilter("libfftw3.* hidden-file-or-dir")
|
||||||
|
addFilter('shlib-fixed-dependency')
|
||||||
|
addFilter('libfftw3.* shlib-policy-nonversioned-dir /usr/lib/hpc')
|
||||||
|
addFilter('libfftw3.* shlib-policy-nonversioned-dir /usr/share/lmod')
|
535
fftw3.changes
Normal file
535
fftw3.changes
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 25 11:53:29 UTC 2023 - Egbert Eich <eich@suse.com>
|
||||||
|
|
||||||
|
- Disable HPC flavors on %ix86
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 23 11:43:32 UTC 2023 - Nicolas Morey <nicolas.morey@suse.com>
|
||||||
|
|
||||||
|
- Drop support for obsolete openmpi[123]
|
||||||
|
- Prepare support for openmpi5
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 27 08:41:39 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
- Update rpmlintrc for shlib-policy-name-error
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 18 17:01:55 CET 2022 - tiwai@suse.de
|
||||||
|
|
||||||
|
- Don't install half-baked cmake files (bsc#1194728):
|
||||||
|
the files are incomplete and useless with the build using auto-tools
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Dec 5 20:52:00 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 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.
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 30 11:40:09 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- Follow the distro default openmpi implementation:
|
||||||
|
+ Eliminate the usage of the mpi_implem variable (obsolete)
|
||||||
|
+ BuildRequire openmpi-macros-devel instead of %{mpi_implem}-devel
|
||||||
|
+ Require openmpi-devel in the mpi-devel package
|
||||||
|
+ Use %setup_openmpi to source mpivars.sh
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Feb 6 10:13:41 UTC 2021 - Egbert Eich <eich@suse.com>
|
||||||
|
|
||||||
|
- Add build support for gcc10 to HPC build (bsc#1174439).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jan 24 19:36:58 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 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.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 21 13:00:52 UTC 2020 - Michel Normand <normand@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
- Remove specific mpi_implemen define for ppc/ppc64 (was openmpi)
|
||||||
|
to use same openmpi2 as other architectures.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 20 18:34:40 UTC 2020 - Egbert Eich <eich@suse.com>
|
||||||
|
|
||||||
|
- Add gnu compiler support up to gcc9.
|
||||||
|
- Fix typo which caused issus building openmpi HPC flavors
|
||||||
|
(bsc#1174329).
|
||||||
|
- Add support for openmpi4 (provided by Alin Marin Elena).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jun 6 22:20:41 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Fix BuildFailures for openSUSE >= 1550:
|
||||||
|
* Correct info dir.
|
||||||
|
* Fix ill-formatted comments.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 29 15:00:55 UTC 2019 - Egbert Eich <eich@suse.com>
|
||||||
|
|
||||||
|
- Disable openmpi1 builds for SLE/Leap > 15.1.
|
||||||
|
- Enable openmpi3 builds for Leap and SLE > 15.1 (jsc#SLE-7773).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 13 16:00:11 UTC 2019 - Michel Normand <normand@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
- Add -ffat-lto-objects to avoid build failure
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 18 17:36:14 UTC 2019 - Rodrigo Lourenço <guigo.lourenco@gmail.com>
|
||||||
|
|
||||||
|
- Update to 3.3.8:
|
||||||
|
* Fixed AVX, AVX2 for gcc-8.
|
||||||
|
|
||||||
|
- Release notes for 3.3.7:
|
||||||
|
* Experimental support for CMake.
|
||||||
|
* Fixes for armv7a cycle counter.
|
||||||
|
* Official support for aarch64, now that we have hardware to test it.
|
||||||
|
* Tweak usage of FMA instructions in a way that favors newer processors
|
||||||
|
(Skylake and Ryzen) over older processors (Haswell).
|
||||||
|
* tests/bench: use 64-bit precision to compute mflops.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 18 17:22:34 UTC 2019 - Egbert Eich <eich@suse.com>
|
||||||
|
|
||||||
|
- Add FFTW_BIN to environment variable with module file (bsc#1125824).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 18 08:09:32 UTC 2018 - schwab@suse.de
|
||||||
|
|
||||||
|
- Stay with openmpi also on ppc
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 31 20:44:50 UTC 2018 - antoine.belvire@opensuse.org
|
||||||
|
|
||||||
|
- Fix %install_info_delete usage.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 26 14:48:04 UTC 2018 - eich@suse.com
|
||||||
|
|
||||||
|
- Add support for openmpi2 for the HPC build (FATE#325089).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 22 15:02:28 UTC 2018 - nmoreychaisemartin@suse.com
|
||||||
|
|
||||||
|
- Switch to openmpi2 instead of openmpi (bsc#1082302),
|
||||||
|
apart from ppc64 as openmpi2 does not support it.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 22 16:14:42 UTC 2018 - eich@suse.com
|
||||||
|
|
||||||
|
- Fix typo in flavor gnu7-hpc settings.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 19 06:47:04 UTC 2018 - eich@suse.com
|
||||||
|
|
||||||
|
- Change the name of the MPI version of the module file directory
|
||||||
|
to pfftw3 to distinguish it from the 'serial' one (boo#1075933).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 12 15:33:40 UTC 2018 - eich@suse.com
|
||||||
|
|
||||||
|
- Disable the openmpi3 flavor in some products.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 5 18:32:30 UTC 2018 - eich@suse.com
|
||||||
|
|
||||||
|
- Add gcc7 as additional compiler flavor for HPC on SLES.
|
||||||
|
- Fix library package requires - use HPC macro (boo#1074890).
|
||||||
|
- Add support for mpich and openmpi3 for HPC.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 14 16:23:54 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- Fix library package dependencies - limit certain
|
||||||
|
dependencies to HPC packages.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Nov 12 16:25:33 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- Fix HPC library requires package and modules file.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 7 11:33:09 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- update to 3.3.6-pl2
|
||||||
|
* Bugfix: MPI Fortran-03 headers were missing in FFTW 3.3.6-pl1.
|
||||||
|
* Bugfix: FFTW 3.3.6 had the wrong libtool version number, and generated
|
||||||
|
shared libraries of the form libfftw3.so.2.6.6 instead of
|
||||||
|
libfftw3.so.3.*.
|
||||||
|
* The fftw_make_planner_thread_safe() API introduced in 3.3.5 didn't
|
||||||
|
work, and this 3.3.6 fixes it. Sorry about that.
|
||||||
|
* compilation fixes for IBM XLC
|
||||||
|
* compilation fixes for threads on Windows
|
||||||
|
* fix SIMD autodetection on amd64 when (_MSC_VER > 1500)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 23 11:51:13 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- Don't use openmpi-devel for HPC builds.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 19 11:39:08 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- Fix dependencies for the HPC devel package.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 17 13:23:12 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- Add magic to limit the number of flavors built in the
|
||||||
|
in the OBS ring.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 14 17:13:06 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- For HPC build package static libraries as well.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 12 05:46:35 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- Generate baselib.conf dynamically and only for the non-HPC
|
||||||
|
build: this avoids issues with the source validator.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 25 09:36:55 UTC 2017 - cgoll@suse.com
|
||||||
|
|
||||||
|
- removed unnedded dependency packages
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 7 07:46:53 UTC 2017 - cgoll@suse.com
|
||||||
|
|
||||||
|
- rewrote for hpc library support
|
||||||
|
* added environment modules
|
||||||
|
* reduced number of hpc realted packages to two
|
||||||
|
(FATE#321716).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 1 22:03:49 UTC 2016 - mardnh@gmx.de
|
||||||
|
|
||||||
|
- update to version 3.3.5
|
||||||
|
* New SIMD support:
|
||||||
|
- Power8 VSX instructions in single and double precision.
|
||||||
|
To use, add --enable-vsx to configure.
|
||||||
|
- Support for AVX2 (256-bit FMA instructions).
|
||||||
|
To use, add --enable-avx2 to configure.
|
||||||
|
- Experimental support for AVX512 and KCVI. (--enable-avx512, --enable-kcvi)
|
||||||
|
This code is expected to work but the FFTW maintainers do not have
|
||||||
|
hardware to test it.
|
||||||
|
- Support for AVX128/FMA (for some AMD machines) (--enable-avx128-fma)
|
||||||
|
- Double precision Neon SIMD for aarch64.
|
||||||
|
This code is expected to work but the FFTW maintainers do not have
|
||||||
|
hardware to test it.
|
||||||
|
- generic SIMD support using gcc vector intrinsics
|
||||||
|
* Add fftw_make_planner_thread_safe() API
|
||||||
|
* fix #18 (disable float128 for CUDACC)
|
||||||
|
* fix #19: missing Fortran interface for fftwq_alloc_real
|
||||||
|
* fix #21 (don't use float128 on Portland compilers, which pretend to be gcc)
|
||||||
|
* fix: Avoid segfaults due to double free in MPI transpose
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 19 19:16:23 UTC 2014 - mardnh@gmx.de
|
||||||
|
|
||||||
|
- add support for long-double precision
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 19 17:37:38 UTC 2014 - mardnh@gmx.de
|
||||||
|
|
||||||
|
- update to version 3.3.4
|
||||||
|
|
||||||
|
* New functions fftw_alignment_of (to check whether two arrays are equally
|
||||||
|
aligned for the purposes of applying a plan) and fftw_sprint_plan
|
||||||
|
(to output a description of plan to a string).
|
||||||
|
|
||||||
|
* Bugfix in fftw-wisdom-to-conf; thanks to Florian Oppermann for the bug report.
|
||||||
|
|
||||||
|
* Fixed manual to work with texinfo-5.
|
||||||
|
|
||||||
|
* Increased timing interval on x86_64 to reduce timing errors.
|
||||||
|
|
||||||
|
* Default to Win32 threads, not pthreads, if both are present.
|
||||||
|
|
||||||
|
* Various build-script fixes.
|
||||||
|
|
||||||
|
- Drop obsoleted 1_man_macro.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Dec 16 19:26:48 UTC 2012 - dhall@wustl.edu
|
||||||
|
|
||||||
|
- update to version 3.3.3
|
||||||
|
* Fix deadlock bug in MPI transforms (thanks to Michael Pippig for the bug
|
||||||
|
report and patch, and to Graham Dennis for the bug report).
|
||||||
|
|
||||||
|
* Use 128-bit ARM NEON instructions instead of 64-bit instructions. This
|
||||||
|
change appears to speed up even ARM processors with a 64-bit NEON pipe.
|
||||||
|
|
||||||
|
* Speed improvements for single-precision AVX.
|
||||||
|
|
||||||
|
* Speed up planner on machines without "official" cycle counters, such as ARM.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 3 18:31:53 UTC 2012 - coolo@suse.com
|
||||||
|
|
||||||
|
- update to 3.3.2 to fix crashes with gcc 4.7
|
||||||
|
|
||||||
|
* Removed an archaic stack-alignment hack that was failing with
|
||||||
|
gcc-4.7/i386.
|
||||||
|
|
||||||
|
* Added stack-alignment hack necessary for gcc on Windows/i386. We
|
||||||
|
will regret this in ten years (see previous change).
|
||||||
|
|
||||||
|
* Fix incompatibility with Intel icc which pretends to be gcc
|
||||||
|
but does not support quad precision.
|
||||||
|
|
||||||
|
* make libfftw{threads,mpi} depend upon libfftw when using libtool;
|
||||||
|
this is consistent with most other libraries and simplifies the life
|
||||||
|
of various distributors of GNU/Linux.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 29 14:43:58 CEST 2012 - tiwai@suse.de
|
||||||
|
|
||||||
|
- Enable AVX support (bnc#763657)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 26 04:26:02 UTC 2012 - adrian@suse.de
|
||||||
|
|
||||||
|
- fix build on %arm
|
||||||
|
* disable neon it would require --enable-single (precision)
|
||||||
|
- enable openmpi for %arm
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 16 01:17:58 UTC 2012 - alinm.elena@gmail.com
|
||||||
|
|
||||||
|
- source the mpi environment
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 6 14:16:22 UTC 2012 - dhall@wustl.edu
|
||||||
|
|
||||||
|
- delete INSTALL file
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 6 10:35:15 UTC 2012 - dhall@wustl.edu
|
||||||
|
|
||||||
|
- patch macros in man files
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 6 00:32:24 UTC 2012 - dhall@wustl.edu
|
||||||
|
|
||||||
|
- add use of neon extensions on ARM
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 6 00:12:32 UTC 2012 - dhall@wustl.edu
|
||||||
|
|
||||||
|
- updated to version 3.3.1
|
||||||
|
* Reduced planning time in estimate mode for sizes with large prime factors.
|
||||||
|
* Added AVX autodetection under Visual Studio. Thanks Carsten Steger for submitting
|
||||||
|
the necessary code.
|
||||||
|
* Modern Fortran interface now uses a separate fftw3l.f03 interface file for the
|
||||||
|
long double interface, which is not supported by some Fortran compilers. Provided
|
||||||
|
new fftw3q.f03 interface file to access the quadruple-precision FFTW routines
|
||||||
|
with recent versions of gcc/gfortran.
|
||||||
|
* Added support for the NEON extensions to the ARM ISA.
|
||||||
|
* MPI code now compiles even if mpicc is a C++ compiler; thanks to Kyle Spyksma for
|
||||||
|
the bug report.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 28 13:33:44 UTC 2011 - idoenmez@suse.de
|
||||||
|
|
||||||
|
- Ignore rpmlint fixed dependency errors
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 28 01:48:17 CET 2011 - ro@suse.de
|
||||||
|
|
||||||
|
- fix build on s390/s390x without openmpi
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 21 17:45:00 UTC 2011 - jengelh@medozas.de
|
||||||
|
|
||||||
|
- Remove redundant/unwanted tags/section (cf. specfile guidelines)
|
||||||
|
- Employ shlib naming (fftw3 -> libfftw3)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Oct 9 17:48:50 UTC 2011 - adrian@suse.de
|
||||||
|
|
||||||
|
- enable sse only on supported architectures
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 28 02:22:14 UTC 2011 - dhall@wustl.edu
|
||||||
|
|
||||||
|
- enable sse2 and sse code generation
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 5 22:44:51 UTC 2011 - dhall@wustl.edu
|
||||||
|
|
||||||
|
- specfile cleanup
|
||||||
|
* Remove authors from description
|
||||||
|
* use %makeinstall
|
||||||
|
- fix devel and mpi-devel to include proper header files
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 3 13:58:49 UTC 2011 - dhall@wustl.edu
|
||||||
|
|
||||||
|
- updated to version 3.3:
|
||||||
|
* Compiling OpenMP support (--enable-openmp) now installs a fftw3_omp
|
||||||
|
library, instead of fftw3_threads, so that OpenMP and POSIX threads
|
||||||
|
(--enable-threads) libraries can be built and installed at the same time.
|
||||||
|
* Add support for the AVX extensions to x86 and x86-64
|
||||||
|
* Added Fortran 2003 interface
|
||||||
|
* Added MPI distributed-memory transforms
|
||||||
|
* Add support for quad-precision __float128 in gcc 4.6 or later (on x86.
|
||||||
|
x86-64, and Itanium). The new routines use the fftwq_ prefix.
|
||||||
|
* New convenience functions fftw_alloc_real and fftw_alloc_complex to use
|
||||||
|
fftw_malloc for real and complex arrays without typecasts or sizeof.
|
||||||
|
* New convenience functions fftw_export_wisdom_to_filename and
|
||||||
|
fftw_import_wisdom_from_filename that export/import wisdom to a file, which
|
||||||
|
don't require you to open/close the file yourself.
|
||||||
|
* New function fftw_cost to return FFTW's internal cost metric for a given plan
|
||||||
|
* Remove --enable-portable-binary flag: we new produce portable binaries by default.
|
||||||
|
* Fixed build problem failure when srand48 declaration is missing
|
||||||
|
* Fixed bug in fftw_set_timelimit: ensure that a negative timelimit is equivalent
|
||||||
|
to no timelimit in all cases
|
||||||
|
* Fixed stack-overflow problem on OpenBSD caused by using alloca with too
|
||||||
|
large a buffer.
|
||||||
|
- added openmp library support
|
||||||
|
- added mpi library support
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Apr 24 12:59:34 UTC 2011 - toddrme2178@gmail.com
|
||||||
|
|
||||||
|
- Add 32bit compatibility libraries
|
||||||
|
- Changed -devel package groups to Development/Libraries/C and C++ (fix for RPMLINT warning)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 22 18:59:44 UTC 2010 - davejplater@gmail.com
|
||||||
|
|
||||||
|
- Added provides fftw-devel
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 16 15:27:24 CEST 2009 - tiwai@suse.de
|
||||||
|
|
||||||
|
- updated to version 3.2.2:
|
||||||
|
* Improve performance of some copy operations of complex arrays
|
||||||
|
* Add configure flag to disable alloca()
|
||||||
|
* Planning in FFTW_ESTIMATE mode for r2r transforms became slower
|
||||||
|
between fftw-3.1.3 and 3.2. This regression has now been fixed.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 23 17:36:12 CEST 2009 - tiwai@suse.de
|
||||||
|
|
||||||
|
- remove obsolste fdupes check in spec file
|
||||||
|
- avoid unnecessary autoreconf
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 16 12:24:16 CET 2009 - tiwai@suse.de
|
||||||
|
|
||||||
|
- updated to version 3.2:
|
||||||
|
* major version up, performance improvements and SIMD support
|
||||||
|
* Worked around apparent glibc bug that leads to rare hangs
|
||||||
|
* Fixed segfault due to unaligned access
|
||||||
|
* MPI transforms not included, as they are still in alpha
|
||||||
|
- updated to version 3.2.1:
|
||||||
|
* Performance improvements for some multidimensional r2c/c2r
|
||||||
|
transforms
|
||||||
|
* Compile with icc on MacOS X, use better icc compiler flags.
|
||||||
|
* Compilation fixes for systems where snprintf is defined as a
|
||||||
|
macro
|
||||||
|
* Fortran documentation now recommends not using dfftw_execute,
|
||||||
|
because of reports of problems with various Fortran compilers
|
||||||
|
* Some documentation clarifications
|
||||||
|
* FAQ was accidentally omitted from 3.2 tarball.
|
||||||
|
* Remove some extraneous (harmless) files accidentally included
|
||||||
|
in a subdirectory of the 3.2 tarball.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Aug 2 10:46:31 CEST 2008 - tiwai@suse.de
|
||||||
|
|
||||||
|
- Reduce dependency without release number.
|
||||||
|
This allows to install packages on different media with
|
||||||
|
different release numbers.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 16 17:07:05 CEST 2007 - tiwai@suse.de
|
||||||
|
|
||||||
|
- follow library packaging policy
|
||||||
|
* move docs to devel package
|
||||||
|
* remove static libraries
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 21 15:50:52 CEST 2006 - schwab@suse.de
|
||||||
|
|
||||||
|
- Fix broken macro.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 22 13:09:41 CEST 2006 - tiwai@suse.de
|
||||||
|
|
||||||
|
- updated to version 3.1.2:
|
||||||
|
* correct bug in configure script
|
||||||
|
* updated FAQ
|
||||||
|
* use -maltivec when checking for altivec.h.
|
||||||
|
- clean up spec file, using %configure macro.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 18 16:33:14 CEST 2006 - tiwai@suse.de
|
||||||
|
|
||||||
|
- major update to version 3.1.1:
|
||||||
|
* fixed texi files
|
||||||
|
* lots of configure fixes
|
||||||
|
* clean up and optimizations
|
||||||
|
see ChangeLog for details
|
||||||
|
- added missing glibc-devel to Requires of devel subpackages
|
||||||
|
- removed -fno-strict-aliasing option
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 25 21:35:52 CET 2006 - mls@suse.de
|
||||||
|
|
||||||
|
- converted neededforbuild to BuildRequires
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 13 14:19:35 CEST 2005 - tiwai@suse.de
|
||||||
|
|
||||||
|
- fixed neededforbuild.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 27 01:27:36 CEST 2004 - ro@suse.de
|
||||||
|
|
||||||
|
- add -fno-strict-aliasing
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jan 10 14:45:42 CET 2004 - adrian@suse.de
|
||||||
|
|
||||||
|
- add missing %defattr and %run_ldconfig
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 29 05:38:19 CEST 2003 - nashif@suse.de
|
||||||
|
|
||||||
|
- #29586: info file installation in wrong post segment
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 30 18:00:20 CEST 2003 - nashif@suse.de
|
||||||
|
|
||||||
|
- Initial release
|
||||||
|
|
752
fftw3.spec
Normal file
752
fftw3.spec
Normal file
@ -0,0 +1,752 @@
|
|||||||
|
#
|
||||||
|
# spec file
|
||||||
|
#
|
||||||
|
# Copyright (c) 2023 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
|
||||||
|
%define bname fftw
|
||||||
|
%define BNAME FFTW
|
||||||
|
%define pname fftw3
|
||||||
|
%define _ver 3_3_10
|
||||||
|
|
||||||
|
%bcond_with ringdisabled
|
||||||
|
|
||||||
|
%if 0%{?sle_version} >= 150200
|
||||||
|
%define DisOMPI1 ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
%if !0%{?is_opensuse:1} && 0%{?sle_version:1} && 0%{?sle_version} < 150200
|
||||||
|
%define DisOMPI3 ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if !0%{?is_opensuse:1} && 0%{?sle_version:1} && 0%{?sle_version} < 150300
|
||||||
|
%define DisOMPI4 ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == ""
|
||||||
|
ExclusiveArch: do_not_build
|
||||||
|
%define package_name %pname
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Magic for OBS Staging. Only build the flavors required by
|
||||||
|
# other packages in the ring.
|
||||||
|
%if %{with ringdisabled}
|
||||||
|
%if "%flavor" != "standard"
|
||||||
|
ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "standard"
|
||||||
|
%define mpi_flavor standard
|
||||||
|
%bcond_without mpi
|
||||||
|
%bcond_with hpc
|
||||||
|
%bcond_without system_packages
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu-hpc"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%undefine c_f_ver
|
||||||
|
%bcond_with mpi
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-openmpi4-hpc"
|
||||||
|
%{?DisOMPI4}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%undefine c_f_ver
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 4
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-openmpi5-hpc"
|
||||||
|
%{?DisOMPI5}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%undefine c_f_ver
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 5
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-mvapich2-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%undefine c_f_ver
|
||||||
|
%define mpi_flavor mvapich2
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-mpich-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%undefine c_f_ver
|
||||||
|
%define mpi_flavor mpich
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu7-hpc"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%define c_f_ver 7
|
||||||
|
%bcond_with mpi
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu7-openmpi4-hpc"
|
||||||
|
%{?DisOMPI4}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 7
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 4
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu7-openmpi5-hpc"
|
||||||
|
%{?DisOMPI5}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 7
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 5
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu7-mvapich2-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 7
|
||||||
|
%define mpi_flavor mvapich2
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu7-mpich-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 7
|
||||||
|
%define mpi_flavor mpich
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu8-hpc"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%define c_f_ver 8
|
||||||
|
%bcond_with mpi
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu8-openmpi4-hpc"
|
||||||
|
%{?DisOMPI4}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 8
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 4
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu8-openmpi5-hpc"
|
||||||
|
%{?DisOMPI5}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 8
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 5
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu8-mvapich2-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 8
|
||||||
|
%define mpi_flavor mvapich2
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu8-mpich-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 8
|
||||||
|
%define mpi_flavor mpich
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu9-hpc"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%define c_f_ver 9
|
||||||
|
%bcond_with mpi
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu9-openmpi4-hpc"
|
||||||
|
%{?DisOMPI4}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 9
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 4
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu9-openmpi5-hpc"
|
||||||
|
%{?DisOMPI5}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 9
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 5
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu9-mvapich2-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 9
|
||||||
|
%define mpi_flavor mvapich2
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu9-mpich-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 9
|
||||||
|
%define mpi_flavor mpich
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu10-hpc"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%define c_f_ver 10
|
||||||
|
%bcond_with mpi
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu10-openmpi4-hpc"
|
||||||
|
%{?DisOMPI4}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 10
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 4
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu10-openmpi5-hpc"
|
||||||
|
%{?DisOMPI5}
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 10
|
||||||
|
%global mpi_flavor openmpi
|
||||||
|
%define mpi_vers 5
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu10-mvapich2-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 10
|
||||||
|
%define mpi_flavor mvapich2
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu10-mpich-hpc"
|
||||||
|
%global compiler_family gnu
|
||||||
|
%define c_f_ver 10
|
||||||
|
%define mpi_flavor mpich
|
||||||
|
%bcond_without hpc
|
||||||
|
%bcond_without mpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# now exchange the paths
|
||||||
|
%if %{with hpc}
|
||||||
|
%{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}}
|
||||||
|
%{?with_hpc:%{!?compiler_family:%global compiler_family gnu}}
|
||||||
|
%{?with_mpi:%{!?mpi_flavor:%global mpi_flavor openmpi}}
|
||||||
|
%{?with_mpi:%global hpc_module_pname p%{pname}}
|
||||||
|
# needed by the hpc tools
|
||||||
|
ExcludeArch: %ix86
|
||||||
|
%{hpc_init -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} %{?with_mpi:-m {%mpi_flavor}} %{?mpi_vers:-V %{mpi_vers}} %{?ext:-e %{ext}}}
|
||||||
|
%define package_base %{hpc_install_path_base}
|
||||||
|
%define package_prefix %hpc_prefix
|
||||||
|
%define package_bindir %hpc_bindir
|
||||||
|
%define package_libdir %hpc_libdir
|
||||||
|
%define package_datadir %hpc_datadir
|
||||||
|
%define package_includedir %hpc_includedir
|
||||||
|
%define package_mandir %hpc_mandir
|
||||||
|
%define package_docdir %hpc_docdir
|
||||||
|
%define package_infodir %hpc_infodir
|
||||||
|
%define package_name %{hpc_package_name %_ver}
|
||||||
|
%define package_libname lib%{package_name}
|
||||||
|
%else
|
||||||
|
%define package_base %{_prefix}
|
||||||
|
%define package_prefix %{_prefix}
|
||||||
|
%define package_bindir %{_bindir}
|
||||||
|
%define package_libdir %{_libdir}
|
||||||
|
%define package_datadir %{_datadir}
|
||||||
|
%define package_includedir %{_includedir}
|
||||||
|
%define package_mandir %{_mandir}
|
||||||
|
%define package_docdir %{_docdir}
|
||||||
|
%define package_infodir %{_infodir}
|
||||||
|
%define package_name %pname%{?my_suffix}
|
||||||
|
%define package_libname lib%{pname}-3
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: %package_name
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
Version: 3.3.10
|
||||||
|
Release: 0
|
||||||
|
Summary: Discrete Fourier Transform (DFT) C Subroutine Library
|
||||||
|
License: GPL-2.0-or-later
|
||||||
|
Group: Productivity/Scientific/Math
|
||||||
|
URL: http://www.fftw.org
|
||||||
|
Source: ftp://ftp.fftw.org/pub/fftw/fftw-%{version}%{?pl_ext:-%{pl_ext}}.tar.gz
|
||||||
|
Source1: %{pname}-rpmlintrc
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if %{with hpc}
|
||||||
|
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
||||||
|
BuildRequires: lua-lmod
|
||||||
|
BuildRequires: suse-hpc
|
||||||
|
%if %{with mpi}
|
||||||
|
BuildRequires: %{mpi_flavor}%{?mpi_vers}-%{compiler_family}%{?c_f_ver}-hpc-macros-devel
|
||||||
|
%endif
|
||||||
|
%else
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: gcc-fortran
|
||||||
|
Requires: %{package_name}-libs = %{version}
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
BuildRequires: openmpi-macros-devel
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
FFTW is a C subroutine library for computing the Discrete Fourier
|
||||||
|
Transform (DFT) in one or more dimensions, of both real and complex
|
||||||
|
data, and of arbitrary input size.
|
||||||
|
|
||||||
|
%if %{with hpc}
|
||||||
|
%%{hpc_master_package -L}
|
||||||
|
%{hpc_master_package -l}
|
||||||
|
%{hpc_master_package -a devel}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Include Files and Libraries mandatory for Development
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %package_libname = %{version}-%{release}
|
||||||
|
Requires: glibc-devel
|
||||||
|
Requires(post): %install_info_prereq
|
||||||
|
Requires(preun):%install_info_prereq
|
||||||
|
%if %{with hpc}
|
||||||
|
%hpc_requires_devel
|
||||||
|
%endif
|
||||||
|
Provides: fftw-devel
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This package contains all necessary include files and libraries needed
|
||||||
|
to develop applications that require these.
|
||||||
|
|
||||||
|
%package devel-static
|
||||||
|
Summary: Static libraries for %{pname}
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{name}-devel
|
||||||
|
|
||||||
|
%description devel-static
|
||||||
|
Libraries to build statically linked applications with fftw3.
|
||||||
|
|
||||||
|
%package -n %package_libname
|
||||||
|
Summary: Discrete Fourier Transform (DFT) C Subroutine Library
|
||||||
|
# Remove Prov/Obs when appropriate; were added 2011-Nov-21 (post-openSUSE-12.1)
|
||||||
|
Group: System/Libraries
|
||||||
|
Provides: fftw3 = %{version}-%{release}
|
||||||
|
Obsoletes: fftw3 < 3.3
|
||||||
|
%if %{with hpc}
|
||||||
|
%hpc_requires
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description -n %package_libname
|
||||||
|
FFTW is a C subroutine library for computing the Discrete Fourier
|
||||||
|
Transform (DFT) in one or more dimensions, of both real and complex
|
||||||
|
data, and of arbitrary input size.
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%package -n libfftw3_threads3
|
||||||
|
Summary: Discrete Fourier Transform (DFT) C subroutine library
|
||||||
|
Group: Productivity/Scientific/Math
|
||||||
|
Provides: fftw3-threads = %{version}-%{release}
|
||||||
|
Obsoletes: fftw3-threads < 3.3
|
||||||
|
# libfftw3_threads.so does not have a DT_NEEDED entry for fftw symbols, since it
|
||||||
|
# may be used with either libfftw3.so or libfftw3f.so. Hence, manual Requires.
|
||||||
|
#Requires: libfftw3-3 = %%{version}
|
||||||
|
|
||||||
|
%description -n libfftw3_threads3
|
||||||
|
FFTW is a C subroutine library for computing the Discrete Fourier
|
||||||
|
Transform (DFT) in one or more dimensions, of both real and complex
|
||||||
|
data, and of arbitrary input size.
|
||||||
|
|
||||||
|
%package threads-devel
|
||||||
|
Summary: Discrete Fourier Transform (DFT) C subroutine library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: fftw3-devel = %{version}-%{release}
|
||||||
|
Requires: glibc-devel
|
||||||
|
Requires: libfftw3_threads3 = %{version}-%{release}
|
||||||
|
|
||||||
|
%description threads-devel
|
||||||
|
FFTW is a C subroutine library for computing the Discrete Fourier
|
||||||
|
Transform (DFT) in one or more dimensions, of both real and complex
|
||||||
|
data, and of arbitrary input size.
|
||||||
|
|
||||||
|
%package -n libfftw3_omp3
|
||||||
|
Summary: Discrete Fourier Transform (DFT) C subroutine library
|
||||||
|
Group: Productivity/Scientific/Math
|
||||||
|
Provides: fftw3-openmp = %{version}-%{release}
|
||||||
|
Obsoletes: fftw3-openmp < 3.3
|
||||||
|
# Same as libfftw3_threads.so: manual Requires for fftw3 main lib
|
||||||
|
#Requires: libfftw3-3 = %%{version}
|
||||||
|
|
||||||
|
%description -n libfftw3_omp3
|
||||||
|
FFTW is a C subroutine library for computing the Discrete Fourier
|
||||||
|
Transform (DFT) in one or more dimensions, of both real and complex
|
||||||
|
data, and of arbitrary input size.
|
||||||
|
|
||||||
|
%package openmp-devel
|
||||||
|
Summary: Discrete Fourier Transform (DFT) C subroutine library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: fftw3-devel = %{version}-%{release}
|
||||||
|
Requires: glibc-devel
|
||||||
|
Requires: libfftw3_omp3 = %{version}-%{release}
|
||||||
|
|
||||||
|
%description openmp-devel
|
||||||
|
FFTW is a C subroutine library for computing the Discrete Fourier
|
||||||
|
Transform (DFT) in one or more dimensions, of both real and complex
|
||||||
|
data, and of arbitrary input size.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%package -n libfftw3_mpi3
|
||||||
|
Summary: Discrete Fourier Transform (DFT) C subroutine library
|
||||||
|
Group: Productivity/Scientific/Math
|
||||||
|
Provides: fftw3-mpi = %{version}-%{release}
|
||||||
|
Obsoletes: fftw3-mpi < 3.3
|
||||||
|
# Same as libfftw3_threads.so: manual Requires for fftw3 main lib
|
||||||
|
#Requires: libfftw3-3 = %%{version}
|
||||||
|
#Requires: openmpi
|
||||||
|
|
||||||
|
%description -n libfftw3_mpi3
|
||||||
|
FFTW is a C subroutine library for computing the Discrete Fourier
|
||||||
|
Transform (DFT) in one or more dimensions, of both real and complex
|
||||||
|
data, and of arbitrary input size.
|
||||||
|
|
||||||
|
%package mpi-devel
|
||||||
|
Summary: Discrete Fourier Transform (DFT) C subroutine library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: fftw3-devel = %{version}
|
||||||
|
Requires: glibc-devel
|
||||||
|
Requires: libfftw3_mpi3 = %{version}-%{release}
|
||||||
|
Requires: openmpi-devel
|
||||||
|
|
||||||
|
%description mpi-devel
|
||||||
|
FFTW is a C subroutine library for computing the Discrete Fourier
|
||||||
|
Transform (DFT) in one or more dimensions, of both real and complex
|
||||||
|
data, and of arbitrary input size.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{bname}-%{version}%{?pl_ext:-%{pl_ext}}
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
cat > %{_sourcedir}/baselibs.conf <<EOF
|
||||||
|
%{package_libname}
|
||||||
|
lib%{name}_threads3
|
||||||
|
lib%{name}_omp3
|
||||||
|
lib%{name}_mpi3
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%build
|
||||||
|
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||||
|
%if %{with hpc}
|
||||||
|
%hpc_setup
|
||||||
|
%endif
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%if "%{mpi_flavor}" == "standard"
|
||||||
|
%setup_openmpi
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%configure \
|
||||||
|
--disable-static \
|
||||||
|
%else
|
||||||
|
%hpc_configure \
|
||||||
|
--enable-static \
|
||||||
|
%endif
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%if %{with mpi}
|
||||||
|
--enable-mpi \
|
||||||
|
%endif
|
||||||
|
%ifarch %ix86 x86_64
|
||||||
|
--enable-sse2 \
|
||||||
|
--enable-avx \
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
--enable-shared \
|
||||||
|
--enable-threads \
|
||||||
|
--enable-openmp
|
||||||
|
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
%install
|
||||||
|
%if %{with hpc}
|
||||||
|
%{hpc_setup}
|
||||||
|
%endif
|
||||||
|
%makeinstall
|
||||||
|
|
||||||
|
# remove unneeded files
|
||||||
|
%{!?with_hpc:rm -f %{buildroot}%{package_libdir}/lib*.*a}
|
||||||
|
|
||||||
|
# hack to also compile/install single-precision version:
|
||||||
|
make distclean
|
||||||
|
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%if "%{mpi_flavor}" == "standard"
|
||||||
|
%setup_openmpi
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%configure \
|
||||||
|
%else
|
||||||
|
%hpc_configure \
|
||||||
|
%endif
|
||||||
|
--enable-shared --enable-threads --enable-float --enable-openmp \
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%if %{with mpi}
|
||||||
|
--enable-mpi \
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%ifarch %ix86 x86_64
|
||||||
|
--enable-sse2 \
|
||||||
|
%endif
|
||||||
|
--disable-static
|
||||||
|
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
%makeinstall
|
||||||
|
|
||||||
|
# hack to also compile/install long-double-precision version:
|
||||||
|
make distclean
|
||||||
|
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%if "%{mpi_flavor}" == "standard"
|
||||||
|
%setup_openmpi
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if %{without hpc}
|
||||||
|
%configure \
|
||||||
|
%else
|
||||||
|
%hpc_configure \
|
||||||
|
%endif
|
||||||
|
--enable-shared --enable-threads --enable-long-double --enable-openmp \
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%if %{with mpi}
|
||||||
|
--enable-mpi \
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
--disable-static
|
||||||
|
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
%makeinstall
|
||||||
|
|
||||||
|
# remove unneeded files
|
||||||
|
%{!?with_hpc:rm -f %{buildroot}%{package_libdir}/lib*.*a}
|
||||||
|
|
||||||
|
gzip -9nf %{buildroot}%{package_infodir}/*.info*
|
||||||
|
|
||||||
|
# remove Makefiles in doc directory at last
|
||||||
|
find doc -name 'Makefile*' | xargs rm
|
||||||
|
%if %{with hpc}
|
||||||
|
%hpc_write_modules_files
|
||||||
|
#%%Module1.0#####################################################################
|
||||||
|
|
||||||
|
proc ModulesHelp { } {
|
||||||
|
|
||||||
|
puts stderr " "
|
||||||
|
puts stderr "This module loads the %{pname} library built with the %{compiler_family} toolchain."
|
||||||
|
puts stderr "\nVersion %{version}\n"
|
||||||
|
|
||||||
|
}
|
||||||
|
module-whatis "Name: %{pname} built with %{compiler_family} toolchain"
|
||||||
|
module-whatis "Version: %{version}"
|
||||||
|
module-whatis "Category: runtime library"
|
||||||
|
module-whatis "Description: %{summary:0}"
|
||||||
|
module-whatis "URL: %{url}"
|
||||||
|
|
||||||
|
set version %{version}
|
||||||
|
|
||||||
|
prepend-path PATH %{hpc_bindir}
|
||||||
|
prepend-path MANPATH %{hpc_mandir}
|
||||||
|
prepend-path INCLUDE %{hpc_includedir}
|
||||||
|
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
|
||||||
|
setenv %{BNAME}_DIR %{hpc_prefix}
|
||||||
|
setenv %{BNAME}_BIN %{hpc_bindir}
|
||||||
|
setenv %{BNAME}_LIB %{hpc_libdir}
|
||||||
|
setenv %{BNAME}_INC %{hpc_includedir}
|
||||||
|
if ([file isdirectory %{hpc_includedir}]) {
|
||||||
|
# should work also for fortran
|
||||||
|
prepend-path LIBRARY_PATH %{hpc_libdir}
|
||||||
|
prepend-path CPATH %{hpc_includedir}
|
||||||
|
prepend-path C_INCLUDE_PATH %{hpc_includedir}
|
||||||
|
prepend-path CPLUS_INCLUDE_PATH %{hpc_includedir}
|
||||||
|
}
|
||||||
|
|
||||||
|
%{hpc_modulefile_add_pkgconfig_path}
|
||||||
|
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%fdupes -s doc
|
||||||
|
|
||||||
|
# cmake files are incomplete and useless when installed via auto-tools (bsc#1194728)
|
||||||
|
rm -rf %{buildroot}%{package_libdir}/cmake
|
||||||
|
|
||||||
|
%preun devel
|
||||||
|
%install_info_delete --info-dir=%{package_infodir} %{package_infodir}/fftw3.info.gz
|
||||||
|
|
||||||
|
%post devel
|
||||||
|
%install_info --info-dir=%{package_infodir} %{package_infodir}/fftw3.info.gz
|
||||||
|
|
||||||
|
%post -n %package_libname -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n %package_libname -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%post -n libfftw3_threads3 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libfftw3_threads3 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%post -n libfftw3_omp3 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libfftw3_omp3 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%post -n libfftw3_mpi3 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libfftw3_mpi3 -p /sbin/ldconfig
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files -n %package_libname
|
||||||
|
%{package_libdir}/libfftw3.so.3*
|
||||||
|
%{package_libdir}/libfftw3f.so.3*
|
||||||
|
%{package_libdir}/libfftw3l.so.3*
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%files -n libfftw3_threads3
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR {without hpc}
|
||||||
|
%{package_libdir}/libfftw3_threads.so.3*
|
||||||
|
%{package_libdir}/libfftw3f_threads.so.3*
|
||||||
|
%{package_libdir}/libfftw3l_threads.so.3*
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%files -n libfftw3_omp3
|
||||||
|
%else
|
||||||
|
%hpc_modules_files
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR {without hpc}
|
||||||
|
%{package_libdir}/libfftw3_omp.so.3*
|
||||||
|
%{package_libdir}/libfftw3f_omp.so.3*
|
||||||
|
%{package_libdir}/libfftw3l_omp.so.3*
|
||||||
|
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%if %{with mpi}
|
||||||
|
%if %{without hpc}
|
||||||
|
%files -n libfftw3_mpi3
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR {without hpc}
|
||||||
|
%{package_libdir}/libfftw3_mpi.so.3*
|
||||||
|
%{package_libdir}/libfftw3f_mpi.so.3*
|
||||||
|
%{package_libdir}/libfftw3l_mpi.so.3*
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR {without mpi}
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR ARCH s390 s390x
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%if %{with hpc}
|
||||||
|
%{package_infodir}/
|
||||||
|
%hpc_dirs
|
||||||
|
%dir %package_libdir/pkgconfig
|
||||||
|
%dir %package_includedir
|
||||||
|
%dir %package_mandir
|
||||||
|
%dir %package_mandir/man1
|
||||||
|
%dir %package_infodir
|
||||||
|
%dir %package_bindir
|
||||||
|
%dir %package_datadir
|
||||||
|
%endif
|
||||||
|
%license COPYING
|
||||||
|
%doc AUTHORS CONVENTIONS COPYRIGHT ChangeLog NEWS README TODO
|
||||||
|
%doc doc/*
|
||||||
|
%doc %{package_mandir}/man?/*
|
||||||
|
%{package_infodir}/*.info*
|
||||||
|
%{package_includedir}/fftw3.*
|
||||||
|
%{package_includedir}/fftw3q.f03
|
||||||
|
%{package_includedir}/fftw3l.f03
|
||||||
|
%{package_libdir}/libfftw3.so
|
||||||
|
%{package_libdir}/libfftw3f.so
|
||||||
|
%{package_libdir}/libfftw3l.so
|
||||||
|
%{package_libdir}/pkgconfig/*.pc
|
||||||
|
%{package_bindir}/*
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%files threads-devel
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR {without hpc}
|
||||||
|
%{package_libdir}/libfftw3_threads.so
|
||||||
|
%{package_libdir}/libfftw3f_threads.so
|
||||||
|
%{package_libdir}/libfftw3l_threads.so
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%files openmp-devel
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR {without hpc}
|
||||||
|
%{package_libdir}/libfftw3_omp.so
|
||||||
|
%{package_libdir}/libfftw3f_omp.so
|
||||||
|
%{package_libdir}/libfftw3l_omp.so
|
||||||
|
|
||||||
|
%ifnarch s390 s390x
|
||||||
|
%if %{with mpi}
|
||||||
|
%if %{without hpc}
|
||||||
|
%files mpi-devel
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR {without hpc}
|
||||||
|
%{package_libdir}/libfftw3_mpi.so
|
||||||
|
%{package_libdir}/libfftw3f_mpi.so
|
||||||
|
%{package_libdir}/libfftw3l_mpi.so
|
||||||
|
%{package_includedir}/fftw3-mpi.*
|
||||||
|
%{package_includedir}/fftw3l-mpi.f03
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR {with mpi}
|
||||||
|
%endif
|
||||||
|
# ENDIF FOR arch s390 s390x
|
||||||
|
|
||||||
|
%if %{with hpc}
|
||||||
|
%files devel-static
|
||||||
|
%{package_libdir}/*.*a
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Reference in New Issue
Block a user