From owner-svn-src-projects@freebsd.org Mon Apr 22 21:24:10 2019 Return-Path: Delivered-To: svn-src-projects@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 58FE01583833 for ; Mon, 22 Apr 2019 21:24:10 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F114A808B7; Mon, 22 Apr 2019 21:24:09 +0000 (UTC) (envelope-from ngie@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 DE6401AC53; Mon, 22 Apr 2019 21:24:09 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3MLO9UY066105; Mon, 22 Apr 2019 21:24:09 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3MLO9EE066101; Mon, 22 Apr 2019 21:24:09 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201904222124.x3MLO9EE066101@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Mon, 22 Apr 2019 21:24:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r346583 - projects/runtime-coverage-v2/share/mk X-SVN-Group: projects X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: projects/runtime-coverage-v2/share/mk X-SVN-Commit-Revision: 346583 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: F114A808B7 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.972,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Apr 2019 21:24:10 -0000 Author: ngie Date: Mon Apr 22 21:24:08 2019 New Revision: 346583 URL: https://svnweb.freebsd.org/changeset/base/346583 Log: Add `coverage` to *COMPILER_FEATURES variable to bsd.compiler.mk and test for it Testing for this value is better than testing for a C++11 capable compiler, COMPILER_TYPE == clang, etc. While here, add checks to bsd.lib.mk and bsd.prog.mk to force coverage support off if not using a coverage capable toolchain. Modified: projects/runtime-coverage-v2/share/mk/bsd.compiler.mk projects/runtime-coverage-v2/share/mk/bsd.lib.mk projects/runtime-coverage-v2/share/mk/bsd.prog.mk projects/runtime-coverage-v2/share/mk/src.opts.mk Modified: projects/runtime-coverage-v2/share/mk/bsd.compiler.mk ============================================================================== --- projects/runtime-coverage-v2/share/mk/bsd.compiler.mk Mon Apr 22 19:55:47 2019 (r346582) +++ projects/runtime-coverage-v2/share/mk/bsd.compiler.mk Mon Apr 22 21:24:08 2019 (r346583) @@ -200,11 +200,15 @@ ${X_}COMPILER_FREEBSD_VERSION= unknown .endif ${X_}COMPILER_FEATURES= -.if ${${X_}COMPILER_TYPE} == "clang" || \ - (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 40800) +.if ${${X_}COMPILER_TYPE} == "clang" ${X_}COMPILER_FEATURES+= c++11 .endif +.if ${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 40800) +${X_}COMPILER_FEATURES+= c++11 +${X_}COMPILER_FEATURES+= coverage +.endif .if ${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= 60000 +${X_}COMPILER_FEATURES+= coverage ${X_}COMPILER_FEATURES+= retpoline .endif Modified: projects/runtime-coverage-v2/share/mk/bsd.lib.mk ============================================================================== --- projects/runtime-coverage-v2/share/mk/bsd.lib.mk Mon Apr 22 19:55:47 2019 (r346582) +++ projects/runtime-coverage-v2/share/mk/bsd.lib.mk Mon Apr 22 21:24:08 2019 (r346583) @@ -5,6 +5,11 @@ .include .include +# TODO: this shouldn't be here. +.if !${COMPILER_FEATURES:Mcoverage} +MK_COVERAGE:= no +.endif + .if defined(LIB_CXX) || defined(SHLIB_CXX) _LD= ${CXX} .else Modified: projects/runtime-coverage-v2/share/mk/bsd.prog.mk ============================================================================== --- projects/runtime-coverage-v2/share/mk/bsd.prog.mk Mon Apr 22 19:55:47 2019 (r346582) +++ projects/runtime-coverage-v2/share/mk/bsd.prog.mk Mon Apr 22 21:24:08 2019 (r346583) @@ -4,6 +4,11 @@ .include .include +# TODO: this shouldn't be here. +.if !${COMPILER_FEATURES:Mcoverage} +MK_COVERAGE:= no +.endif + .SUFFIXES: .out .o .bc .c .cc .cpp .cxx .C .m .y .l .ll .ln .s .S .asm # XXX The use of COPTS in modern makefiles is discouraged. Modified: projects/runtime-coverage-v2/share/mk/src.opts.mk ============================================================================== --- projects/runtime-coverage-v2/share/mk/src.opts.mk Mon Apr 22 19:55:47 2019 (r346582) +++ projects/runtime-coverage-v2/share/mk/src.opts.mk Mon Apr 22 21:24:08 2019 (r346583) @@ -407,7 +407,7 @@ __DEFAULT_YES_OPTIONS+=OPENMP __DEFAULT_NO_OPTIONS+=OPENMP .endif -.if ${COMPILER_TYPE} != "clang" +.if !${COMPILER_FEATURES:Mcoverage} BROKEN_OPTIONS+=COVERAGE BROKEN_OPTIONS+=COVERAGE_SUPPORT .endif