[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