[Buildroot] [PATCH 1/1] package/mold: add new package host-mold

vkrawiec victor.krawiec at arturia.com
Tue Jan 21 15:20:31 UTC 2025


mold is a faster drop-in replacement for existing Unix linkers using highly parallelized algorithms
mold aims to enhance developer productivity by minimizing build time, particularly in rapid debug-edit-rebuild cycles
mold linker can be used with GCC since version 12 using argument -fuse-ld=mold

Signed-off-by: vkrawiec <victor.krawiec at arturia.com>
---
 package/Config.in.host      |  1 +
 package/mold/Config.in.host | 11 +++++++++++
 package/mold/mold.hash      |  3 +++
 package/mold/mold.mk        | 21 +++++++++++++++++++++
 4 files changed, 36 insertions(+)
 create mode 100644 package/mold/Config.in.host
 create mode 100644 package/mold/mold.hash
 create mode 100644 package/mold/mold.mk

diff --git a/package/Config.in.host b/package/Config.in.host
index e06824ad6b..c2487419c1 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -68,6 +68,7 @@ menu "Host utilities"
 	source "package/minisign/Config.in.host"
 	source "package/mkpasswd/Config.in.host"
 	source "package/moby-buildkit/Config.in.host"
+	source "package/mold/Config.in.host"
 	source "package/mosquitto/Config.in.host"
 	source "package/mtd/Config.in.host"
 	source "package/mtools/Config.in.host"
diff --git a/package/mold/Config.in.host b/package/mold/Config.in.host
new file mode 100644
index 0000000000..2dea168de0
--- /dev/null
+++ b/package/mold/Config.in.host
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_HOST_MOLD
+	bool "host mold"
+	depends on BR2_HOST_GCC_AT_LEAST_11
+	help
+	  mold is a faster drop-in replacement for existing Unix linkers
+	  mold aims to enhance developer productivity by minimizing build time, particularly in rapid debug-edit-rebuild cycles.
+
+	  https://github.com/rui314/mold
+
+comment "host mold needs host gcc >= 11"
+	depends on !BR2_HOST_GCC_AT_LEAST_11
diff --git a/package/mold/mold.hash b/package/mold/mold.hash
new file mode 100644
index 0000000000..69fe32d297
--- /dev/null
+++ b/package/mold/mold.hash
@@ -0,0 +1,3 @@
+# locally calculated
+sha256  3f57fe75535500ecce7a80fa1ba33675830b7d7deb1e5ee9a737e2bc43cdb1c7  mold-2.36.0.tar.gz
+sha256  c98a2858469bd3b231c8865c5b65f80f6ffbf25e850d5d575967e3d9ee080755  LICENSE
diff --git a/package/mold/mold.mk b/package/mold/mold.mk
new file mode 100644
index 0000000000..2d47b0b4d2
--- /dev/null
+++ b/package/mold/mold.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+# mold
+#
+################################################################################
+
+MOLD_VERSION = 2.36.0
+MOLD_SITE = $(call github,rui314,mold,v$(MOLD_VERSION))
+MOLD_LICENSE = MIT
+MOLD_LICENSE_FILES = LICENSE
+
+# GCC looks for tools in a different path from mold default installation path
+define HOST_MOLD_CREATE_SYMLINKS
+	mkdir -p $(HOST_DIR)/$(GNU_TARGET_NAME)/bin
+	ln -sfr $(HOST_DIR)/bin/mold $(HOST_DIR)/$(GNU_TARGET_NAME)/bin/mold
+	ln -sfr $(HOST_DIR)/bin/mold $(HOST_DIR)/$(GNU_TARGET_NAME)/bin/ld.mold
+endef
+
+HOST_MOLD_POST_INSTALL_HOOKS += HOST_MOLD_CREATE_SYMLINKS
+
+$(eval $(host-cmake-package))
-- 
2.43.0



More information about the buildroot mailing list