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