Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Aug 2023 21:02:08 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 1c02497648bd - main - Makefile.inc1: Enable requesting the universe toolchain.
Message-ID:  <202308012102.371L28MT012827@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=1c02497648bdf61a43dd271f6f9171a037046d8e

commit 1c02497648bdf61a43dd271f6f9171a037046d8e
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2023-08-01 21:01:57 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2023-08-01 21:01:57 +0000

    Makefile.inc1: Enable requesting the universe toolchain.
    
    make universe builds a cross toolchain under HOST_OBJTMP/tmp via the
    universe-toolchain target.  However, doing a plain 'make buildworld'
    after a universe/tinderbox run (e.g. to reproduce a failure and test
    the fix for it), will try to build a new cross toolchain under
    OBJTMP/tmp which can be tedious.  This commit adds a make variable
    (UNIVERSE_TOOLCHAIN) which can be used similar to CROSS_TOOLCHAIN to
    request an external toolchain.  If this variable is set (value doesn't
    matter), the the universe toolchain is used as an external toolchain.
    
    Reviewed by:    imp
    Differential Revision:  https://reviews.freebsd.org/D40777
---
 Makefile.inc1      | 8 ++++++++
 Makefile.libcompat | 1 +
 2 files changed, 9 insertions(+)

diff --git a/Makefile.inc1 b/Makefile.inc1
index 2e965b603d78..c102348baa6f 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -73,6 +73,12 @@ TIME_ENV ?= time env
 .error CROSS_TOOLCHAIN ${CROSS_TOOLCHAIN} not found
 .endif
 CROSSENV+=CROSS_TOOLCHAIN="${CROSS_TOOLCHAIN}"
+.elif defined(UNIVERSE_TOOLCHAIN)
+UNIVERSE_TOOLCHAIN_PATH?=${HOST_OBJTOP}/tmp/usr/bin
+XCC?="${UNIVERSE_TOOLCHAIN_PATH}/cc"
+XCXX?="${UNIVERSE_TOOLCHAIN_PATH}/c++"
+XCPP?="${UNIVERSE_TOOLCHAIN_PATH}/cpp"
+XLD?="${UNIVERSE_TOOLCHAIN_PATH}/ld"
 .endif
 .if defined(CROSS_TOOLCHAIN_PREFIX)
 CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX}
@@ -718,6 +724,7 @@ BMAKEENV=	INSTALL="sh ${.CURDIR}/tools/install.sh" \
 BSARGS= 	DESTDIR= \
 		OBJTOP='${WORLDTMP}/obj-tools' \
 		OBJROOT='$${OBJTOP}/' \
+		UNIVERSE_TOOLCHAIN_PATH=${UNIVERSE_TOOLCHAIN_PATH} \
 		MAKEOBJDIRPREFIX= \
 		BOOTSTRAPPING=${BOOTSTRAPPING_OSRELDATE} \
 		BWPHASE=${.TARGET:C,^_,,} \
@@ -789,6 +796,7 @@ KTMAKE=		${TIME_ENV} \
 		DESTDIR= \
 		OBJTOP='${WORLDTMP}/obj-kernel-tools' \
 		OBJROOT='$${OBJTOP}/' \
+		UNIVERSE_TOOLCHAIN_PATH=${UNIVERSE_TOOLCHAIN_PATH} \
 		MAKEOBJDIRPREFIX= \
 		BOOTSTRAPPING=${BOOTSTRAPPING_OSRELDATE} \
 		-DNO_CPU_CFLAGS \
diff --git a/Makefile.libcompat b/Makefile.libcompat
index f9fe28e1082b..da9c326756aa 100644
--- a/Makefile.libcompat
+++ b/Makefile.libcompat
@@ -37,6 +37,7 @@ LIB${_LIBCOMPAT}WMAKE+=	${TIME_ENV} ${LIB${_LIBCOMPAT}WMAKEENV} ${MAKE} \
 			${LIB${_LIBCOMPAT}WMAKEFLAGS} \
 			OBJTOP=${LIB${_LIBCOMPAT}_OBJTOP} \
 			OBJROOT='$${OBJTOP}/' \
+			UNIVERSE_TOOLCHAIN_PATH=${UNIVERSE_TOOLCHAIN_PATH} \
 			MAKEOBJDIRPREFIX= \
 			MK_INCLUDES=no \
 			MK_MAN=no MK_HTML=no



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308012102.371L28MT012827>