Port `lld` to Mariner 2.0 (#2038)

This commit is contained in:
Andy Caldwell 2022-02-01 16:49:14 +00:00 committed by GitHub
parent 0ec698fbc6
commit db0edf0cc2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 104 additions and 1 deletions

File diff suppressed because one or more lines are too long

View File

@ -2366,6 +2366,7 @@
"libmaxminddb",
"libuv",
"libxml++",
"lld",
"lsb-release",
"lttng-consume",
"mariner-release",

View File

@ -0,0 +1,6 @@
{
"Signatures": {
"lld-12.0.1.src.tar.xz": "690b3f6a76310e13a783a142f87500ade9cafe003e088b678364487ed873e361",
"libunwind-12.0.1.src.tar.xz": "0bea6089518395ca65cf58b0a450716c5c99ce1f041079d3aa42d280ace15ca4"
}
}

76
SPECS/lld/lld.spec Normal file
View File

@ -0,0 +1,76 @@
Summary: LLD is a linker from the LLVM project that is a drop-in replacement for system linkers and runs much faster than them
Name: lld
Version: 12.0.1
Release: 1%{?dist}
License: NCSA
Vendor: Microsoft Corporation
Distribution: Mariner
Group: Development/Tools
URL: https://clang.llvm.org
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lld-%{version}.src.tar.xz
# The `lld` build needs access to `mach-o/compact_unwind_encoding.h` which LLVM
# packages with the `libunwind` source. We fetch and unpack both sources then
# pass an additional `-I` to `CMAKE` to allow the build to find the header.
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/libunwind-%{version}.src.tar.xz
BuildRequires: build-essential
BuildRequires: cmake
BuildRequires: file
BuildRequires: llvm-devel
BuildRequires: ninja-build
BuildRequires: python3
Requires: %{name}-libs = %{version}-%{release}
%package devel
Summary: Libraries and header files for LLD
Requires: %{name} = %{version}-%{release}
%package libs
Summary: LLD shared libraries
%description
The LLVM project linker.
%description devel
This package contains library and header files needed to develop new native
programs that use the LLD infrastructure.
%description libs
Shared libraries for LLD.
%prep
%setup -q -b 1 -n lld-%{version}.src
%build
mkdir -p build
cd build
%cmake .. \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH:BOOL=on \
-DCMAKE_C_FLAGS=-I../../libunwind-%{version}.src/include \
-DCMAKE_CXX_FLAGS=-I../../libunwind-%{version}.src/include \
-DLLVM_LINK_LLVM_DYLIB:BOOL=on \
-DLLVM_DYLIB_COMPONENTS="all" \
-Wno-dev
%ninja_build
%install
cd build
%ninja_install
%files
%{_bindir}/*
%files devel
%{_includedir}/lld/
%{_libdir}/cmake/lld/*.cmake
%{_libdir}/*.so
%files libs
%license LICENSE.TXT
%{_libdir}/*.so.12*
%changelog
* Thu Aug 12 2021 Andy Caldwell <andycaldwell@microsoft.com> 12.0.1-1
- Original version for CBL-Mariner.
- License verified

View File

@ -11606,6 +11606,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "libunwind",
"version": "12.0.1",
"downloadUrl": "https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/libunwind-12.0.1.src.tar.xz"
}
}
},
{
"component": {
"type": "other",
@ -12356,6 +12366,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "lld",
"version": "12.0.1",
"downloadUrl": "https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/lld-12.0.1.src.tar.xz"
}
}
},
{
"component": {
"type": "other",