From owner-svn-src-head@freebsd.org Mon Nov 5 19:51:18 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6EF7F110A1A8; Mon, 5 Nov 2018 19:51:18 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E29996FF38; Mon, 5 Nov 2018 19:51:17 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5328C1C0D4; Mon, 5 Nov 2018 19:51:17 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id wA5JpHTX088199; Mon, 5 Nov 2018 19:51:17 GMT (envelope-from arichardson@FreeBSD.org) Received: (from arichardson@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id wA5JpHl8088198; Mon, 5 Nov 2018 19:51:17 GMT (envelope-from arichardson@FreeBSD.org) Message-Id: <201811051951.wA5JpHl8088198@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: arichardson set sender to arichardson@FreeBSD.org using -f From: Alex Richardson Date: Mon, 5 Nov 2018 19:51:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r340158 - head X-SVN-Group: head X-SVN-Commit-Author: arichardson X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 340158 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: E29996FF38 X-Spamd-Result: default: False [-1.46 / 200.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.67)[-0.666,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; HAS_XAW(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all]; DMARC_NA(0.00)[FreeBSD.org]; RCVD_COUNT_THREE(0.00)[4]; MX_GOOD(-0.01)[cached: mx1.FreeBSD.org]; NEURAL_HAM_SHORT(-0.68)[-0.683,0]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_TLS_LAST(0.00)[] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Nov 2018 19:51:18 -0000 Author: arichardson Date: Mon Nov 5 19:51:16 2018 New Revision: 340158 URL: https://svnweb.freebsd.org/changeset/base/340158 Log: Build the elftoolchain libraries as part of bootstrap-tools It is not necessary to build libelf and libdwarf this early. Furthermore, when building on Linux/MacOS, m4 will only be built during the bootstrap tools phase and not be available in $PATH before. Reviewed By: emaste Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D17800 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Nov 5 19:51:10 2018 (r340157) +++ head/Makefile.inc1 Mon Nov 5 19:51:16 2018 (r340158) @@ -1967,15 +1967,6 @@ update: .PHONY # build-tools or cross-tools. # -# ELF Tool Chain libraries are needed for ELF tools and dtrace tools. -# r296685 fix cross-endian objcopy -# r310724 fixed PR 215350, a crash in libdwarf with objects built by GCC 6.2. -# r334881 added libdwarf constants used by ctfconvert. -# r338478 fixed a crash in objcopy for mips64el objects -# r339083 libelf: correct mips64el test to use ELF header -.if ${BOOTSTRAPPING} < 1200085 -_elftoolchain_libs= lib/libelf lib/libdwarf -.endif # libnv and libl are both requirements for config(8), which is an unconditional # bootstrap-tool. @@ -1987,7 +1978,7 @@ legacy: .PHONY false .endif -.for _tool in tools/build ${_elftoolchain_libs} ${_config_deps} +.for _tool in tools/build ${_config_deps} ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,all,install)"; \ cd ${.CURDIR}/${_tool}; \ if [ -z "${NO_OBJWALK}" ]; then ${MAKE} DIRPRFX=${_tool}/ obj; fi; \ @@ -2001,7 +1992,8 @@ legacy: .PHONY # bootstrap-tools: Build tools needed for compatibility. These are binaries that # are built to build other binaries in the system. However, the focus of these # binaries is usually quite narrow. Bootstrap tools use the host's compiler and -# libraries, augmented by -legacy. +# libraries, augmented by -legacy, in addition to the libraries built during +# bootstrap-tools. # _bt= _bootstrap-tools @@ -2052,11 +2044,24 @@ _lex= usr.bin/lex # Note: lex needs m4 to build but m4 also depends on lex. However, lex can be # bootstrapped so we build lex first. ${_bt}-usr.bin/m4: ${_bt}-lib/libopenbsd ${_bt}-usr.bin/yacc ${_bt}-${_lex} -_bt_lex_depend=${_bt}-usr.bin/lex ${_bt}-usr.bin/m4 +_bt_m4_depend=${_bt}-${_m4} +_bt_lex_depend=${_bt}-${_lex} ${_bt_m4_depend} .else _bootstrap_tools_links+=m4 lex .endif +# ELF Tool Chain libraries are needed for ELF tools and dtrace tools. +# r296685 fix cross-endian objcopy +# r310724 fixed PR 215350, a crash in libdwarf with objects built by GCC 6.2. +# r334881 added libdwarf constants used by ctfconvert. +# r338478 fixed a crash in objcopy for mips64el objects +# r339083 libelf: correct mips64el test to use ELF header +.if ${BOOTSTRAPPING} < 1200085 +_elftoolchain_libs= lib/libelf lib/libdwarf +${_bt}-lib/libelf: ${_bt_m4_depend} +${_bt}-lib/libdwarf: ${_bt_m4_depend} +.endif + # r245440 mtree -N support added # r313404 requires sha384.h for libnetbsd, added to libmd in r292782 .if ${BOOTSTRAPPING} < 1100093 @@ -2264,6 +2269,7 @@ bootstrap-tools: ${_bt}-links .PHONY ${_dtc} \ ${_cat} \ ${_kbdcontrol} \ + ${_elftoolchain_libs} \ usr.bin/lorder \ lib/libopenbsd \ usr.bin/mandoc \