From owner-svn-src-all@freebsd.org Tue Dec 5 21:29:48 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7080FE82C45; Tue, 5 Dec 2017 21:29:48 +0000 (UTC) (envelope-from bdrewery@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 mx1.freebsd.org (Postfix) with ESMTPS id 3CAF87156B; Tue, 5 Dec 2017 21:29:48 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vB5LTlaE019277; Tue, 5 Dec 2017 21:29:47 GMT (envelope-from bdrewery@FreeBSD.org) Received: (from bdrewery@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vB5LTlro019275; Tue, 5 Dec 2017 21:29:47 GMT (envelope-from bdrewery@FreeBSD.org) Message-Id: <201712052129.vB5LTlro019275@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bdrewery set sender to bdrewery@FreeBSD.org using -f From: Bryan Drewery Date: Tue, 5 Dec 2017 21:29:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r326580 - in head: . share/mk X-SVN-Group: head X-SVN-Commit-Author: bdrewery X-SVN-Commit-Paths: in head: . share/mk X-SVN-Commit-Revision: 326580 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Dec 2017 21:29:48 -0000 Author: bdrewery Date: Tue Dec 5 21:29:47 2017 New Revision: 326580 URL: https://svnweb.freebsd.org/changeset/base/326580 Log: AUTO_OBJ: For all top-level targets enforce using an OBJDIR. This will cause an error if the wanted OBJDIR is not writable. Previously it would cause the files to generate to the source tree. This was too obscure and things like buildworld really expect a proper OBJDIR layout. Sponsored by: Dell EMC Modified: head/Makefile.sys.inc head/share/mk/src.sys.obj.mk Modified: head/Makefile.sys.inc ============================================================================== --- head/Makefile.sys.inc Tue Dec 5 21:21:23 2017 (r326579) +++ head/Makefile.sys.inc Tue Dec 5 21:29:47 2017 (r326580) @@ -38,6 +38,10 @@ MK_AUTO_OBJ= no # just want to read any existing OBJDIR but we don't care if we can create # or write to them. .MAKEOVERRIDES+= MK_AUTO_OBJ +.else +# For top-level we always assume the MAKEOBJDIRPREFIX is writable rather than +# falling back to .CURDIR. +__objdir_writable= yes .endif .endif # empty(.MAKEOVERRIDES:MMK_AUTO_OBJ) Modified: head/share/mk/src.sys.obj.mk ============================================================================== --- head/share/mk/src.sys.obj.mk Tue Dec 5 21:21:23 2017 (r326579) +++ head/share/mk/src.sys.obj.mk Tue Dec 5 21:29:47 2017 (r326580) @@ -172,7 +172,7 @@ CheckAutoObj() { \ .if !empty(__objdir) .if ${.CURDIR} == ${__objdir} __objdir_writable?= yes -.else +.elif empty(__objdir_writable) __objdir_writable!= \ ${CheckAutoObj}; CheckAutoObj "${__objdir}" || echo no .endif