git: 3afe1c2e1817 - stable/13 - native-xtools: avoid libllvm while populating the sysroot

From: Kyle Evans <kevans_at_FreeBSD.org>
Date: Thu, 19 May 2022 15:07:00 UTC
The branch stable/13 has been updated by kevans:

URL: https://cgit.FreeBSD.org/src/commit/?id=3afe1c2e181712afd0120e14267f92050de434f7

commit 3afe1c2e181712afd0120e14267f92050de434f7
Author:     Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2021-10-13 09:21:28 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2022-05-19 15:05:53 +0000

    native-xtools: avoid libllvm while populating the sysroot
    
    Prior to 021385aba562, MK_CLANG=no was sufficient to avoid descending
    into lib/clang, but the referenced change added a couple of other
    enabling knobs. Turn those off, too, to continue avoiding libllvm.
    
    With this change, we no longer end up with a libllvm using the wrong
    default target triple; `poudriere jail -cx` works once again.
    
    Reported by:    bhughes, imp, probably others
    Fixes:  021385aba562 ("Add WITH_LLVM_BINUTILS to install LLVM ...")
    
    (cherry picked from commit e2e2c622c35f3e54dbae88e3de3e48c51dbb4ebd)
---
 Makefile.inc1 | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/Makefile.inc1 b/Makefile.inc1
index b8431b5abe09..d378fbe466e3 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2807,6 +2807,10 @@ NXBMAKEARGS+= \
 NXBMAKEENV+= \
 	MAKEOBJDIRPREFIX=
 
+# This should match all of the knobs in lib/Makefile that it takes to avoid
+# descending into lib/clang!
+NXBTNOTOOLS=	MK_CLANG=no MK_LLD=no MK_LLDB=no MK_LLVM_BINUTILS=no
+
 .if make(native-xtools*) && \
     (!defined(NXB_TARGET) || !defined(NXB_TARGET_ARCH))
 .error Missing NXB_TARGET / NXB_TARGET_ARCH
@@ -2846,11 +2850,11 @@ native-xtools: .PHONY
 	# Populate includes/libraries sysroot that produce native binaries.
 	# This is split out from 'toolchain' above mostly so that target LLVM
 	# libraries have a proper LLVM_DEFAULT_TARGET_TRIPLE without
-	# polluting the cross-compiler build.  The LLVM/GCC libs are skipped
+	# polluting the cross-compiler build.  The LLVM libs are skipped
 	# here to avoid the problem but are kept in 'toolchain' so that
 	# needed build tools are built.
-	${_+_}cd ${.CURDIR}; ${NXBTMAKE} _includes MK_CLANG=no
-	${_+_}cd ${.CURDIR}; ${NXBTMAKE} _libraries MK_CLANG=no
+	${_+_}cd ${.CURDIR}; ${NXBTMAKE} _includes ${NXBTNOTOOLS}
+	${_+_}cd ${.CURDIR}; ${NXBTMAKE} _libraries ${NXBTNOTOOLS}
 .if !defined(NO_OBJWALK)
 	${_+_}cd ${.CURDIR}; ${NXBMAKE} _obj
 .endif