Change native-xtools to not install by default; add a native-xtools-install.

Without this the user has to mess with 'make -f Makefile.inc1 ...' to figure
out where the files are installed in the OBJDIR and then they need to copy them
to where they really wanted them. Using DESTDIR may be problematic after
r325001 as well.

The files will be installed to DESTDIR/NXTP where NXTP defaults to /nxb-bin.

MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
This commit is contained in:
Bryan Drewery 2017-10-29 01:21:29 +00:00
parent b135fb6ef4
commit 5bd47cc56f
4 changed files with 32 additions and 5 deletions

View File

@ -39,9 +39,11 @@
# xdev-install - Install cross-development tools. # xdev-install - Install cross-development tools.
# xdev-links - Create traditional links in /usr/bin for cc, etc # xdev-links - Create traditional links in /usr/bin for cc, etc
# native-xtools - Create host binaries that produce target objects # native-xtools - Create host binaries that produce target objects
# for use in qemu user-mode jails. Override # for use in qemu user-mode jails. TARGET and
# target location with NXBDESTDIR. TARGET and
# TARGET_ARCH should be defined. # TARGET_ARCH should be defined.
# native-xtools-install
# - Install the files to the given DESTDIR/NXTP where
# NXTP defaults to /nxb-bin.
# #
# "quick" way to test all kernel builds: # "quick" way to test all kernel builds:
# _jflag=`sysctl -n hw.ncpu` # _jflag=`sysctl -n hw.ncpu`
@ -132,13 +134,15 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
_build-tools _build-metadata _cross-tools _includes _libraries \ _build-tools _build-metadata _cross-tools _includes _libraries \
build32 distribute32 install32 buildsoft distributesoft installsoft \ build32 distribute32 install32 buildsoft distributesoft installsoft \
builddtb xdev xdev-build xdev-install \ builddtb xdev xdev-build xdev-install \
xdev-links native-xtools stageworld stagekernel stage-packages \ xdev-links native-xtools native-xtools-install stageworld stagekernel \
stage-packages \
create-packages-world create-packages-kernel create-packages \ create-packages-world create-packages-kernel create-packages \
packages installconfig real-packages sign-packages package-pkg \ packages installconfig real-packages sign-packages package-pkg \
print-dir test-system-compiler print-dir test-system-compiler
# These targets require a TARGET and TARGET_ARCH be defined. # These targets require a TARGET and TARGET_ARCH be defined.
XTGTS= native-xtools xdev xdev-build xdev-install xdev-links XTGTS= native-xtools native-xtools-install xdev xdev-build xdev-install \
xdev-links
# XXX: r156740: This can't work since bsd.subdir.mk is not included ever. # XXX: r156740: This can't work since bsd.subdir.mk is not included ever.
# It will only work for SUBDIR_TARGETS in make.conf. # It will only work for SUBDIR_TARGETS in make.conf.

View File

@ -2098,7 +2098,11 @@ cross-tools: .MAKE .PHONY
# to pickup. # to pickup.
# #
NXBOBJDIR= ${MAKEOBJDIRPREFIX}/nxb/${TARGET}.${TARGET_ARCH} NXBOBJDIR= ${MAKEOBJDIRPREFIX}/nxb/${TARGET}.${TARGET_ARCH}
NXBDESTDIR= ${NXBOBJDIR}${.CURDIR}/nxb-bin NXTP?= /nxb-bin
.if ${NXTP:N/*}
.error NXTP variable should be an absolute path
.endif
NXBDESTDIR?= ${DESTDIR}${NXTP}
# This is the list of tools to be built/installed as static and where # This is the list of tools to be built/installed as static and where
# appropriate to build for the given TARGET.TARGET_ARCH. # appropriate to build for the given TARGET.TARGET_ARCH.
@ -2227,6 +2231,9 @@ native-xtools: .PHONY
.endif .endif
${_+_}cd ${.CURDIR}; ${NXBMAKE} SUBDIR_OVERRIDE="${NXBDIRS:M*}" \ ${_+_}cd ${.CURDIR}; ${NXBMAKE} SUBDIR_OVERRIDE="${NXBDIRS:M*}" \
everything everything
@echo ">> native-xtools done. Use 'make native-xtools-install' to install to a given DESTDIR"
native-xtools-install: .PHONY
mkdir -p ${NXBDESTDIR}/bin ${NXBDESTDIR}/sbin ${NXBDESTDIR}/usr mkdir -p ${NXBDESTDIR}/bin ${NXBDESTDIR}/sbin ${NXBDESTDIR}/usr
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
-p ${NXBDESTDIR}/usr >/dev/null -p ${NXBDESTDIR}/usr >/dev/null

View File

@ -51,6 +51,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
****************************** SPECIAL WARNING: ****************************** ****************************** SPECIAL WARNING: ******************************
20171028:
The native-xtools target no longer installs the files by default to the
OBJDIR. Use the native-xtools-install target with a DESTDIR to install
to ${DESTDIR}/${NXTP} where NXTP defaults to /nxb-bin.
20171021: 20171021:
As part of the boot loader infrastructure cleanup, LOADER_*_SUPPORT As part of the boot loader infrastructure cleanup, LOADER_*_SUPPORT
options are changing from controlling the build if defined / undefined options are changing from controlling the build if defined / undefined

View File

@ -234,6 +234,17 @@ performance by avoiding emulating binaries that do not need to be emulated.
and and
.Sy TARGET_ARCH .Sy TARGET_ARCH
should be defined. should be defined.
.It Cm native-xtools-install
Installs the results to
.Pa ${DESTDIR}/${NXTP}
where
.Va NXTP
defaults to
.Pa nxb-bin .
.Sy TARGET
and
.Sy TARGET_ARCH
must be defined.
.It Cm packageworld .It Cm packageworld
Archive the results of Archive the results of
.Cm distributeworld , .Cm distributeworld ,