Promote llvm-cov to a standalone option

Introduce WITH_/WITHOUT_LLVM_COV to match GCC's WITH_/WITHOUT_GCOV.
It is intended to provide a superset of the interface and functionality
of gcov.

It is enabled by default when building Clang, similarly to gcov and GCC.

This change moves one file in libllvm to be compiled unconditionally.
Previously it was included only when WITH_CLANG_EXTRAS was set, but the
complexity of a new special case for (CLANG_EXTRAS | LLVM_COV) is not
worth avoiding a tiny increase in build time.

Reviewed by:	dim, imp
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D142645
This commit is contained in:
Ed Maste 2018-02-10 00:22:35 +00:00
parent e3e9432478
commit 1b49115a40
5 changed files with 15 additions and 3 deletions

View File

@ -664,7 +664,7 @@ SRCS_MIN+= Passes/PassBuilder.cpp
SRCS_MIN+= ProfileData/Coverage/CoverageMapping.cpp
SRCS_MIN+= ProfileData/Coverage/CoverageMappingReader.cpp
SRCS_MIN+= ProfileData/Coverage/CoverageMappingWriter.cpp
SRCS_EXT+= ProfileData/GCOV.cpp
SRCS_MIN+= ProfileData/GCOV.cpp
SRCS_MIN+= ProfileData/InstrProf.cpp
SRCS_MIN+= ProfileData/InstrProfReader.cpp
SRCS_MIN+= ProfileData/InstrProfWriter.cpp

View File

@ -119,6 +119,7 @@ __DEFAULT_YES_OPTIONS = \
LIB32 \
LIBPTHREAD \
LIBTHR \
LLVM_COV \
LOCALES \
LOCATE \
LPR \
@ -425,6 +426,7 @@ MK_LLDB:= no
.if ${MK_CLANG} == "no"
MK_CLANG_EXTRAS:= no
MK_CLANG_FULL:= no
MK_LLVM_COV:= no
.endif
#

View File

@ -0,0 +1,4 @@
.\" $FreeBSD$
Set to not build the
.Xr llvm-cov 1
tool.

View File

@ -0,0 +1,4 @@
.\" $FreeBSD$
Set to build the
.Xr llvm-cov 1
tool.

View File

@ -17,7 +17,6 @@ SUBDIR+= lli
SUBDIR+= llvm-ar
SUBDIR+= llvm-as
SUBDIR+= llvm-bcanalyzer
SUBDIR+= llvm-cov
SUBDIR+= llvm-cxxdump
SUBDIR+= llvm-cxxfilt
SUBDIR+= llvm-diff
@ -44,7 +43,10 @@ SUBDIR+= lld
.endif
.if ${MK_LLDB} != "no"
SUBDIR+= lldb
.endif # MK_LLDB
.endif
.if ${MK_LLVM_COV} != "no"
SUBDIR+= llvm-cov
.endif
.endif # TOOLS_PREFIX
SUBDIR_PARALLEL=