aboutsummaryrefslogtreecommitdiff
path: root/extra/mold/build
diff options
context:
space:
mode:
Diffstat (limited to 'extra/mold/build')
-rwxr-xr-xextra/mold/build24
1 files changed, 24 insertions, 0 deletions
diff --git a/extra/mold/build b/extra/mold/build
new file mode 100755
index 00000000..477dc98c
--- /dev/null
+++ b/extra/mold/build
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+
+# Create static library of xxhash to link locally.
+make -C xxhash
+
+export CXXFLAGS="$CXXFLAGS -I$PWD/xxhash -L$PWD/xxhash -static-libgcc -static-libstdc++"
+
+export DESTDIR="$1"
+
+cmake -B build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DMI_BUILD_SHARED=OFF \
+ -DMOLD_MOSTLY_STATIC=ON
+
+cmake --build build
+cmake --install build
+
+ln -s mold "$1/usr/bin/ld"
+
+# Create symbolic link for GCC to use mold.
+mkdir -p "$1/usr/lib/mold"
+ln -s ../../bin/mold "$1/usr/lib/mold/ld"