aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJessica Clarke <jrtc27@FreeBSD.org>2021-03-20 13:00:34 +0000
committerJessica Clarke <jrtc27@FreeBSD.org>2021-03-27 02:10:29 +0000
commit5a9fe096f14c8e7630961b0284c55a60491fd217 (patch)
tree010197d71462d388e454f33008a6fa013a786247
parent7590d7800c44ebe2f5410874d393eaf218f543ff (diff)
downloadsrc-5a9fe096f14c8e7630961b0284c55a60491fd217.tar.gz
src-5a9fe096f14c8e7630961b0284c55a60491fd217.zip
tools/build: Improve host-symlinks failure mode
Since set -e is enabled by sys.mk, if the tool cannot be found in PATH then the entire shell command line fails, causing us to not print the error message below and instead silently (due to the @) fail, only getting the usual "Error code 1" print from bmake. Thus, provide a dummy default that will never exist (the same as is used by meta2deps.sh) if which fails so that we get the error message as intended. (cherry picked from commit 8c9e45503fe41732f72e1a4cc9a231e63b4289ba)
-rw-r--r--tools/build/Makefile3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/build/Makefile b/tools/build/Makefile
index effe8b9cb31d..31d027f75ce2 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -301,7 +301,8 @@ _host_tools_to_symlink:=${_host_tools_to_symlink:Nsh}
host-symlinks:
@echo "Linking host tools into ${DESTDIR}/bin"
.for _tool in ${_host_tools_to_symlink}
- @export PATH=$${PATH}:/usr/local/bin; source_path=`which ${_tool}`; \
+ @export PATH=$${PATH}:/usr/local/bin; \
+ source_path=`which ${_tool} || echo /dev/null/no/such`; \
if [ ! -e "$${source_path}" ] ; then \
echo "Cannot find host tool '${_tool}' in PATH ($$PATH)." >&2; false; \
fi; \