From 860fb8d762dc7e74f3fcaec2ffd7362865ac3656 Mon Sep 17 00:00:00 2001 From: garga Date: Tue, 21 Apr 2015 17:02:55 +0000 Subject: [PATCH] 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 git-svn-id: svn://svn.freebsd.org/base/stable/10@281836 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- Makefile | 3 ++ Makefile.inc1 | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) diff --git a/Makefile b/Makefile index 78f3fc14c..99e08afdf 100644 --- a/Makefile +++ b/Makefile @@ -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} diff --git a/Makefile.inc1 b/Makefile.inc1 index 267e4a745..93f530628 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -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 # -- 2.45.0