MFC r270155, r274490, r274593, r274607

Add native-xtools target to stable/10

Differential Revision:	https://reviews.freebsd.org/D2044
Reviewed by:	sbruno@
Approved by:	sbruno@
Sponsored by:	Netgate
This commit is contained in:
garga 2015-04-21 17:02:55 +00:00
parent 5a1ef38103
commit a669f5aa38
2 changed files with 91 additions and 0 deletions

View File

@ -36,6 +36,8 @@
# specified with XDEV and XDEV_ARCH.
# xdev-build - Build cross-development tools.
# xdev-install - Install cross-development tools.
# native-xtools - Create host binaries that produce target objects
# for use in qemu user-mode jails.
#
# "quick" way to test all kernel builds:
# _jflag=`sysctl -n hw.ncpu`
@ -110,6 +112,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
_build-tools _cross-tools _includes _libraries _depend \
build32 builddtb distribute32 install32 xdev xdev-build xdev-install \
native-xtools \
TGTS+= ${SUBDIR_TARGETS}

View File

@ -1493,6 +1493,94 @@ cross-tools: .MAKE
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install
.endfor
NXBENV= MAKEOBJDIRPREFIX=${OBJTREE}/nxb \
INSTALL="sh ${.CURDIR}/tools/install.sh" \
VERSION="${VERSION}"
NXBMAKE= ${NXBENV} ${MAKE} \
TBLGEN=${OBJTREE}/nxb-bin/usr/bin/tblgen \
CLANG_TBLGEN=${OBJTREE}/nxb-bin/usr/bin/clang-tblgen \
MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \
-DWITHOUT_GDB -DNO_TESTS \
SSP_CFLAGS= \
-DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \
-DNO_PIC -DNO_PROFILE -DNO_SHARED \
-DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF \
-DWITHOUT_CLANG_FULL -DWITHOUT_LLDB
native-xtools: .MAKE
mkdir -p ${OBJTREE}/nxb-bin/bin
mkdir -p ${OBJTREE}/nxb-bin/sbin
mkdir -p ${OBJTREE}/nxb-bin/usr
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
-p ${OBJTREE}/nxb-bin/usr >/dev/null
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
-p ${OBJTREE}/nxb-bin/usr/include >/dev/null
.for _tool in \
bin/cat \
bin/chmod \
bin/cp \
bin/csh \
bin/echo \
bin/expr \
bin/hostname \
bin/ln \
bin/ls \
bin/mkdir \
bin/mv \
bin/ps \
bin/realpath \
bin/rm \
bin/rmdir \
bin/sh \
bin/sleep \
${_clang_tblgen} \
usr.bin/ar \
${_binutils} \
${_cc} \
${_gcc_tools} \
${_clang_libs} \
${_clang} \
sbin/md5 \
sbin/sysctl \
gnu/usr.bin/diff \
usr.bin/awk \
usr.bin/basename \
usr.bin/bmake \
usr.bin/bzip2 \
usr.bin/cmp \
usr.bin/dirname \
usr.bin/env \
usr.bin/fetch \
usr.bin/find \
usr.bin/grep \
usr.bin/gzip \
usr.bin/id \
usr.bin/lex \
usr.bin/lorder \
usr.bin/mktemp \
usr.bin/mt \
usr.bin/patch \
usr.bin/sed \
usr.bin/sort \
usr.bin/tar \
usr.bin/touch \
usr.bin/tr \
usr.bin/true \
usr.bin/uniq \
usr.bin/unzip \
usr.bin/xargs \
usr.bin/xinstall \
usr.bin/xz \
usr.bin/yacc \
usr.sbin/chown
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
cd ${.CURDIR}/${_tool} && \
${NXBMAKE} DIRPRFX=${_tool}/ obj && \
${NXBMAKE} DIRPRFX=${_tool}/ depend && \
${NXBMAKE} DIRPRFX=${_tool}/ all && \
${NXBMAKE} DIRPRFX=${_tool}/ DESTDIR=${OBJTREE}/nxb-bin install
.endfor
#
# hierarchy - ensure that all the needed directories are present
#