%bcond_with test %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0} %define ver_suffix %(echo "%{version}" | cut -d . -f 1) %define _unpackaged_files_terminate_build 1 # see https://sourceware.org/bugzilla/show_bug.cgi?id=25271 %global optflags %(echo %{optflags} -D_DEFAULT_SOURCE) # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93615 %global optflags %(echo %{optflags} -Dasm=__asm__) Summary: LLVM "compiler-rt" runtime libraries Summary(ja): LLVM "compiler-rt" ランタイムライブラリ Name: compiler-rt Version: 18.1.5 %define shortver %(echo %{version} | cut -d. -f1) Release: 1%{?_dist_release} Group: programming Vendor: Project Vine Distribution: Vine Linux License: NCSA URL: https://llvm.org/ Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/compiler-rt-%{version}.src.tar.xz # patches Patch0: 0001-compiler-rt-Fix-FLOAT16-feature-detection.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: cmake BuildRequires: ninja BuildRequires: clang BuildRequires: python3 BuildRequires: python3-devel BuildRequires: llvm-devel = %{version} BuildRequires: llvm-static = %{version} Requires: clang = %{version}-%{release} # LLVM is not supported on PPC64 # http://llvm.org/bugs/show_bug.cgi?id=3729 ExcludeArch: ppc64 %description The compiler-rt project is a part of the LLVM project. It provides implementation of the low-level target-specific hooks required by code generation, sanitizer runtimes and profiling library for code instrumentation, and Blocks C language extension. %debug_package %prep %autosetup -n compiler-rt-%{version}.src -p2 # compiler-rt does not allow configuring LLVM_COMMON_CMAKE_UTILS. rm -f ../cmake ln -s %{_datadir}/llvm/cmake ../cmake pathfix%{python3_version}.py -i %{__python3} -pn lib/hwasan/scripts/hwasan_symbolize %build # Copy CFLAGS into ASMFLAGS, so -fcf-protection is used when compiling assembly files. export ASMFLAGS=$CFLAGS %cmake \ -GNinja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_MODULE_PATH=%{_libdir}/cmake/llvm \ -DCMAKE_SKIP_RPATH:BOOL=ON \ -DCOMPILER_RT_INSTALL_PATH=%{_libdir}/clang/%{shortver} \ -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON \ %if 0%{?__isa_bits} == 64 -DLLVM_LIBDIR_SUFFIX=64 \ %else -DLLVM_LIBDIR_SUFFIX= \ %endif -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF # could be on? %cmake_build %install %cmake_install %if %{with test} %check #cmake_build --target check-compiler-rt %endif %clean rm -rf %{buildroot} %files %license LICENSE.TXT %ifarch x86_64 aarch64 %{_libdir}/clang/%{shortver}/bin/* %endif %{_libdir}/clang/%{shortver}/include/* %{_libdir}/clang/%{shortver}/lib/* %{_libdir}/clang/%{shortver}/share/* %changelog * Sat May 04 2024 Tomohiro "Tomo-p" KATO 18.1.5-1 - new upstream release. * Sat Oct 07 2023 Tomohiro "Tomo-p" KATO 17.0.2-1 - new upstream release. * Sun Oct 01 2023 Tomohiro "Tomo-p" KATO 17.0.1-1 - new upstream release. * Sun May 28 2023 Tomohiro "Tomo-p" KATO 16.0.4-1 - new upstream release. * Fri Dec 16 2022 Tomohiro "Tomo-p" KATO 15.0.6-1 - new upstream release. * Thu Oct 06 2022 Tomohiro "Tomo-p" KATO 15.0.2-1 - new upstream release. * Wed Sep 07 2022 Tomohiro "Tomo-p" KATO 15.0.0-1 - new upstream release. * Thu Jun 16 2022 Tomohiro "Tomo-p" KATO 14.0.5-1 - new upstream release. - dropped Patch0. - imported Patch0 from rawhide. * Thu Feb 03 2022 Tomohiro "Tomo-p" KATO 13.0.1-1 - new upstream release. * Fri Oct 22 2021 Tomohiro "Tomo-p" KATO 13.0.0-1 - new upstream release. * Wed Aug 11 2021 Tomohiro "Tomo-p" KATO 12.0.1-1 - new upstream release. * Sat Apr 17 2021 Tomohiro "Tomo-p" KATO 12.0.0-1 - devided compiler-rt from llvm. - new upstream release. * Fri Oct 16 2020 Tomohiro "Tomo-p" KATO 11.0.0-2 - enabled to build utils. * Thu Oct 15 2020 Tomohiro "Tomo-p" KATO 11.0.0-1 - new upstream release. * Mon Aug 17 2020 Tomohiro "Tomo-p" KATO 10.0.1-1 - new upstream release. * Thu Apr 16 2020 Tomohiro "Tomo-p" KATO 10.0.0-2 - rebuilt with libffi-3.3. * Fri Mar 27 2020 Tomohiro "Tomo-p" KATO 10.0.0-1 - new upstream release. * Sun Dec 22 2019 Tomohiro "Tomo-p" KATO 9.0.1-1 - new upstream release. * Sun Sep 22 2019 Tomohiro "Tomo-p" KATO 9.0.0-2 - dropped all patches. - switched build-system to ninja. - switched python to python3. * Fri Sep 20 2019 Tomohiro "Tomo-p" KATO 9.0.0-1 - new upstream release. - added OpenMP. * Sun Dec 16 2018 Tomohiro "Tomo-p" KATO 7.0.1-1 - fixed %%files. * Wed Dec 05 2018 Tomohiro "Tomo-p" KATO 7.0.0-1 - new upstream release. - dropped Patch0, 4, 5, 100 and 200. - imported Patch3, 7, 12, 15, 100, 101, 102 and 400 from rawhide. - renamed a subpackage "llvm-libs". - added a subpackage "lld". * Tue Jan 02 2018 Tomohiro "Tomo-p" KATO 5.0.1-2 - added subpackages "llvm-static", "python-lldb" and "python-clang". * Mon Jan 01 2018 Tomohiro "Tomo-p" KATO 5.0.1-1 - new upstream release. - dropped Patch1 and 2: fixed in upstream. - imported Patch0, 3-5, 100 and 200 from rawhide. - disabled Patch1002: no longer needed? * Fri Aug 5 2016 Tomohiro "Tomo-p" KATO 3.8.1-1 - new upstream release. - switched to cmake. - disable ocaml binding as default. - updated Patch1000 and 1002. - disabled Patch1000 as default. - cleanup patches. * Thu Jun 30 2016 Yoji TOYODA 3.6.2-2 - rebuild with gcc-5.4.0 * Sat Sep 5 2015 Ryoichi INAGAKI 3.6.2-1 - new upstream release - added BR: ocaml-ctypes * Thu Jun 4 2015 Ryoichi INAGAKI 3.6.1-1 - new upstream release - dropt Patch 1, 201 and 1001 - updated Patch 1000 * Tue Mar 24 2015 Ryoichi INAGAKI 3.5.1-1 - updated to 3.5.1 - added Patch1, 2, 100, 101, 200, 201 and 202 from Fedora - added clang-libs, lldb, lldb-devel and compat32-llvm-libs subpackage - obsoleted clang-doc - built with ocaml 4.02.1 * Sat Nov 29 2014 Yoji TOYODA 3.5.0-2 - fix - fix configure option "--with-c-include-dirs" - update Patch1000: clang-3.5.0-driver-ld.gold.patch - update Patch1001: clang-3.5.0-driver-lib64.patch - update Patch1002: clang-3.5.0-driver-vine.patch * Tue Oct 28 2014 Yoji TOYODA 3.5.0-1 - update to 3.5.0 - remove Patch11 (clang-hardfloat-hack.patch) * Sun Jul 06 2014 Yoji TOYODA 3.3-2 - rebuild with libffi-3.0.13 * Mon Oct 28 2013 Daisuke SUZUKI 3.3-1 - update to 3.3 * Mon Dec 03 2012 Daisuke SUZUKI 3.1-2 - ld.gold (patch1000,1001) - add /%{_lib} to ld search path - add support *-vine-linux gcc (patch1002) * Fri Nov 30 2012 Daisuke SUZUKI 3.1-1 - update to 3.1 * Tue Jan 24 2012 NAKAMURA Kenta - 3.0-1 - updated to 3.0 release * Sun Jan 15 2012 NAKAMURA Kenta - 2.9-3 - added patch 2-4 to support -O4 link-time optimization * Fri Sep 9 2011 MATSUBAYASHI Kohji - 2.9-2 - disable -fno-var-tracking-assignments on ppc (seems like gcc-4.4.5 still doesn't support this) * Thu Aug 25 2011 Daisuke SUZUKI 2.9-1 - new upstream release - add BR: libffi-devel - add R: libffi-devel to -devel * Sun May 23 2010 Daisuke SUZUKI 2.7-1 - initial build for Vine Linux * Sun May 2 2010 Michel Salim - 2.7-1 - Update to final 2.7 release * Sun Mar 28 2010 Michel Salim - 2.7-0.1.pre1 - Update to first 2.7 pre-release * Fri Sep 18 2009 Michel Salim - 2.6-0.6.pre2 - Update to 2.6 pre-release2 - -devel subpackage now virtually provides -static * Wed Sep 9 2009 Michel Salim - 2.6-0.5.pre1 - Disable var tracking assignments on PPC * Wed Sep 9 2009 Michel Salim - 2.6-0.4.pre1 - Don't adjust clang include dir; files there are noarch (bz#521893) - Enable clang unit tests - clang and clang-analyzer renamed; no longer depend on llvm at runtime * Mon Sep 7 2009 Michel Salim - 2.6-0.3.pre1 - Package Clang's static analyzer tools * Mon Sep 7 2009 Michel Salim - 2.6-0.2.pre1 - PIC is now enabled by default; explicitly disable on %%{ix86} * Mon Sep 7 2009 Michel Salim - 2.6-0.1.pre1 - First 2.6 prerelease - Enable Clang front-end - Enable debuginfo generation * Sat Sep 5 2009 Michel Salim - 2.5-6 - Disable assertions (needed by OpenGTL, bz#521261) - Align spec file with upstream build instructions - Enable unit tests * Sat Aug 22 2009 Michel Salim - 2.5-5 - Only disable PIC on %%ix86; ppc actually needs it * Sat Aug 22 2009 Michel Salim - 2.5-4 - Disable use of position-independent code on 32-bit platforms (buggy in LLVM <= 2.5) * Sat Jul 25 2009 Fedora Release Engineering - 2.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Mar 4 2009 Michel Salim - 2.5-2 - Remove build scripts; they require the build directory to work * Wed Mar 4 2009 Michel Salim - 2.5-1 - Update to 2.5 - Package build scripts (bug #457881) * Tue Dec 2 2008 Michel Salim - 2.4-2 - Patched build process for the OCaml binding * Tue Dec 2 2008 Michel Salim - 2.4-1 - Update to 2.4 - Package Ocaml binding * Wed Jun 18 2008 Bryan O'Sullivan - 2.3-2 - Add dependency on groff * Wed Jun 18 2008 Bryan O'Sullivan - 2.3-1 - LLVM 2.3 * Thu May 29 2008 Tom "spot" Callaway - 2.2-4 - fix license tags * Wed Mar 5 2008 Bryan O'Sullivan - 2.2-3 - Fix compilation problems with gcc 4.3 * Mon Feb 18 2008 Fedora Release Engineering - 2.2-2 - Autorebuild for GCC 4.3 * Sun Jan 20 2008 Bryan O'Sullivan - 2.1-2 - Fix review comments * Sun Jan 20 2008 Bryan O'Sullivan - 2.1-1 - Initial version