platform_build_soong/cc
Pirama Arumuga Nainar 1acd4475f2 Extend coverage mutator to allow variants with coverage on and off
Bug: http://b/116873221

This allows us to enable coverage for a module (typically static
libraries) even if a dependent module cannot build with coverage.  In
this case, the dependent module can just pick the variant with coverage
off.

- Create the following variants from the coverage mutator:
  - "" (empty): Don't build  with coverage and always pick the
                non-coverage variants for dependents.  This variant is
                created for modules with 'native_coverage: false'.
  - "cov":      If this module's path is covered by the COVERAGE_PATHS
                option, build this module with coverage.  If not, build
                this module without coverage.  In either case, pick
                coverage variants ("cov") for dependencies if available.

- Do not enable coverage:
  - for NDK stub libraries
  - if sdk_version < 23 since libc doesn't export 'stderr' which is
    needed by the coverage/profile runtime library.
  - for VNDK libraries

Test: In AOSP: m COVERAGE_PATHS=system/security NATIVE_COVERAGE=true nothing

Change-Id: I4d08790d35cdeaf12fb3c4f999d69a870e65836a
2019-02-14 00:05:42 +00:00
..
config Switch to clang-r349610 2019-01-31 16:32:34 +00:00
libbuildversion Add dist support to Soong 2018-11-19 15:26:14 -08:00
androidmk.go Don't emit symbol for stubs libraries 2019-02-06 22:40:29 +09:00
binary.go Use llvm-{strip,objcopy} by default 2019-02-04 18:20:28 +08:00
builder.go Use llvm-{strip,objcopy} by default 2019-02-04 18:20:28 +08:00
cc.go Extend coverage mutator to allow variants with coverage on and off 2019-02-14 00:05:42 +00:00
cc_test.go Create sysprop_library soong module 2019-02-13 23:32:51 +00:00
check.go Allow macro definition with space 2017-10-19 22:39:32 +09:00
cmakelists.go Remove GCC checks 2018-10-09 02:16:58 +00:00
compdb.go Update compdb to put full path to compiler 2019-01-29 17:27:37 +00:00
compiler.go Prepare for a type-safe OnceKey 2019-02-06 01:52:41 +00:00
coverage.go Extend coverage mutator to allow variants with coverage on and off 2019-02-14 00:05:42 +00:00
gen.go Create sysprop_library soong module 2019-02-13 23:32:51 +00:00
gen_stub_libs.py Handle the case when a symbol is annotated with "# apex vndk" 2019-02-08 20:36:26 +09:00
gen_test.go Fix using aidl files from filegroups 2017-11-17 11:22:08 -08:00
genrule.go Add support for versioned stubs. 2018-10-30 09:55:48 +09:00
genrule_test.go Allow cc_genrule srcs to vary by architecture 2018-10-23 18:40:37 +00:00
installer.go APEX respects relative_install_path 2019-02-05 21:00:41 +09:00
kernel_headers.go Fix double space in include argument 2018-10-02 11:16:56 -07:00
library.go Create sysprop_library soong module 2019-02-13 23:32:51 +00:00
library_test.go Add cc_library tests 2017-11-17 11:22:04 -08:00
linker.go Use no_libcrt property instead of hard coding projects to exclude 2019-02-12 09:41:18 -08:00
llndk_library.go Add use_vendor to APEX module 2018-12-20 14:33:02 +09:00
lto.go Stop passing the gold plugin path to llvm-ar. 2018-11-08 20:13:16 -08:00
makevars.go Make MakeVarsContext a PathContext 2019-02-07 22:31:04 +00:00
ndk_headers.go Remove empty DepsMutator methods 2019-02-01 17:17:58 -08:00
ndk_library.go Update NDK library list 2019-02-06 18:41:27 -08:00
ndk_prebuilt.go Fix double space in include argument 2018-10-02 11:16:56 -07:00
ndk_sysroot.go Allow NDK APIs to be marked as drafts. 2018-11-28 09:52:12 -08:00
object.go Add unstrippedOutputFilePath to the linker interface 2019-02-01 11:04:58 +09:00
pgo.go Prepare for a type-safe OnceKey 2019-02-06 01:52:41 +00:00
prebuilt.go Fix shared_libs for cc/prebuilt.go 2019-01-23 07:21:56 +00:00
proto.go Add nanopb-c support 2018-11-17 15:28:25 -08:00
pylintrc Don't warn for TODOish comments. 2016-08-01 14:36:22 -07:00
rs.go Use prebuilt llvm-rs-cc for unbundled build 2018-11-18 20:58:10 -08:00
sabi.go Remove flags from ClangLibToolingUnknownCflags 2018-10-16 17:52:12 +08:00
sanitize.go Prepare for a type-safe OnceKey 2019-02-06 01:52:41 +00:00
stl.go Support building for Fuchsia. 2019-01-24 18:59:29 +00:00
strip.go Use soong_cc_prebuilt.mk instead of prebuilt.mk for Soong cc modules 2018-09-10 23:12:12 -07:00
sysprop.go Create sysprop_library soong module 2019-02-13 23:32:51 +00:00
test.go Enable benchmarks on darwin 2018-11-13 15:28:07 -08:00
test_data_test.go Fix `go vet` issues 2018-07-22 21:18:45 -07:00
test_gen_stub_libs.py Handle the case when a symbol is annotated with "# apex vndk" 2019-02-08 20:36:26 +09:00
testing.go Create sysprop_library soong module 2019-02-13 23:32:51 +00:00
tidy.go Disable cert-dcl16-c clang-tidy check for mingw32. 2018-12-10 16:28:56 -08:00
toolchain_library.go Remove GCC checks 2018-10-09 02:16:58 +00:00
util.go Add nanopb-c support 2018-11-17 15:28:25 -08:00
util_test.go Allow cc_prebuilt version suffix to include `svn` 2018-09-26 10:59:56 +08:00
vendor_public_library.go Allow platform modules to link to vendor public libraries 2018-03-30 12:59:06 +09:00
vndk.go Add use_vendor to APEX module 2018-12-20 14:33:02 +09:00
vndk_prebuilt.go Add prebuilt ABI checker support to soong 2019-01-23 10:15:02 +08:00
xom.go XOM dependency check skipping static binaries. 2019-01-31 10:09:13 -08:00