summaryrefslogtreecommitdiffstats
path: root/tools/mold
diff options
context:
space:
mode:
authorAndre Heider <a.heider@gmail.com>2023-01-27 17:53:02 +0100
committerChristian Marangi <ansuelsmth@gmail.com>2023-07-04 20:25:40 +0200
commitb1fa9e3d2bbbcbb1da522f23ac83d411136b74de (patch)
treed9e16d6096ae0111e042577b859bb2548ddb9981 /tools/mold
parent65a716bb95baa3b2617bafe6a86173da8cea7933 (diff)
downloadopenwrt-b1fa9e3d2bbbcbb1da522f23ac83d411136b74de.tar.gz
openwrt-b1fa9e3d2bbbcbb1da522f23ac83d411136b74de.tar.bz2
openwrt-b1fa9e3d2bbbcbb1da522f23ac83d411136b74de.zip
tools: add mold, a modern linker
mold is a faster drop-in replacement for existing Unix linkers. A single binary is able to link various targets, which is why this lives in tools/. All toolchain builds then just need to copy the linker over, hence avoiding multiple builds with the same outcome. Signed-off-by: Andre Heider <a.heider@gmail.com>
Diffstat (limited to 'tools/mold')
-rw-r--r--tools/mold/Makefile22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/mold/Makefile b/tools/mold/Makefile
new file mode 100644
index 0000000000..e8fcecbfed
--- /dev/null
+++ b/tools/mold/Makefile
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=mold
+PKG_VERSION:=1.11.0
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL_FILE:=v$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/rui314/mold/archive/refs/tags
+PKG_HASH:=99318eced81b09a77e4c657011076cc8ec3d4b6867bd324b8677974545bc4d6f
+
+include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+CMAKE_HOST_OPTIONS += \
+ -DMOLD_LTO=ON \
+ -DMOLD_MOSTLY_STATIC=ON \
+ -DMOLD_USE_SYSTEM_MIMALLOC=OFF \
+ -DMOLD_USE_SYSTEM_TBB=OFF
+
+$(eval $(call HostBuild))