%bcond_without lld_libs %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 Summary: The LLVM Linker Summary(ja): LLVMリンカー Name: lld Version: 18.1.5 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}/lld-%{version}.src.tar.xz # patches # Bundle libunwind header need during build for MachO support Patch2: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: cmake BuildRequires: ninja BuildRequires: llvm-devel BuildRequires: llvm-static BuildRequires: ncurses-devel BuildRequires: zlib-ng-compat-devel Requires: lld-libs = %{version}-%{release} Requires(post): alternatives Requires(preun): alternatives %description The LLVM project linker. %if %{with lld_libs} %package -n lld-libs Summary: LLD shared libraries Summary(ja): LLD 共有ライブラリ License: NCSA Group: programming %description -n lld-libs Shared libraries for LLD. %package -n lld-devel Summary: Libraries and header files for LLD Summary(ja): LLD 用ライブラリとヘッダファイル License: NCSA Group: programming Requires: lld-libs = %{version}-%{release} %description -n lld-devel This package contains library and header files needed to develop new native programs that use the LLD infrastructure. %endif %debug_package %prep #%setup -T -q -b 1 -n cmake-%{version}.src #cd .. #mv cmake-%{version}.src cmake %autosetup -p2 -n lld-%{version}.src %build # Disable lto since it causes the COFF/libpath.test lit test to crash. %global _lto_cflags %{nil} %cmake \ -GNinja \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ %if %{with lld_libs} -DLLVM_DYLIB_COMPONENTS="all" \ -DLLVM_COMMON_CMAKE_UTILS=%{_datadir}/llvm/cmake \ %endif -DCMAKE_SKIP_RPATH:BOOL=ON \ -DPYTHON_EXECUTABLE:STRING=%{__python3} \ -DLLVM_CMAKE_DIR=%{_libdir}/cmake/llvm \ -DLLVM_INCLUDE_TESTS:BOOL=OFF \ -DLLVM_LIT_ARGS="-sv \ --path %{_libdir}/llvm" \ %if 0%{?__isa_bits} == 64 -DLLVM_LIBDIR_SUFFIX=64 \ %else -DLLVM_LIBDIR_SUFFIX= \ %endif -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \ %{nil} %cmake_build %if %{with test} # Build the unittests so we can install them. %cmake_build --target lld-test-depends %endif %install rm -rf %{buildroot} %cmake_install # This is generated by Patch1 during build and (probably) must be removed afterward rm %{buildroot}%{_includedir}/mach-o/compact_unwind_encoding.h # Required when using update-alternatives: # https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/ touch %{buildroot}%{_bindir}/ld %if !%{with lld_libs} rm -rf %{buildroot}%{_includedir}/lld %endif %if %{with test} %check %cmake_build --target check-lld %endif %clean rm -rf %{buildroot} %post /sbin/alternatives --install /usr/bin/ld ld \ /usr/bin/ld.lld 20 %postun if [ $1 = 0 ]; then /sbin/alternatives --remove ld /usr/bin/ld.lld fi %files %defattr(-,root,root,-) %{_bindir}/lld* %{_bindir}/ld.lld %{_bindir}/ld64.lld %{_bindir}/wasm-ld %ghost %{_bindir}/ld %if %{with lld_libs} %files libs %{_libdir}/liblld*.so.* %files devel %{_includedir}/lld %{_libdir}/liblld*.so %{_libdir}/cmake/lld/ %endif %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. * 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 lld 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