platform_build_soong/cc
Jiyong Park b07885714c Rename non-stubs variant of a lib if it is included in APEX
If a lib is directly included in an APEX (via native_shared_libs
property) and the lib has stubs (via stubs.versions property), then the
ordinary non-stubs variant of the library is renamed to
<libname>.bootstrap in the makefile. At the same time, the stubs variant
of the lib becomes visible and it's name is <libname>.

This ensures that modules in Android.mk build against the stubs
variant thus preventing them from using private APIs in the lib.

The non-stubs variant, however, is used if the module explicitly has
set the new 'bootstrap' property to true. This is useful for building
some early binaries (such as init and vold) which need to run before
APEXes are activated. Since they can't use the bionic libs from the
runtime APEX, they should use the bionic libs left in the system
partition which is called the boostrap bionic.

Bug: 120266448
Test: m
Test: m with https://android-review.googlesource.com/c/platform/bionic/+/849044

Change-Id: I882b8aeb5b29460f07b4424e4f8eb844d6c9a9b0
2019-01-10 09:57:29 +09:00
..
config Move -Wno-null-pointer-arithmetic to external only 2018-12-13 18:36:19 -08:00
libbuildversion Add dist support to Soong 2018-11-19 15:26:14 -08:00
androidmk.go Rename non-stubs variant of a lib if it is included in APEX 2019-01-10 09:57:29 +09:00
binary.go Fix: static dependency across an APEX is lost 2018-12-21 18:01:39 +09:00
builder.go Don't expect depfile from .s files 2019-01-03 23:25:11 -08:00
cc.go Rename non-stubs variant of a lib if it is included in APEX 2019-01-10 09:57:29 +09:00
cc_test.go Fix: static dependency across an APEX is lost 2018-12-21 18:01:39 +09: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 Use the real compiler for compdb 2018-11-07 11:35:47 -08:00
compiler.go Add flag to disable source directory includes. 2018-12-06 11:04:03 -08:00
coverage.go Revert "Support coverage instrumentation for Linux host" 2018-04-23 22:44:39 +00:00
gen.go Remove incorrect file comments 2018-12-27 12:26:30 -08:00
gen_stub_libs.py APEX-specific symbols can be tagged as # apex 2018-12-16 02:12:13 +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 Change bool, and string properties to *bool, and *string for cc 2017-11-07 15:57:16 -08:00
kernel_headers.go Fix double space in include argument 2018-10-02 11:16:56 -07:00
library.go Fix: stubs lib is installed in APEX 2019-01-04 03:37:00 +09:00
library_test.go Add cc_library tests 2017-11-17 11:22:04 -08:00
linker.go Apply system_shared_libs to static libraries 2018-12-03 15:38:39 -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 Allow generating modules once per OS instead of once per Class 2018-10-22 15:46:03 -07:00
ndk_headers.go Allow NDK APIs to be marked as drafts. 2018-11-28 09:52:12 -08:00
ndk_library.go When a stub is built for APEX, it is generated with --apex 2018-12-16 02:13:14 +09: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 Enable safe ICF with LLD. 2018-10-25 13:40:28 -07:00
pgo.go Take Enable_profile_use into account when checking if PGO is enabled 2018-05-07 15:16:36 -07:00
prebuilt.go Use soong_cc_prebuilt.mk instead of prebuilt.mk for Soong cc modules 2018-09-10 23:12:12 -07: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 [hwasan] Reduce history size to save memory. 2018-12-18 17:02:44 -08:00
stl.go Use libucrt instead of libmsvcr110 2018-11-30 21:42:33 +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
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 APEX-specific symbols can be tagged as # apex 2018-12-16 02:12:13 +09: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 Use soong_cc_prebuilt.mk instead of prebuilt.mk for Soong cc modules 2018-09-10 23:12:12 -07:00
xom.go Disable AArch64 XOM when not using lld. 2018-11-28 09:17:26 -08:00