diff options
Diffstat (limited to 'scripts/build/linker/100-mold.sh')
-rw-r--r-- | scripts/build/linker/100-mold.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/scripts/build/linker/100-mold.sh b/scripts/build/linker/100-mold.sh new file mode 100644 index 00000000..710ca969 --- /dev/null +++ b/scripts/build/linker/100-mold.sh @@ -0,0 +1,38 @@ +# Build script for the mold linker + +do_linker_mold_get() { + CT_Fetch MOLD +} + +do_linker_mold_extract() { + CT_ExtractPatch MOLD +} + +do_linker_mold_build() { + local target_dir="${CT_PREFIX_DIR}/${CT_TARGET}" + + CT_DoStep INFO "Installing mold for host" + CT_mkdir_pushd "${CT_BUILD_DIR}/build-mold" + + CT_DoLog EXTRA "Configuring mold for host" + CT_DoExecLog CFG \ + CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + LDFLAGS="${CT_LDFLAGS_FOR_HOST}" \ + cmake "${CT_SRC_DIR}/mold" \ + -DBUILD_TESTING=OFF \ + -DMOLD_MOSTLY_STATIC=ON \ + -DCMAKE_BUILD_TYPE=Release + + CT_DoLog EXTRA "Building mold for host" + CT_DoExecLog ALL make ${CT_JOBSFLAGS} + + CT_DoLog EXTRA "Installing mold for host" + mkdir -p "${target_dir}/bin" + cp mold "${target_dir}/bin" + ln -s mold "${target_dir}/bin/ld.mold" + mkdir -p "${target_dir}/lib/mold" + cp mold-wrapper.so "${target_dir}/lib/mold" + + CT_Popd + CT_EndStep +} |