Skip to content

Commit

Permalink
Makefile.inc1: Enable requesting the universe toolchain.
Browse files Browse the repository at this point in the history
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
  • Loading branch information
bsdjhb committed Aug 1, 2023
1 parent cf0a543 commit 1c02497
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Makefile.inc1
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down Expand Up @@ -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,^_,,} \
Expand Down Expand Up @@ -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 \
Expand Down
1 change: 1 addition & 0 deletions Makefile.libcompat
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 1c02497

Please sign in to comment.