Add test for building an rpm with -fopenmp
This commit is contained in:
parent
4ae8585417
commit
906570b432
6
tests/openmp-rpm/main.fmf
Normal file
6
tests/openmp-rpm/main.fmf
Normal file
@ -0,0 +1,6 @@
|
||||
summary: Test build a simple RPM package to ensure that -fopenmp works
|
||||
require:
|
||||
- dnf
|
||||
- dnf-plugins-core
|
||||
- rpm-build
|
||||
test: ./runtest.sh
|
6
tests/openmp-rpm/runtest.sh
Executable file
6
tests/openmp-rpm/runtest.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
dnf -y build-dep test.spec
|
||||
rpmbuild --define '_sourcedir .' --define '_builddir .' -bb test.spec
|
7
tests/openmp-rpm/test.c
Normal file
7
tests/openmp-rpm/test.c
Normal file
@ -0,0 +1,7 @@
|
||||
int main(int argc, char **argv) {
|
||||
int res = 1;
|
||||
#pragma omp parallel
|
||||
#pragma omp single
|
||||
res = 0;
|
||||
return res;
|
||||
}
|
34
tests/openmp-rpm/test.spec
Normal file
34
tests/openmp-rpm/test.spec
Normal file
@ -0,0 +1,34 @@
|
||||
%global toolchain clang
|
||||
|
||||
Name: test
|
||||
Version: 1
|
||||
Release: 1
|
||||
Summary: Test package for checking that RPM packages using -fopenmp build correctly
|
||||
License: MIT
|
||||
|
||||
BuildRequires: clang
|
||||
BuildRequires: libomp
|
||||
|
||||
Source0: test.c
|
||||
|
||||
%description
|
||||
clang was adding RUNPATH to binaries that use OpenMP, and since RUNPATH
|
||||
is prohibited in Fedora builds, this was causing packages using clang
|
||||
and OpenMP to fail to build.
|
||||
|
||||
References:
|
||||
https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild
|
||||
https://github.com/llvm/llvm-project/commit/9b9d08111b618d74574ba03e5cc3d752ecc56f55
|
||||
|
||||
%build
|
||||
clang ${CFLAGS} -fopenmp %{SOURCE0} -o main
|
||||
|
||||
%check
|
||||
./main
|
||||
|
||||
%install
|
||||
install -d %{buildroot}%{_bindir}
|
||||
install main %{buildroot}%{_bindir}
|
||||
|
||||
%files
|
||||
%{_bindir}/main
|
Loading…
Reference in New Issue
Block a user