diff options
author | Matthias Andree <mandree@FreeBSD.org> | 2025-06-30 11:16:04 +0200 |
---|---|---|
committer | Matthias Andree <mandree@FreeBSD.org> | 2025-06-30 15:21:35 +0200 |
commit | d4f780099d800b87701e4341a68666b318219097 (patch) | |
tree | 3eb8cb69d117c7028a3b1b79349897397576503e | |
parent | sysutils/podman: security update from 5.5.1 to 5.5.2 (diff) |
lang/swift510: fix build on low RAM, ccache support
The port did not pass down MAKE_JOBS_NUMBER to swift's build
scripts, and Swiwt/LLVM are C++ ports and memory hungry.
Also, due to lack of CCACHE support, the port cannot pick up
where the OOM killer struck easily in, say poudriere.
Pass down --jobs ${MAKE_JOBS_NUMBER} if MAKE_JOBS_NUMBER is
defined and not empty.
While here, also support CCACHE builds so we can actually restart
in case the MAKE_JOBS_NUMBER is still too high relative to the
build host's memory.
This let me successfully build in one single attempt
with MAKE_JOBS_NUMBER=5 in /etc/make.conf on a 16 GB computer
that previously failed persistently because the port
attempted to build with all I have, meaning 16 jobs.
While here, support CCACHE build.
Approved by: portmgr@ (blanket just-fix-it)
-rw-r--r-- | lang/swift510/Makefile | 6 | ||||
-rw-r--r-- | lang/swift510/files/start-build.sh | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/lang/swift510/Makefile b/lang/swift510/Makefile index 4e57dce3f519..b22f7ca799ec 100644 --- a/lang/swift510/Makefile +++ b/lang/swift510/Makefile @@ -94,7 +94,11 @@ post-patch: do-build: @${MKDIR} ${early_stage_dir} - @${SH} ${FILESDIR}/start-build.sh ${WRKSRC} ${early_stage_dir} ${swift_install_prefix} ${WRKDIR}/clang-module-cache + ${SETENV} \ + CCACHE_WRAPPER_PATH=${CCACHE_WRAPPER_PATH} \ + MAKE_JOBS_NUMBER=${MAKE_JOBS_NUMBER} \ + ${SH} -x ${FILESDIR}/start-build.sh ${WRKSRC} ${early_stage_dir} \ + ${swift_install_prefix} ${WRKDIR}/clang-module-cache do-install: @${FIND} ${early_stage_dir}${swift_install_prefix}/bin -type f -not -name '*.py' -not -name '*.sh' -not -name '*.txt' -exec ${STRIP_CMD} '{}' ';' ; \ diff --git a/lang/swift510/files/start-build.sh b/lang/swift510/files/start-build.sh index a15ad0440540..da8e7fbbe0b2 100644 --- a/lang/swift510/files/start-build.sh +++ b/lang/swift510/files/start-build.sh @@ -12,8 +12,9 @@ cd ${swift_project_dir}/swift && utils/build-script --bootstrapping bootstrapping \ --release \ --assertions \ ---host-cc /usr/bin/clang \ ---host-cxx /usr/bin/clang++ \ +${MAKE_JOBS_NUMBER+--jobs} ${MAKE_JOBS_NUMBER} \ +--host-cc ${CCACHE_WRAPPER_PATH:-/usr/bin}/clang \ +--host-cxx ${CCACHE_WRAPPER_PATH:-/usr/bin}/clang++ \ --llvm-targets-to-build 'AArch64;X86' \ --skip-early-swift-driver \ --skip-early-swiftsyntax \ |