diff --git a/.gitignore b/.gitignore index d62ef01..5bfb61d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/openmp-14.0.6.src.tar.xz -SOURCES/tstellar-gpg-key.asc +SOURCES/openmp-15.0.7.src.tar.xz +SOURCES/release-keys.asc diff --git a/.libomp.metadata b/.libomp.metadata index 3801658..a7af112 100644 --- a/.libomp.metadata +++ b/.libomp.metadata @@ -1,2 +1,2 @@ -647f1db43c1bb3b8b7c947dd54a1c3d247685d68 SOURCES/openmp-14.0.6.src.tar.xz -b8d2648a01d36ed0186fd2c5af325fd28797f9a0 SOURCES/tstellar-gpg-key.asc +d8a0b4314a65a4ad3a82fbcbc59876cfcf09c95b SOURCES/openmp-15.0.7.src.tar.xz +347bdd5ee6d6b93c9644c268511815912c0fb2dc SOURCES/release-keys.asc diff --git a/SOURCES/0001-PATCH-openmp-CMake-Make-LIBOMP_HEADERS_INSTALL_PATH-.patch b/SOURCES/0001-PATCH-openmp-CMake-Make-LIBOMP_HEADERS_INSTALL_PATH-.patch deleted file mode 100644 index e7febcf..0000000 --- a/SOURCES/0001-PATCH-openmp-CMake-Make-LIBOMP_HEADERS_INSTALL_PATH-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f2c9c1c9cda831a4305e2dc8899d630ed727353a Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Tue, 16 May 2017 11:52:19 -0400 -Subject: [PATCH] [PATCH][openmp] CMake: Make LIBOMP_HEADERS_INSTALL_PATH a - cache variable when bulding standalone - -This way it can be overriden on the command line. ---- - openmp/runtime/src/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt -index 822f9ca..583a3c3 100644 ---- a/openmp/runtime/src/CMakeLists.txt -+++ b/openmp/runtime/src/CMakeLists.txt -@@ -346,7 +346,7 @@ add_dependencies(libomp-micro-tests libomp-test-deps) - # We want to install libomp in DESTDIR/CMAKE_INSTALL_PREFIX/lib - # We want to install headers in DESTDIR/CMAKE_INSTALL_PREFIX/include - if(${OPENMP_STANDALONE_BUILD}) -- set(LIBOMP_HEADERS_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR}") -+ set(LIBOMP_HEADERS_INSTALL_PATH include CACHE PATH "Install path for OpenMP headers") - else() - string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION ${PACKAGE_VERSION}) - set(LIBOMP_HEADERS_INSTALL_PATH "${OPENMP_INSTALL_LIBDIR}/clang/${CLANG_VERSION}/include") --- -1.8.3.1 - diff --git a/SOURCES/openmp-14.0.6.src.tar.xz.sig b/SOURCES/openmp-14.0.6.src.tar.xz.sig deleted file mode 100644 index 77f81a1..0000000 Binary files a/SOURCES/openmp-14.0.6.src.tar.xz.sig and /dev/null differ diff --git a/SOURCES/openmp-15.0.7.src.tar.xz.sig b/SOURCES/openmp-15.0.7.src.tar.xz.sig new file mode 100644 index 0000000..731d3ac Binary files /dev/null and b/SOURCES/openmp-15.0.7.src.tar.xz.sig differ diff --git a/SPECS/libomp.spec b/SPECS/libomp.spec index 53a2d46..e7cfde0 100644 --- a/SPECS/libomp.spec +++ b/SPECS/libomp.spec @@ -1,6 +1,8 @@ -%global libomp_version 14.0.6 -#global rc_ver 1 -%global libomp_srcdir openmp-%{libomp_version}%{?rc_ver:rc%{rc_ver}}.src +%global toolchain gcc + +%global maj_ver 15 +%global libomp_version %{maj_ver}.0.7 +%global libomp_srcdir openmp-%{libomp_version}.src %ifarch ppc64le @@ -10,22 +12,21 @@ %endif Name: libomp -Version: %{libomp_version}%{?rc_ver:~rc%{rc_ver}} +Version: %{libomp_version} Release: 1%{?dist} Summary: OpenMP runtime for clang License: NCSA URL: http://openmp.llvm.org -Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libomp_version}%{?rc_ver:-rc%{rc_ver}}/%{libomp_srcdir}.tar.xz -Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libomp_version}%{?rc_ver:-rc%{rc_ver}}/%{libomp_srcdir}.tar.xz.sig -Source2: tstellar-gpg-key.asc +Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libomp_version}/%{libomp_srcdir}.tar.xz +Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{libomp_version}/%{libomp_srcdir}.tar.xz.sig +Source2: release-keys.asc Source3: run-lit-tests Source4: lit.fedora.cfg.py -Patch0: 0001-PATCH-openmp-CMake-Make-LIBOMP_HEADERS_INSTALL_PATH-.patch - -BuildRequires: gcc -BuildRequires: gcc-c++ +BuildRequires: clang +# For clang-offload-packager +BuildRequires: clang-tools-extra BuildRequires: cmake BuildRequires: ninja-build BuildRequires: elfutils-libelf-devel @@ -50,6 +51,7 @@ OpenMP runtime for clang. %package devel Summary: OpenMP header files +Requires: %{name}%{?isa} = %{version}-%{release} Requires: clang-resource-filesystem%{?isa} = %{version} %description devel @@ -61,8 +63,6 @@ Requires: %{name}%{?isa} = %{version}-%{release} Requires: %{name}-devel%{?isa} = %{version}-%{release} Requires: clang Requires: llvm -Requires: gcc -Requires: gcc-c++ Requires: python3-lit %description test @@ -73,14 +73,17 @@ OpenMP regression tests %autosetup -n %{libomp_srcdir} -p2 %build -# LTO causes build failures in this package. Disable LTO for now -# https://bugzilla.redhat.com/show_bug.cgi?id=1988155 -%define _lto_cflags %{nil} -%cmake -GNinja \ +%if "%toolchain" == "gcc" +# Building openmp with LTO fails with GCC but works with Clang +%define _lto_cflags %{nil} +%endif + +%cmake -GNinja \ -DLIBOMP_INSTALL_ALIASES=OFF \ + -DCMAKE_MODULE_PATH=%{_libdir}/cmake/llvm \ -DLLVM_DIR=%{_libdir}/cmake/llvm \ - -DLIBOMP_HEADERS_INSTALL_PATH:PATH=%{_libdir}/clang/%{libomp_version}/include \ + -DCMAKE_INSTALL_INCLUDEDIR=%{_libdir}/clang/%{libomp_version}/include \ %if 0%{?__isa_bits} == 64 -DOPENMP_LIBDIR_SUFFIX=64 \ %else @@ -132,11 +135,11 @@ rm -rf %{buildroot}%{_libdir}/libarcher_static.a %{_libdir}/libarcher.so %endif %ifnarch %{ix86} %{arm} -%{_libdir}/libomptarget.rtl.amdgpu.so -%{_libdir}/libomptarget.rtl.cuda.so -%{_libdir}/libomptarget.rtl.%{libomp_arch}.so +%{_libdir}/libomptarget.rtl.amdgpu.so.%{maj_ver} +%{_libdir}/libomptarget.rtl.cuda.so.%{maj_ver} +%{_libdir}/libomptarget.rtl.%{libomp_arch}.so.%{maj_ver} %endif -%{_libdir}/libomptarget.so +%{_libdir}/libomptarget.so.%{maj_ver} %files devel %{_libdir}/clang/%{libomp_version}/include/omp.h @@ -144,16 +147,35 @@ rm -rf %{buildroot}%{_libdir}/libarcher_static.a %ifnarch %{arm} %{_libdir}/clang/%{libomp_version}/include/omp-tools.h %{_libdir}/clang/%{libomp_version}/include/ompt.h -# FIXME: This is probably wrong. Seems like LIBOMP_HEADERS_INSTALL may -# not be respected. -%{_includedir}/ompt-multiplex.h +%{_libdir}/clang/%{libomp_version}/include/ompt-multiplex.h %endif +%ifnarch %{ix86} %{arm} +%{_libdir}/libomptarget.rtl.amdgpu.so +%{_libdir}/libomptarget.rtl.cuda.so +%{_libdir}/libomptarget.rtl.%{libomp_arch}.so +%{_libdir}/libomptarget.devicertl.a +%{_libdir}/libomptarget-amdgpu-*.bc +%{_libdir}/libomptarget-nvptx-*.bc +%endif +%{_libdir}/libomptarget.so %files test %{_datadir}/libomp %{_libexecdir}/tests/libomp/ %changelog +* Mon Jan 16 2023 Konrad Kleine - 15.0.7-1 +- Update to LLVM 15.0.7 + +* Fri Dec 09 2022 Konrad Kleine - 15.0.6-1 +- 15.0.6 Release + +* Fri Oct 28 2022 Konrad Kleine - 15.0.1-2 +- Build libomp runtime library with gcc + +* Thu Sep 29 2022 Konrad Kleine - 15.0.1-1 +- 15.0.1 Release + * Wed Jul 20 2022 Timm Bäder - 14.0.6-1 - 14.0.6 Release @@ -264,12 +286,12 @@ rm -rf %{buildroot}%{_libdir}/libarcher_static.a - Use gnupg verify * Tue Jun 16 2020 sguelton@redhat.com - 10.0.0-3 -- Add Requires: libomp = %{version}-%{release} to libomp-test to avoid +- Add Requires: libomp = %%{version}-%%{release} to libomp-test to avoid the need to test interoperability between the various combinations of old and new subpackages. * Mon Jun 01 2020 sguelton@redhat.com - 10.0.0-2 -- Add Requires: libomp-devel = %{version}-%{release} to libomp-test to avoid +- Add Requires: libomp-devel = %%{version}-%%{release} to libomp-test to avoid the need to test interoperability between the various combinations of old and new subpackages.