From owner-svn-src-projects@freebsd.org Sun Sep 17 03:08:01 2017 Return-Path: Delivered-To: svn-src-projects@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 EA358E1E1E5 for ; Sun, 17 Sep 2017 03:08:01 +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 mx1.freebsd.org (Postfix) with ESMTPS id C45076F0F2; Sun, 17 Sep 2017 03:08:01 +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 v8H380cu009881; Sun, 17 Sep 2017 03:08:00 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v8H380Nt009878; Sun, 17 Sep 2017 03:08:00 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201709170308.v8H380Nt009878@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Ngie Cooper Date: Sun, 17 Sep 2017 03:08:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r323661 - projects/runtime-coverage/share/mk X-SVN-Group: projects X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: projects/runtime-coverage/share/mk X-SVN-Commit-Revision: 323661 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 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: Sun, 17 Sep 2017 03:08:02 -0000 Author: ngie Date: Sun Sep 17 03:08:00 2017 New Revision: 323661 URL: https://svnweb.freebsd.org/changeset/base/323661 Log: Fix logic errors and simplify installation process .gcda files should be installed, not .gcno files. It's easier to formulate which .gcda's to install based on the SRCS and their extension in bsd.{lib,prog}.mk . Modified: projects/runtime-coverage/share/mk/bsd.cov.mk projects/runtime-coverage/share/mk/bsd.lib.mk projects/runtime-coverage/share/mk/bsd.prog.mk Modified: projects/runtime-coverage/share/mk/bsd.cov.mk ============================================================================== --- projects/runtime-coverage/share/mk/bsd.cov.mk Sun Sep 17 01:32:45 2017 (r323660) +++ projects/runtime-coverage/share/mk/bsd.cov.mk Sun Sep 17 03:08:00 2017 (r323661) @@ -1,32 +1,24 @@ # $FreeBSD$ +# +# Snippet for dealing with runtime coverage logic. +# +# .gcda files are generated from files that are compiled from source, e.g., +# foo.gcda is foo.c or foo.cpp's file. In order for the libraries and programs +# to be properly instrumented, the .gcda files must be installed to a prefix +# common to the object files. +# +# See gcov(1) for more details. .include -.if make(*clean) || make(*install) - FILESGROUPS?= FILES -cov_objs_no_suffixes= ${COV_OBJS:R} -.for src in ${COV_SRCS:R} -.if ${cov_objs_no_suffixes:M${src}} -GCNOS+= ${src}.gcno -.endif -.endfor +.if !empty(GCDAS) +GCDAS:= ${GCDAS:O:u} +FILESGROUPS+= GCDAS +CLEANFILES+= ${GCDAS} -.if !empty(GCNOS) -GCNOS:= ${GCNOS:O:u} -FILESGROUPS+= GCNOS -CLEANFILES+= ${GCNOS} - -.for _gcno in ${GCNOS} -_gcno_dir= ${COVERAGEDIR}${_gcno:H:tA} -GCNOSDIR_${_gcno:T}= ${_gcno_dir} -.if !target(${DESTDIR}${_gcno_dir}) -beforeinstall: ${DESTDIR}${_gcno_dir} -${DESTDIR}${_gcno_dir}: - ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},coverage} -d ${.TARGET} -.endif +.for _gcda in ${GCDAS} +GCDASDIR_${_gcda:T}= ${COVERAGEDIR}${_gcda:H:tA} .endfor -.endif - .endif Modified: projects/runtime-coverage/share/mk/bsd.lib.mk ============================================================================== --- projects/runtime-coverage/share/mk/bsd.lib.mk Sun Sep 17 01:32:45 2017 (r323660) +++ projects/runtime-coverage/share/mk/bsd.lib.mk Sun Sep 17 03:08:00 2017 (r323661) @@ -453,8 +453,7 @@ _libinstall: .if !defined(LIBRARIES_ONLY) .include .if defined(_COV_FLAG) -COV_OBJS= ${SOBJS:.pico=.o} -COV_SRCS= ${SRCS:M*.[c|cc|cpp|cxx|C]} +GCDAS= ${SRCS:M*.[c|cc|cpp|cxx|C]:R:S/$/.gcda/g} .include .endif .include Modified: projects/runtime-coverage/share/mk/bsd.prog.mk ============================================================================== --- projects/runtime-coverage/share/mk/bsd.prog.mk Sun Sep 17 01:32:45 2017 (r323660) +++ projects/runtime-coverage/share/mk/bsd.prog.mk Sun Sep 17 03:08:00 2017 (r323661) @@ -302,8 +302,7 @@ NLSNAME?= ${PROG} .include .if defined(_COV_FLAG) -COV_OBJS= ${OBJS} -COV_SRCS= ${SRCS:M*.[c|cc|cpp|cxx|C]} +GCDAS= ${SRCS:M*.[c|cc|cpp|cxx|C]:R:S/$/.gcda/g} .include .endif .include