Page MenuHomeFreeBSD

D28267.diff
No OneTemporary

D28267.diff

diff --git a/tools/build/Makefile b/tools/build/Makefile
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -272,7 +272,17 @@
_make_abs!= which "${MAKE}"
_host_abs_tools_to_symlink= ${_make_abs}:make ${_make_abs}:bmake
-.if ${.MAKE.OS} != "FreeBSD"
+.if ${.MAKE.OS} == "FreeBSD"
+# When building on FreeBSD we always copy the host tools instead of linking
+# into WORLDTMP to avoid issues with incompatible libraries (see r364030).
+# Note: we could create links if we don't intend to update the current machine.
+_COPY_HOST_TOOL=cp -pf
+.else
+# However, this is not necessary on Linux/macOS. Additionally, copying the host
+# tools to another directory with cp -p results in freezes on macOS Big Sur for
+# some unknown reason. It can also break building inside docker containers if
+# there are ACLs on shared volumes.
+_COPY_HOST_TOOL=ln -sfn
_make_abs!= which "${MAKE}"
_host_abs_tools_to_symlink+= ${_make_abs}:make ${_make_abs}:bmake
.if ${.MAKE.OS} == "Darwin"
@@ -293,7 +303,7 @@
echo "Cannot find host tool '${_tool}' in PATH ($$PATH)." >&2; false; \
fi; \
rm -f "${DESTDIR}/bin/${_tool}"; \
- cp -pf "$${source_path}" "${DESTDIR}/bin/${_tool}"
+ ${_COPY_HOST_TOOL} "$${source_path}" "${DESTDIR}/bin/${_tool}"
.endfor
.for _tool in ${_host_abs_tools_to_symlink}
@source_path="${_tool:S/:/ /:[1]}"; \
@@ -302,11 +312,11 @@
echo "Host tool '${src_path}' is missing"; false; \
fi; \
rm -f "$${target_path}"; \
- cp -pf "$${source_path}" "$${target_path}"
+ ${_COPY_HOST_TOOL} "$${source_path}" "$${target_path}"
.endfor
.if exists(/usr/libexec/flua)
rm -f ${DESTDIR}/usr/libexec/flua
- cp -pf /usr/libexec/flua ${DESTDIR}/usr/libexec/flua
+ ${_COPY_HOST_TOOL} /usr/libexec/flua ${DESTDIR}/usr/libexec/flua
.endif
# Create all the directories that are needed during the legacy, bootstrap-tools

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 30, 9:58 PM (50 m, 52 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30603447
Default Alt Text
D28267.diff (1 KB)

Event Timeline