!3 Init package for openEuler
From: @jchzhou Reviewed-by: @misaka00251 Signed-off-by: @misaka00251
This commit is contained in:
commit
c0b606b435
44
0001-Use-system-compatible-include-path-for-xxhash.h.patch
Normal file
44
0001-Use-system-compatible-include-path-for-xxhash.h.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
From 2f95fc3b3c85a078c04fd65c2d16c96310f45daf Mon Sep 17 00:00:00 2001
|
||||||
|
Message-ID: <2f95fc3b3c85a078c04fd65c2d16c96310f45daf.1709318446.git.github@sicherha.de>
|
||||||
|
From: Christoph Erhardt <github@sicherha.de>
|
||||||
|
Date: Sat, 6 Aug 2022 09:18:54 +0200
|
||||||
|
Subject: [PATCH 1/2] Use system-compatible include path for `xxhash.h`
|
||||||
|
|
||||||
|
Distributors that build mold against the system-provided xxHash package
|
||||||
|
expect its header file `xxhash.h` in the top-level include directory,
|
||||||
|
not in an `xxhash` subdirectory. Adjust the include path and the
|
||||||
|
`#include` directive accordingly.
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 2 ++
|
||||||
|
common/common.h | 2 +-
|
||||||
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index c6d00990..82f338f9 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -212,6 +212,8 @@ else()
|
||||||
|
mold_add_tbb()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+target_include_directories(mold PRIVATE third-party/xxhash)
|
||||||
|
+
|
||||||
|
# We always use Clang to build mold on Windows. MSVC can't compile mold.
|
||||||
|
if(WIN32)
|
||||||
|
if(MSVC AND NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
|
diff --git a/common/common.h b/common/common.h
|
||||||
|
index b7e002a6..5ddc9213 100644
|
||||||
|
--- a/common/common.h
|
||||||
|
+++ b/common/common.h
|
||||||
|
@@ -34,7 +34,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define XXH_INLINE_ALL 1
|
||||||
|
-#include "../third-party/xxhash/xxhash.h"
|
||||||
|
+#include <xxhash.h>
|
||||||
|
|
||||||
|
#ifdef NDEBUG
|
||||||
|
# define unreachable() __builtin_unreachable()
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
||||||
29
0002-build-blake3-as-static.patch
Normal file
29
0002-build-blake3-as-static.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
Src: https://build.opensuse.org/request/show/1118582
|
||||||
|
By Martin Liška <martin.liska@hey.com>
|
||||||
|
|
||||||
|
From 3b14fbc71c42b312f77ac4612b28b3e20462e02b Mon Sep 17 00:00:00 2001
|
||||||
|
From: jchzhou <zhoujiacheng@iscas.ac.cn>
|
||||||
|
Date: Tue, 19 Mar 2024 17:14:37 +0800
|
||||||
|
Subject: [PATCH] build blake3 as static
|
||||||
|
|
||||||
|
Signed-off-by: jchzhou <zhoujiacheng@iscas.ac.cn>
|
||||||
|
---
|
||||||
|
third-party/blake3/c/CMakeLists.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/third-party/blake3/c/CMakeLists.txt b/third-party/blake3/c/CMakeLists.txt
|
||||||
|
index 3190eff..3e8c763 100644
|
||||||
|
--- a/third-party/blake3/c/CMakeLists.txt
|
||||||
|
+++ b/third-party/blake3/c/CMakeLists.txt
|
||||||
|
@@ -32,7 +32,7 @@ set(BLAKE3_X86_NAMES i686 x86 X86)
|
||||||
|
set(BLAKE3_ARMv8_NAMES aarch64 AArch64 arm64 ARM64 armv8 armv8a)
|
||||||
|
|
||||||
|
# library target
|
||||||
|
-add_library(blake3
|
||||||
|
+add_library(blake3 STATIC
|
||||||
|
blake3.c
|
||||||
|
blake3_dispatch.c
|
||||||
|
blake3_portable.c
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
||||||
BIN
mold-2.30.0.tar.gz
Normal file
BIN
mold-2.30.0.tar.gz
Normal file
Binary file not shown.
86
mold.spec
Normal file
86
mold.spec
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
%bcond_with ctest
|
||||||
|
|
||||||
|
Name: mold
|
||||||
|
Version: 2.30.0
|
||||||
|
Release: 1
|
||||||
|
Summary: A Modern Linker (mold)
|
||||||
|
License: MIT
|
||||||
|
URL: https://github.com/rui314/mold
|
||||||
|
Source: https://github.com/rui314/mold/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
ExclusiveArch: x86_64 aarch64 riscv64
|
||||||
|
BuildRequires: cmake
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gcc-c++ >= 10
|
||||||
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: grep
|
||||||
|
BuildRequires: python3
|
||||||
|
BuildRequires: xxhash-devel
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
BuildRequires: libzstd
|
||||||
|
BuildRequires: libzstd-devel
|
||||||
|
|
||||||
|
# Required by bundled oneTBB
|
||||||
|
BuildRequires: hwloc-devel
|
||||||
|
|
||||||
|
# following pkgs are only required for the test
|
||||||
|
BuildRequires: clang
|
||||||
|
BuildRequires: gdb
|
||||||
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: libstdc++-static
|
||||||
|
BuildRequires: libdwarf-tools
|
||||||
|
BuildRequires: llvm
|
||||||
|
BuildRequires: perl
|
||||||
|
# API-incompatible with older tbb 2020.3 currently shipped by openEuler
|
||||||
|
Provides: bundled(tbb) = 2021.11
|
||||||
|
|
||||||
|
# Allow building against the system-provided `xxhash.h`
|
||||||
|
Patch0: 0001-Use-system-compatible-include-path-for-xxhash.h.patch
|
||||||
|
|
||||||
|
# Build blake3 as static
|
||||||
|
Patch1: 0002-build-blake3-as-static.patch
|
||||||
|
|
||||||
|
%define build_args -DMOLD_USE_MIMALLOC=OFF -DMOLD_USE_MIMALLOC=OFF
|
||||||
|
|
||||||
|
%description
|
||||||
|
mold is a faster drop-in replacement for existing Unix linkers.
|
||||||
|
It is several times faster than the LLVM lld linker.
|
||||||
|
mold is designed to increase developer productivity by reducing
|
||||||
|
build time, especially in rapid debug-edit-rebuild cycles.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
# Prefer system xxhash/zlib/zstd instead of bundled one
|
||||||
|
rm -r third-party/{xxhash,zlib,zstd}
|
||||||
|
|
||||||
|
%build
|
||||||
|
%set_build_flags
|
||||||
|
mkdir "%{_vpath_builddir}"
|
||||||
|
%cmake -B "%{_vpath_builddir}" %{build_args}
|
||||||
|
/usr/bin/cmake --build "%{_vpath_builddir}" "%{?_smp_mflags}" --verbose
|
||||||
|
|
||||||
|
%check
|
||||||
|
%if %{with ctest}
|
||||||
|
pushd "%{_vpath_builddir}"
|
||||||
|
/usr/bin/ctest --output-on-failure --force-new-ctest-process %{?_smp_mflags} || true
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%install
|
||||||
|
DESTDIR="%{buildroot}" /usr/bin/cmake --install "%{_vpath_builddir}"
|
||||||
|
chmod +x %{buildroot}%{_libdir}/mold/mold-wrapper.so
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license %{_docdir}/mold/LICENSE
|
||||||
|
%license %{_docdir}/mold/LICENSE.third-party
|
||||||
|
%{_bindir}/mold
|
||||||
|
%{_bindir}/ld.mold
|
||||||
|
%{_libdir}/mold/mold-wrapper.so
|
||||||
|
%{_libexecdir}/mold
|
||||||
|
%{_libexecdir}/mold/ld
|
||||||
|
%{_mandir}/man1/ld.mold.1*
|
||||||
|
%{_mandir}/man1/mold.1*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Mar 19 2024 jchzhou <zhoujiacheng@iscas.ac.cn> - 2.30.0-1
|
||||||
|
- Init package
|
||||||
Loading…
x
Reference in New Issue
Block a user