Accepting request 533655 from home:eeich:hpc_alt
- Generate baselib.conf dynamically and only for the non-HPC builds: this avoids issues with the source validator. - Convert openblas to multibuild. - Add HPC build using environment modules. (FATE#321708). - fix-arm64-cpuid-return.patch Fix CPUID detection on ARM (From OHPC). OBS-URL: https://build.opensuse.org/request/show/533655 OBS-URL: https://build.opensuse.org/package/show/science/openblas?expand=0&rev=55
This commit is contained in:
parent
2dc7521b9a
commit
48de63cb9e
23
README.HPC.SUSE
Normal file
23
README.HPC.SUSE
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
openSUSE specific packaging
|
||||||
|
===========================
|
||||||
|
|
||||||
|
OpenBLAS provides optimized implementations of BLAS and LAPACK.
|
||||||
|
openSUSE provides two variants:
|
||||||
|
* With OpenMP support
|
||||||
|
* With threading support
|
||||||
|
The serial variant has been dropped. To run a program
|
||||||
|
which requires the serial version (ie. because it is
|
||||||
|
multi-threaded itself), either specify the environment
|
||||||
|
variable OMP_NUM_THREADS=1 or place a call to
|
||||||
|
void openblas_set_num_threads(int num_threads);
|
||||||
|
in your program to limit the number of threads this library
|
||||||
|
uses to 1.
|
||||||
|
|
||||||
|
On x86 systems OpenBLAS uses dynamic architectures support,
|
||||||
|
so it contains all CPU-related optimizations.
|
||||||
|
|
||||||
|
How to switch between the various BLAS/LAPACK implementations
|
||||||
|
=============================================================
|
||||||
|
|
||||||
|
The openmp and threaded variants may be installed in parallel.
|
||||||
|
To select which one to use please use the 'modules' command.
|
10
_constraints
Normal file
10
_constraints
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<constraints>
|
||||||
|
<hardware>
|
||||||
|
<disk>
|
||||||
|
<size unit="G">20</size>
|
||||||
|
</disk>
|
||||||
|
<memory>
|
||||||
|
<size unit="M">8000</size>
|
||||||
|
</memory>
|
||||||
|
</hardware>
|
||||||
|
</constraints>
|
7
_multibuild
Normal file
7
_multibuild
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>serial</package>
|
||||||
|
<package>openmp</package>
|
||||||
|
<package>pthreads</package>
|
||||||
|
<package>gnu-hpc</package>
|
||||||
|
<package>gnu-hpc-pthreads</package>
|
||||||
|
</multibuild>
|
25
fix-arm64-cpuid-return.patch
Normal file
25
fix-arm64-cpuid-return.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From 63d4fcdecd40cb9eee8228680521ff93a80a8e11 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eric Van Hensbergen <eric.vanhensbergen@arm.com>
|
||||||
|
Date: Tue, 23 Aug 2016 11:29:27 -0500
|
||||||
|
Subject: [PATCH] fix-arm64-cpuid-return
|
||||||
|
|
||||||
|
---
|
||||||
|
cpuid_arm64.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/cpuid_arm64.c b/cpuid_arm64.c
|
||||||
|
index c7a27f8..95fc708 100644
|
||||||
|
--- a/cpuid_arm64.c
|
||||||
|
+++ b/cpuid_arm64.c
|
||||||
|
@@ -59,7 +59,7 @@ int get_feature(char *search)
|
||||||
|
fclose(infile);
|
||||||
|
|
||||||
|
|
||||||
|
- if( p == NULL ) return;
|
||||||
|
+ if( p == NULL ) return(0);
|
||||||
|
|
||||||
|
t = strtok(p," ");
|
||||||
|
while( t = strtok(NULL," "))
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
@ -1,3 +1,18 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 12 10:01:10 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- Generate baselib.conf dynamically and only for the non-HPC
|
||||||
|
builds: this avoids issues with the source validator.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 8 14:30:29 UTC 2017 - eich@suse.com
|
||||||
|
|
||||||
|
- Convert openblas to multibuild.
|
||||||
|
- Add HPC build using environment modules.
|
||||||
|
(FATE#321708).
|
||||||
|
- fix-arm64-cpuid-return.patch
|
||||||
|
Fix CPUID detection on ARM (From OHPC).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Aug 9 19:45:54 UTC 2017 - dmitry_r@opensuse.org
|
Wed Aug 9 19:45:54 UTC 2017 - dmitry_r@opensuse.org
|
||||||
|
|
||||||
|
602
openblas.spec
602
openblas.spec
@ -16,152 +16,233 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
Name: openblas
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
Version: 0.2.20
|
|
||||||
|
%define _vers 0_2_20
|
||||||
|
%define vers 0.2.20
|
||||||
|
%define pname openblas
|
||||||
|
|
||||||
|
%if "%flavor" == ""
|
||||||
|
%define package_name %{pname}
|
||||||
|
ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%global build_flags USE_THREAD=1 USE_OPENMP=1
|
||||||
|
|
||||||
|
%if "%flavor" == "serial"
|
||||||
|
%define build_flags USE_THREAD=0 USE_OPENMP=0
|
||||||
|
%define openblas_so_prio 20
|
||||||
|
# we build devel packages only from one flavor
|
||||||
|
%define build_devel 1
|
||||||
|
%{bcond_with hpc}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "pthreads"
|
||||||
|
%define build_flags USE_THREAD=1 USE_OPENMP=0
|
||||||
|
%ifarch %ix86 x86_64
|
||||||
|
%define openblas_so_prio 50
|
||||||
|
%else
|
||||||
|
%define openblas_so_prio 20
|
||||||
|
%endif
|
||||||
|
%{bcond_with hpc}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "openmp"
|
||||||
|
%ifarch %ix86 x86_64
|
||||||
|
%define openblas_so_prio 20
|
||||||
|
%else
|
||||||
|
%define openblas_so_prio 50
|
||||||
|
%endif
|
||||||
|
%{bcond_with hpc}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu-hpc"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%undefine c_f_ver
|
||||||
|
%{bcond_without hpc}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu6-hpc"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%define c_f_ver 6
|
||||||
|
%{bcond_without hpc}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu-hpc-pthreads"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%undefine c_f_ver
|
||||||
|
%define ext pthreads
|
||||||
|
%define build_flags USE_THREAD=1 USE_OPENMP=0
|
||||||
|
%{bcond_without hpc}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu6-hpc-pthreads"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%define c_f_ver 6
|
||||||
|
%define ext pthreads
|
||||||
|
%define build_flags USE_THREAD=1 USE_OPENMP=0
|
||||||
|
%{bcond_without hpc}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%if 0%{!?package_name:1}
|
||||||
|
%define package_name %{pname}_%{flavor}
|
||||||
|
%endif
|
||||||
|
%define so_v 0
|
||||||
|
%define p_prefix %_prefix
|
||||||
|
%define p_includedir %_includedir/%pname
|
||||||
|
%define p_libdir %_libdir
|
||||||
|
%define p_cmakedir %{p_libdir}/cmake/%{pname}
|
||||||
|
%define num_threads 64
|
||||||
|
|
||||||
|
%else
|
||||||
|
%define package_name %{hpc_package_name %_vers}
|
||||||
|
|
||||||
|
%define p_prefix %hpc_prefix
|
||||||
|
%define p_includedir %hpc_includedir
|
||||||
|
%define p_libdir %hpc_libdir
|
||||||
|
%define p_cmakedir %{hpc_libdir}/cmake
|
||||||
|
%define num_threads 256
|
||||||
|
|
||||||
|
%{hpc_init -c %{compiler_family} %{?c_f_ver:-v %{c_f_ver}} %{?ext:-e %{ext}}}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: %{package_name}
|
||||||
|
Version: %vers
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: An optimized BLAS library based on GotoBLAS2
|
Summary: An optimized BLAS library based on GotoBLAS2
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
Group: Productivity/Scientific/Math
|
Group: Productivity/Scientific/Math
|
||||||
Url: http://www.openblas.net
|
Url: http://www.openblas.net
|
||||||
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
Source0: https://github.com/xianyi/OpenBLAS/archive/v%{version}.tar.gz#/%{pname}-%{version}.tar.gz
|
||||||
Source1: README.SUSE
|
Source1: README.SUSE
|
||||||
|
Source2: README.HPC.SUSE
|
||||||
# PATCH-FIX-UPSTREAM c_xerbla_no-void-return.patch
|
# PATCH-FIX-UPSTREAM c_xerbla_no-void-return.patch
|
||||||
Patch1: c_xerbla_no-void-return.patch
|
Patch1: c_xerbla_no-void-return.patch
|
||||||
# PATCH-FIX-UPSTREAM openblas-noexecstack.patch
|
# PATCH-FIX-UPSTREAM openblas-noexecstack.patch
|
||||||
Patch2: openblas-noexecstack.patch
|
Patch2: openblas-noexecstack.patch
|
||||||
|
# PATCH-FIX-UPSTREADM fix-arm64-cpuid-return.patch
|
||||||
|
Patch4: fix-arm64-cpuid-return.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
BuildRequires: gcc-fortran
|
BuildRequires: gcc-fortran
|
||||||
BuildRequires: update-alternatives
|
BuildRequires: update-alternatives
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
|
%else
|
||||||
|
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
||||||
|
BuildRequires: lua-lmod
|
||||||
|
BuildRequires: suse-hpc
|
||||||
|
%global dep_summary %{summary}
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
||||||
|
|
||||||
%package -n lib%{name}_serial0
|
%package -n lib%{name}%{?so_v}
|
||||||
Summary: An optimized BLAS library based on GotoBLAS2, serial version
|
Summary: An optimized BLAS library based on GotoBLAS2, %{flavor} version
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
%if %{without hpc}
|
||||||
Requires(post): update-alternatives
|
Requires(post): update-alternatives
|
||||||
Requires(preun): update-alternatives
|
Requires(preun): update-alternatives
|
||||||
Obsoletes: lib%{name}0 < %{version}
|
%if "%flavor" == "serial"
|
||||||
Provides: lib%{name}0 = %{version}
|
Obsoletes: lib%{pname}%{so_v} < %{version}
|
||||||
|
Provides: lib%{pname}%{so_v} = %{version}
|
||||||
|
%else
|
||||||
|
Obsoletes: lib%{pname}0
|
||||||
|
%endif
|
||||||
|
%if "%flavor" == "pthreads"
|
||||||
|
Obsoletes: lib%{pname}p0
|
||||||
|
%endif
|
||||||
|
%if "%flavor" == "openmp"
|
||||||
|
Obsoletes: lib%{pname}o0
|
||||||
|
%endif
|
||||||
|
%else # with hpc
|
||||||
|
Requires: lua-lmod
|
||||||
|
%endif
|
||||||
|
|
||||||
%description -n lib%{name}_serial0
|
%description -n lib%{name}%{?so_v}
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
||||||
|
|
||||||
%package -n lib%{name}_serial-devel
|
%{?with_hpc:%{hpc_master_package -l -L}}
|
||||||
Summary: Development libraries for OpenBLAS, serial version
|
|
||||||
Group: Development/Libraries/C and C++
|
|
||||||
Requires: %{name}-devel-headers = %{version}
|
|
||||||
Requires: lib%{name}_serial0 = %{version}
|
|
||||||
|
|
||||||
%description -n lib%{name}_serial-devel
|
%package -n lib%{name}-devel
|
||||||
|
Summary: Development libraries for OpenBLAS, %{flavor} version
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: lib%{name}%{?so_v} = %{version}
|
||||||
|
%if %{without hpc}
|
||||||
|
Requires: %{pname}-devel-headers = %{version}
|
||||||
|
%else
|
||||||
|
%hpc_requires_devel
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description -n lib%{name}-devel
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
||||||
|
|
||||||
This package contains the development libraries for serial OpenBLAS version.
|
This package contains the development libraries for serial OpenBLAS version.
|
||||||
|
|
||||||
%package -n lib%{name}_openmp0
|
%{?with_hpc:%{hpc_master_package -l -L devel}}
|
||||||
Summary: An optimized BLAS library based on GotoBLAS2, OpenMP version
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires(post): update-alternatives
|
|
||||||
Requires(preun): update-alternatives
|
|
||||||
Obsoletes: lib%{name}0
|
|
||||||
Obsoletes: lib%{name}o0
|
|
||||||
|
|
||||||
%description -n lib%{name}_openmp0
|
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
|
||||||
|
|
||||||
This package contains the library compiled with OpenMP support.
|
|
||||||
|
|
||||||
%package -n lib%{name}_openmp-devel
|
|
||||||
Summary: Development libraries for OpenBLAS, OpenMP version
|
|
||||||
Group: Development/Libraries/C and C++
|
|
||||||
Requires: %{name}-devel-headers = %{version}
|
|
||||||
Requires: lib%{name}_openmp0 = %{version}
|
|
||||||
|
|
||||||
%description -n lib%{name}_openmp-devel
|
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
|
||||||
|
|
||||||
This package contains the development libraries for OpenMP OpenBLAS version.
|
|
||||||
|
|
||||||
%package -n lib%{name}_pthreads0
|
|
||||||
Summary: An optimized BLAS library based on GotoBLAS2, pthreads version
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires(post): update-alternatives
|
|
||||||
Requires(preun): update-alternatives
|
|
||||||
Obsoletes: lib%{name}0
|
|
||||||
Obsoletes: lib%{name}p0
|
|
||||||
|
|
||||||
%description -n lib%{name}_pthreads0
|
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
|
||||||
|
|
||||||
This package contains the library compiled with threading support.
|
|
||||||
|
|
||||||
%package -n lib%{name}_pthreads-devel
|
|
||||||
Summary: Development headers and libraries for OpenBLAS, pthreads version
|
|
||||||
Group: Development/Libraries/C and C++
|
|
||||||
Requires: %{name}-devel-headers = %{version}
|
|
||||||
Requires: lib%{name}_pthreads0 = %{version}
|
|
||||||
|
|
||||||
%description -n lib%{name}_pthreads-devel
|
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
|
||||||
|
|
||||||
This package contains the development libraries for pthreads OpenBLAS version.
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: Development headers and libraries for OpenBLAS
|
|
||||||
Group: Development/Libraries/C and C++
|
|
||||||
Requires: %{name}-devel-headers = %{version}
|
|
||||||
%ifarch %ix86 x86_64
|
|
||||||
Requires: lib%{name}_pthreads-devel = %{version}
|
|
||||||
%else
|
|
||||||
Requires: lib%{name}_openmp-devel = %{version}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
|
||||||
|
|
||||||
This package contains the development libraries and headers for OpenBLAS.
|
|
||||||
|
|
||||||
%package devel-headers
|
|
||||||
Summary: Development headers for OpenBLAS
|
|
||||||
Group: Development/Libraries/C and C++
|
|
||||||
Conflicts: %{name}-devel < %{version}
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
%description devel-headers
|
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
|
||||||
|
|
||||||
This package contains headers for OpenBLAS.
|
|
||||||
|
|
||||||
%package devel-static
|
%package devel-static
|
||||||
Summary: Static version of OpenBLAS
|
Summary: Static version of OpenBLAS
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Requires: %{name}-devel = %{version}
|
%if %{without hpc}
|
||||||
|
Requires: %{pname}-devel = %{version}
|
||||||
|
%else
|
||||||
|
Requires: lib%{name}-devel = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
%description devel-static
|
%description devel-static
|
||||||
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
||||||
|
|
||||||
This package contains the static libraries.
|
This package contains the static libraries.
|
||||||
|
|
||||||
%prep
|
%package -n %{pname}-devel
|
||||||
%setup -q -c -T
|
Summary: Development headers and libraries for OpenBLAS
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: %{pname}-devel-headers = %{version}
|
||||||
|
%ifarch %ix86 x86_64
|
||||||
|
Requires: lib%{pname}_pthreads-devel = %{version}
|
||||||
|
%else
|
||||||
|
Requires: lib%{pname}_openmp-devel = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
# Untar source
|
%description -n %{pname}-devel
|
||||||
tar -zxf %{SOURCE0}
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
||||||
cd OpenBLAS-%{version}
|
|
||||||
|
%package -n %{pname}-devel-headers
|
||||||
|
Summary: Development headers for OpenBLAS
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Conflicts: %{pname}-devel < %{version}
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n %{pname}-devel-headers
|
||||||
|
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
|
||||||
|
|
||||||
|
This package contains headers for OpenBLAS.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
|
||||||
|
%setup -q -n OpenBLAS-%{version}
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
cd ..
|
%patch4 -p1
|
||||||
|
|
||||||
# Prepare build for serial, pthreads and OpenMP versions
|
|
||||||
cp -ar OpenBLAS-%{version} openmp
|
|
||||||
cp -ar OpenBLAS-%{version} pthreads
|
|
||||||
mv OpenBLAS-%{version} serial
|
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
cp %{SOURCE1} .
|
cp %{SOURCE1} .
|
||||||
|
%else
|
||||||
|
cp %{SOURCE2} .
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
|
%if %{with hpc}
|
||||||
|
%hpc_debug
|
||||||
|
%hpc_setup_compiler
|
||||||
|
%endif
|
||||||
|
|
||||||
# Only x86/x86-64 CPUs support DYNAMIC_ARCH
|
# Only x86/x86-64 CPUs support DYNAMIC_ARCH
|
||||||
%ifarch %ix86 x86_64
|
%ifarch %ix86 x86_64
|
||||||
%define openblas_target DYNAMIC_ARCH=1
|
%define openblas_target DYNAMIC_ARCH=1
|
||||||
@ -171,227 +252,206 @@ cp %{SOURCE1} .
|
|||||||
%define openblas_target TARGET=ARMV8
|
%define openblas_target TARGET=ARMV8
|
||||||
%endif
|
%endif
|
||||||
# Make serial, threaded and OpenMP versions
|
# Make serial, threaded and OpenMP versions
|
||||||
make -C serial %{?openblas_target} USE_THREAD=0 USE_OPENMP=0 LIBNAMESUFFIX=serial \
|
make %{?_smp_mflags} %{?openblas_target} %{?build_flags} \
|
||||||
FC=gfortran CC=gcc COMMON_OPT="%{optflags}" NUM_THREADS=64 V=1
|
COMMON_OPT="%{optflags}" \
|
||||||
make -C openmp %{?openblas_target} USE_THREAD=1 USE_OPENMP=1 LIBNAMESUFFIX=openmp \
|
NUM_THREADS=%{num_threads} V=1 \
|
||||||
FC=gfortran CC=gcc COMMON_OPT="%{optflags}" NUM_THREADS=64 V=1
|
OPENBLAS_LIBRARY_DIR=%{p_libdir} \
|
||||||
make -C pthreads %{?openblas_target} USE_THREAD=1 USE_OPENMP=0 LIBNAMESUFFIX=pthreads \
|
OPENBLAS_INCLUDE_DIR=%{hpc_includedir} \
|
||||||
FC=gfortran CC=gcc COMMON_OPT="%{optflags}" NUM_THREADS=64 V=1
|
OPENBLAS_CMAKE_DIR=%{p_cmakedir} \
|
||||||
|
PREFIX=%{p_prefix} \
|
||||||
|
%{!?with_hpc:LIBNAMESUFFIX=%flavor FC=gfortran CC=gcc}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
%if %{with hpc}
|
||||||
|
%hpc_setup_compiler
|
||||||
|
%endif
|
||||||
|
|
||||||
# Install serial library and headers
|
# Install serial library and headers
|
||||||
make -C serial USE_THREAD=0 LIBNAMESUFFIX=serial \
|
%make_install %{?build_flags} \
|
||||||
OPENBLAS_LIBRARY_DIR=%{buildroot}%{_libdir} \
|
OPENBLAS_LIBRARY_DIR=%{p_libdir} \
|
||||||
OPENBLAS_INCLUDE_DIR=%{buildroot}%{_includedir}/%{name} \
|
OPENBLAS_INCLUDE_DIR=%{p_includedir} \
|
||||||
OPENBLAS_CMAKE_DIR=%{buildroot}%{_libdir}/cmake/%{name} \
|
OPENBLAS_CMAKE_DIR=%{p_cmakedir} \
|
||||||
PREFIX=%{buildroot}%{_prefix} install
|
PREFIX=%{p_prefix} \
|
||||||
|
%{!?with_hpc:LIBNAMESUFFIX=%flavor}
|
||||||
|
|
||||||
|
# Delete info about OBS host cpu
|
||||||
|
%ifarch %ix86 x86_64
|
||||||
|
sed -i '/#define OPENBLAS_NEEDBUNDERSCORE/,/#define OPENBLAS_VERSION/{//!d}' \
|
||||||
|
%{buildroot}%{p_includedir}/openblas_config.h
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
|
||||||
|
%if 0%{!?build_devel:1}
|
||||||
|
# We need the includes only once
|
||||||
|
rm -rf %{buildroot}%{p_includedir}/
|
||||||
|
rm -rf %{buildroot}%{p_libdir}/cmake/
|
||||||
|
%else
|
||||||
|
# Fix cmake config file
|
||||||
|
sed -i 's|%{buildroot}||g' %{buildroot}%{p_cmakedir}/*.cmake
|
||||||
|
sed -i 's|_serial||g' %{buildroot}%{p_cmakedir}/*.cmake
|
||||||
|
%endif
|
||||||
|
|
||||||
# Put libraries in correct location
|
# Put libraries in correct location
|
||||||
rm -rf %{buildroot}%{_libdir}/lib%{name}*
|
rm -rf %{buildroot}%{p_libdir}/lib%{name}*
|
||||||
|
|
||||||
# Install the serial library
|
# Install the serial library
|
||||||
install -D -p -m 755 serial/lib%{name}_serial.so %{buildroot}%{_libdir}/lib%{name}_serial.so.0
|
install -D -p -m 755 lib%{name}.so %{buildroot}%{p_libdir}/lib%{name}.so.0
|
||||||
install -D -p -m 644 serial/lib%{name}_serial.a %{buildroot}%{_libdir}/lib%{name}_serial.a
|
install -D -p -m 644 lib%{name}.a %{buildroot}%{p_libdir}/lib%{name}.a
|
||||||
|
|
||||||
# Install the OpenMP library
|
|
||||||
install -D -p -m 755 openmp/lib%{name}_openmp.so %{buildroot}%{_libdir}/lib%{name}_openmp.so.0
|
|
||||||
install -D -p -m 644 openmp/lib%{name}_openmp.a %{buildroot}%{_libdir}/lib%{name}_openmp.a
|
|
||||||
|
|
||||||
# Install the threaded library
|
|
||||||
install -D -p -m 755 pthreads/lib%{name}_pthreads.so %{buildroot}%{_libdir}/lib%{name}_pthreads.so.0
|
|
||||||
install -D -p -m 644 pthreads/lib%{name}_pthreads.a %{buildroot}%{_libdir}/lib%{name}_pthreads.a
|
|
||||||
|
|
||||||
# Fix source permissions (also applies to LAPACK)
|
# Fix source permissions (also applies to LAPACK)
|
||||||
find -name \*.f -exec chmod 644 {} +
|
find -name \*.f -exec chmod 644 {} +
|
||||||
|
|
||||||
# Remove pkgconfig file, it can't be configured for different library suffixes we use and, as such, is useless
|
# Remove pkgconfig file, it can't be configured for different library suffixes we use and, as such, is useless
|
||||||
rm -fr %{buildroot}%{_libdir}/pkgconfig/
|
rm -fr %{buildroot}%{p_libdir}/pkgconfig/
|
||||||
|
|
||||||
# Dummy target for update-alternatives
|
# Dummy target for update-alternatives
|
||||||
install -d %{buildroot}/%{_sysconfdir}/alternatives
|
install -d %{buildroot}/%{_sysconfdir}/alternatives
|
||||||
ln -s lib%{name}.so.0 %{buildroot}/%{_libdir}/lib%{name}.so.0
|
ln -s lib%{pname}.so.0 %{buildroot}/%{p_libdir}/lib%{pname}.so.0
|
||||||
ln -s lib%{name}.so.0 %{buildroot}/%{_sysconfdir}/alternatives/lib%{name}.so.0
|
ln -s lib%{pname}.so.0 %{buildroot}/%{_sysconfdir}/alternatives/lib%{pname}.so.0
|
||||||
ln -s lib%{name}.so.0 %{buildroot}/%{_libdir}/libblas.so.3
|
ln -s lib%{pname}.so.0 %{buildroot}/%{p_libdir}/libblas.so.3
|
||||||
ln -s lib%{name}.so.0 %{buildroot}/%{_libdir}/libcblas.so.3
|
ln -s lib%{pname}.so.0 %{buildroot}/%{p_libdir}/libcblas.so.3
|
||||||
ln -s lib%{name}.so.0 %{buildroot}/%{_libdir}/liblapack.so.3
|
ln -s lib%{pname}.so.0 %{buildroot}/%{p_libdir}/liblapack.so.3
|
||||||
ln -s lib%{name}.so.0 %{buildroot}/%{_sysconfdir}/alternatives/libblas.so.3
|
ln -s lib%{pname}.so.0 %{buildroot}/%{_sysconfdir}/alternatives/libblas.so.3
|
||||||
ln -s lib%{name}.so.0 %{buildroot}/%{_sysconfdir}/alternatives/libcblas.so.3
|
ln -s lib%{pname}.so.0 %{buildroot}/%{_sysconfdir}/alternatives/libcblas.so.3
|
||||||
ln -s lib%{name}.so.0 %{buildroot}/%{_sysconfdir}/alternatives/liblapack.so.3
|
ln -s lib%{pname}.so.0 %{buildroot}/%{_sysconfdir}/alternatives/liblapack.so.3
|
||||||
|
|
||||||
# Fix symlinks
|
# Fix symlinks
|
||||||
pushd %{buildroot}%{_libdir}
|
pushd %{buildroot}%{p_libdir}
|
||||||
|
%if 0%{?build_devel}
|
||||||
|
ln -sf lib%{pname}.so.0 lib%{pname}.so
|
||||||
|
%endif
|
||||||
ln -sf lib%{name}.so.0 lib%{name}.so
|
ln -sf lib%{name}.so.0 lib%{name}.so
|
||||||
# Serial libraries
|
|
||||||
ln -sf lib%{name}_serial.so.0 lib%{name}_serial.so
|
|
||||||
# OpenMP libraries
|
|
||||||
ln -sf lib%{name}_openmp.so.0 lib%{name}_openmp.so
|
|
||||||
# Threaded libraries
|
|
||||||
ln -sf lib%{name}_pthreads.so.0 lib%{name}_pthreads.so
|
|
||||||
|
|
||||||
# Fix cmake config file
|
%else # with hpc
|
||||||
sed -i 's|%{buildroot}||g' %{buildroot}%{_libdir}/cmake/%{name}/*.cmake
|
|
||||||
sed -i 's|_serial||g' %{buildroot}%{_libdir}/cmake/%{name}/*.cmake
|
|
||||||
|
|
||||||
# Delete info about OBS host cpu
|
# HPC module file
|
||||||
%ifarch %ix86 x86_64
|
%hpc_write_modules_files
|
||||||
sed -i '/#define OPENBLAS_NEEDBUNDERSCORE/,/#define OPENBLAS_VERSION/{//!d}' %{buildroot}%{_includedir}/%{name}/openblas_config.h
|
#%%Module1.0#####################################################################
|
||||||
%endif
|
|
||||||
|
|
||||||
%post -n lib%{name}_serial0
|
proc ModulesHelp { } {
|
||||||
|
|
||||||
|
puts stderr " "
|
||||||
|
puts stderr "This module loads the %{pname} library built with the %{compiler_family} compiler 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: %{dep_summary}"
|
||||||
|
module-whatis "%{url}"
|
||||||
|
|
||||||
|
set version %{version}
|
||||||
|
|
||||||
|
prepend-path LD_LIBRARY_PATH %{p_libdir}
|
||||||
|
|
||||||
|
setenv %{hpc_upcase %pname}_DIR %{hpc_prefix}
|
||||||
|
|
||||||
|
if {[file isdirectory %{hpc_includedir}]} {
|
||||||
|
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}
|
||||||
|
prepend-path INCLUDE %{hpc_includedir}
|
||||||
|
%hpc_modulefile_add_pkgconfig_path
|
||||||
|
|
||||||
|
setenv %{hpc_upcase %pname}_LIB %{hpc_libdir}
|
||||||
|
}
|
||||||
|
|
||||||
|
family "openblas"
|
||||||
|
EOF
|
||||||
|
%{hpc_write_pkgconfig -l %{pname}}
|
||||||
|
|
||||||
|
%endif # with hpc
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
|
||||||
|
%post -n lib%{name}%{so_v}
|
||||||
%{_sbindir}/update-alternatives --install \
|
%{_sbindir}/update-alternatives --install \
|
||||||
%{_libdir}/libblas.so.3 libblas.so.3 %{_libdir}/lib%{name}_serial.so.0 20
|
%{p_libdir}/libblas.so.3 libblas.so.3 %{p_libdir}/lib%{name}.so.%{so_v} 20
|
||||||
%{_sbindir}/update-alternatives --install \
|
%{_sbindir}/update-alternatives --install \
|
||||||
%{_libdir}/libcblas.so.3 libcblas.so.3 %{_libdir}/lib%{name}_serial.so.0 20
|
%{p_libdir}/libcblas.so.3 libcblas.so.3 %{p_libdir}/lib%{name}.so.%{so_v} 20
|
||||||
%{_sbindir}/update-alternatives --install \
|
%{_sbindir}/update-alternatives --install \
|
||||||
%{_libdir}/liblapack.so.3 liblapack.so.3 %{_libdir}/lib%{name}_serial.so.0 20
|
%{p_libdir}/liblapack.so.3 liblapack.so.3 %{p_libdir}/lib%{name}.so.%{so_v} 20
|
||||||
%{_sbindir}/update-alternatives --install \
|
%{_sbindir}/update-alternatives --install \
|
||||||
%{_libdir}/lib%{name}.so.0 lib%{name}.so.0 %{_libdir}/lib%{name}_serial.so.0 20
|
%{p_libdir}/lib%{pname}.so.%{so_v} lib%{name}.so.%{so_v} %{p_libdir}/lib%{name}.so.%{so_v} %openblas_so_prio
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
|
||||||
%preun -n lib%{name}_serial0
|
%preun -n lib%{name}%{so_v}
|
||||||
if [ "$1" = 0 ] ; then
|
if [ "$1" = 0 ] ; then
|
||||||
%{_sbindir}/update-alternatives --remove libblas.so.3 %{_libdir}/lib%{name}_serial.so.0
|
%{_sbindir}/update-alternatives --remove libblas.so.3 %{p_libdir}/lib%{name}.so.%{so_v}
|
||||||
%{_sbindir}/update-alternatives --remove libcblas.so.3 %{_libdir}/lib%{name}_serial.so.0
|
%{_sbindir}/update-alternatives --remove libcblas.so.3 %{p_libdir}/lib%{name}.so.%{so_v}
|
||||||
%{_sbindir}/update-alternatives --remove liblapack.so.3 %{_libdir}/lib%{name}_serial.so.0
|
%{_sbindir}/update-alternatives --remove liblapack.so.3 %{p_libdir}/lib%{name}.so.%{so_v}
|
||||||
%{_sbindir}/update-alternatives --remove lib%{name}.so.0 %{_libdir}/lib%{name}_serial.so.0
|
%{_sbindir}/update-alternatives --remove lib%{name}.so.0 %{p_libdir}/lib%{name}.so.%{so_v}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%postun -n lib%{name}_serial0 -p /sbin/ldconfig
|
%postun -n lib%{name}%{so_v} -p /sbin/ldconfig
|
||||||
|
|
||||||
%posttrans -n lib%{name}_serial0
|
%posttrans -n lib%{name}%{so_v}
|
||||||
if [ "$1" = 0 ] ; then
|
if [ "$1" = 0 ] ; then
|
||||||
if ! [ -f %{_libdir}/lib%{name}.so.0 ] ; then
|
if ! [ -f %{p_libdir}/lib%{name}.so.%{so_v} ] ; then
|
||||||
%{_sbindir}/update-alternatives --auto lib%{name}.so.0
|
%{_sbindir}/update-alternatives --auto lib%{pname}.so.%{so_v}
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%post -n lib%{name}_openmp0
|
|
||||||
%{_sbindir}/update-alternatives --install \
|
|
||||||
%{_libdir}/libblas.so.3 libblas.so.3 %{_libdir}/lib%{name}_openmp.so.0 20
|
|
||||||
%{_sbindir}/update-alternatives --install \
|
|
||||||
%{_libdir}/libcblas.so.3 libcblas.so.3 %{_libdir}/lib%{name}_openmp.so.0 20
|
|
||||||
%{_sbindir}/update-alternatives --install \
|
|
||||||
%{_libdir}/liblapack.so.3 liblapack.so.3 %{_libdir}/lib%{name}_openmp.so.0 20
|
|
||||||
%{_sbindir}/update-alternatives --install \
|
|
||||||
%ifarch %ix86 x86_64
|
|
||||||
%{_libdir}/lib%{name}.so.0 lib%{name}.so.0 %{_libdir}/lib%{name}_openmp.so.0 20
|
|
||||||
%else
|
%else
|
||||||
%{_libdir}/lib%{name}.so.0 lib%{name}.so.0 %{_libdir}/lib%{name}_openmp.so.0 50
|
|
||||||
|
%postun -n lib%{name}
|
||||||
|
%hpc_module_delete_if_default
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%preun -n lib%{name}_openmp0
|
%if %{without hpc}
|
||||||
if [ "$1" = 0 ] ; then
|
%define libname %name
|
||||||
%{_sbindir}/update-alternatives --remove libblas.so.3 %{_libdir}/lib%{name}_openmp.so.0
|
|
||||||
%{_sbindir}/update-alternatives --remove libcblas.so.3 %{_libdir}/lib%{name}_openmp.so.0
|
|
||||||
%{_sbindir}/update-alternatives --remove liblapack.so.3 %{_libdir}/lib%{name}_openmp.so.0
|
|
||||||
%{_sbindir}/update-alternatives --remove lib%{name}.so.0 %{_libdir}/lib%{name}_openmp.so.0
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun -n lib%{name}_openmp0 -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%posttrans -n lib%{name}_openmp0
|
|
||||||
if [ "$1" = 0 ] ; then
|
|
||||||
if ! [ -f %{_libdir}/lib%{name}.so.0 ] ; then
|
|
||||||
%{_sbindir}/update-alternatives --auto lib%{name}.so.0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%post -n lib%{name}_pthreads0
|
|
||||||
%{_sbindir}/update-alternatives --install \
|
|
||||||
%{_libdir}/libblas.so.3 libblas.so.3 %{_libdir}/lib%{name}_pthreads.so.0 20
|
|
||||||
%{_sbindir}/update-alternatives --install \
|
|
||||||
%{_libdir}/libcblas.so.3 libcblas.so.3 %{_libdir}/lib%{name}_pthreads.so.0 20
|
|
||||||
%{_sbindir}/update-alternatives --install \
|
|
||||||
%{_libdir}/liblapack.so.3 liblapack.so.3 %{_libdir}/lib%{name}_pthreads.so.0 20
|
|
||||||
%{_sbindir}/update-alternatives --install \
|
|
||||||
%ifarch %ix86 x86_64
|
|
||||||
%{_libdir}/lib%{name}.so.0 lib%{name}.so.0 %{_libdir}/lib%{name}_pthreads.so.0 50
|
|
||||||
%else
|
%else
|
||||||
%{_libdir}/lib%{name}.so.0 lib%{name}.so.0 %{_libdir}/lib%{name}_pthreads.so.0 20
|
%define libname %pname
|
||||||
%endif
|
%endif
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%preun -n lib%{name}_pthreads0
|
%files -n lib%{name}%{?so_v}
|
||||||
if [ "$1" = 0 ] ; then
|
|
||||||
%{_sbindir}/update-alternatives --remove libblas.so.3 %{_libdir}/lib%{name}_pthreads.so.0
|
|
||||||
%{_sbindir}/update-alternatives --remove libcblas.so.3 %{_libdir}/lib%{name}_pthreads.so.0
|
|
||||||
%{_sbindir}/update-alternatives --remove liblapack.so.3 %{_libdir}/lib%{name}_pthreads.so.0
|
|
||||||
%{_sbindir}/update-alternatives --remove lib%{name}.so.0 %{_libdir}/lib%{name}_pthreads.so.0
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun -n lib%{name}_pthreads0 -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%posttrans -n lib%{name}_pthreads0
|
|
||||||
if [ "$1" = 0 ] ; then
|
|
||||||
if ! [ -f %{_libdir}/lib%{name}.so.0 ] ; then
|
|
||||||
%{_sbindir}/update-alternatives --auto lib%{name}.so.0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files -n lib%{name}_serial0
|
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/lib%{name}_serial.so.0
|
%{p_libdir}/lib%{libname}.so.0
|
||||||
%ghost %{_libdir}/lib%{name}.so.0
|
%if %{without hpc}
|
||||||
%ghost %{_libdir}/libblas.so.3
|
%ghost %{p_libdir}/lib%{pname}.so.%{so_v}
|
||||||
%ghost %{_libdir}/libcblas.so.3
|
%ghost %{p_libdir}/libblas.so.3
|
||||||
%ghost %{_libdir}/liblapack.so.3
|
%ghost %{p_libdir}/libcblas.so.3
|
||||||
%ghost %{_sysconfdir}/alternatives/lib%{name}.so.0
|
%ghost %{p_libdir}/liblapack.so.3
|
||||||
|
%ghost %{_sysconfdir}/alternatives/lib%{pname}.so.%{so_v}
|
||||||
%ghost %{_sysconfdir}/alternatives/libblas.so.3
|
%ghost %{_sysconfdir}/alternatives/libblas.so.3
|
||||||
%ghost %{_sysconfdir}/alternatives/libcblas.so.3
|
%ghost %{_sysconfdir}/alternatives/libcblas.so.3
|
||||||
%ghost %{_sysconfdir}/alternatives/liblapack.so.3
|
%ghost %{_sysconfdir}/alternatives/liblapack.so.3
|
||||||
|
%else
|
||||||
|
%hpc_dirs
|
||||||
|
%{p_libdir}/libopenblas*r*.so
|
||||||
|
%hpc_modules_files
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -n lib%{name}_serial-devel
|
%files -n lib%{name}-devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/lib%{name}_serial.so
|
%{p_libdir}/lib%{libname}.so
|
||||||
|
%if %{with hpc}
|
||||||
%files -n lib%{name}_openmp0
|
%doc Changelog.txt GotoBLAS* LICENSE README.md README.HPC.SUSE
|
||||||
%defattr(-,root,root,-)
|
%hpc_pkgconfig_file
|
||||||
%{_libdir}/lib%{name}_openmp.so.0
|
%{p_cmakedir}/
|
||||||
%ghost %{_libdir}/lib%{name}.so.0
|
%{p_includedir}/
|
||||||
%ghost %{_libdir}/libblas.so.3
|
%endif
|
||||||
%ghost %{_libdir}/libcblas.so.3
|
|
||||||
%ghost %{_libdir}/liblapack.so.3
|
|
||||||
%ghost %{_sysconfdir}/alternatives/lib%{name}.so.0
|
|
||||||
%ghost %{_sysconfdir}/alternatives/libblas.so.3
|
|
||||||
%ghost %{_sysconfdir}/alternatives/libcblas.so.3
|
|
||||||
%ghost %{_sysconfdir}/alternatives/liblapack.so.3
|
|
||||||
|
|
||||||
%files -n lib%{name}_openmp-devel
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/lib%{name}_openmp.so
|
|
||||||
|
|
||||||
%files -n lib%{name}_pthreads0
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/lib%{name}_pthreads.so.0
|
|
||||||
%ghost %{_libdir}/lib%{name}.so.0
|
|
||||||
%ghost %{_libdir}/libblas.so.3
|
|
||||||
%ghost %{_libdir}/libcblas.so.3
|
|
||||||
%ghost %{_libdir}/liblapack.so.3
|
|
||||||
%ghost %{_sysconfdir}/alternatives/lib%{name}.so.0
|
|
||||||
%ghost %{_sysconfdir}/alternatives/libblas.so.3
|
|
||||||
%ghost %{_sysconfdir}/alternatives/libcblas.so.3
|
|
||||||
%ghost %{_sysconfdir}/alternatives/liblapack.so.3
|
|
||||||
|
|
||||||
%files -n lib%{name}_pthreads-devel
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/lib%{name}_pthreads.so
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc serial/Changelog.txt serial/GotoBLAS* serial/LICENSE serial/README.md README.SUSE
|
|
||||||
%{_libdir}/lib%{name}.so
|
|
||||||
%dir %{_libdir}/cmake
|
|
||||||
%{_libdir}/cmake/%{name}/
|
|
||||||
|
|
||||||
%files devel-headers
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_includedir}/%{name}/
|
|
||||||
|
|
||||||
%files devel-static
|
%files devel-static
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/lib%{name}_serial.a
|
#%%{p_libdir}/lib%{libname}.a
|
||||||
%{_libdir}/lib%{name}_openmp.a
|
%{p_libdir}/libopenblas*.a
|
||||||
%{_libdir}/lib%{name}_pthreads.a
|
|
||||||
|
%if 0%{?build_devel}
|
||||||
|
%files -n %{pname}-devel
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%doc Changelog.txt GotoBLAS* LICENSE README.md README.SUSE
|
||||||
|
%{p_libdir}/libopenblas.so
|
||||||
|
%dir %{p_libdir}/cmake
|
||||||
|
%{p_cmakedir}/
|
||||||
|
|
||||||
|
%files -n %{pname}-devel-headers
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{p_includedir}/
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
x
Reference in New Issue
Block a user