This reverts commit 492e81bd0e.
Reason for revert: Droidmonitor created revert due to b/364912148.
Change-Id: Ic487ca2f4b5e650b70cfb87889d8bd112bec32c6
* changes:
ndk_library: limit exports
Reland "Truely re-export export_header_libs from ndk_library"
ndk_library depends on the correct arch variant of cc_library_headers
This reverts commit ba9f9262a3.
Reason for revert: DroidMonitor created revert due to b/364440900.
Change-Id: I8661cdce1a1187459b6a0acde4c64a5aa70dcc87
Previously before aosp/3249712, ndk_library was assumed to depend only
on ndk_headers, which do not have any variants.
As ndk_library can now depend on cc_library_headers which has many
variants for arch, sdk, and more, the previous assumption no longer
holds.
Therefore, when ndk_library makes a dependency to its
export_lib_headers, it now uses either AddFarVariationDependency with
(for ndk_headers) or AddVariationDependency (for others) depending on
which module type it depends on.
Bug: 357711733
Test: build with https://r.android.com/q/topic:%22no-cpp-in-ndk-2%22
Change-Id: Id0957e82736bd458e15674ffc45ca32b1e3a7250
This reverts commit 88c768dd7f.
Reason for revert: not how this module type is supposed to be used
Change-Id: Iced1ad336c5fe5d630bb8e268b08d652e80f262d
Revert submission 3238689-bitfield-warning-cleanup
Reason for revert: Droidmonitor created revert due to b/362819160.
Reverted changes: /q/submissionid:3238689-bitfield-warning-cleanup
Change-Id: I9a35a52a79145541bb6bb3880ae8de2d1c09c02e
Bugs: me
Test: clear error message, for instance:
error: frameworks/native/libs/binder/ndk/Android.bp:252:1: module "libbinder_ndk.ndk" variant "android_x86_64_silvermont_sdk_shared_29": OS mismatch between "libbinder_ndk.ndk" (android) and "libbinder_headers_platform_shared" (linux_glibc)
Change-Id: Idfa6d27daeb89056781c93a893e4080e49b3fcb0
* changes:
Skip `-Wl,--version-script` on libclang_rt.* stubs (temp hack)
Special case the stubgen args for bionic libs
Add stub generation support to cc_prebuilt_library
The checked-in libclang_rt.* prebuilts do not contain versioned symbols,
but the autogenerated map.txt file for these libraries contain versions
e.g.
LIBCLANG_RT_ASAN {
global:
...
}
```
This causes a discrepancy between the symbols in the stubs and impl
variants of these libraries. After https://r.android.com/3236596 is
submitted and a new set of libclang_rt.* prebuilts are generated, this
discrepancy will go away.
For now, skip `-Wl,version-script` when generating the stub
variants of these libraries to prevent link errors at build time.
Test: lunch aosp_panther_hwasan-trunk_staging-userdebug && m crash_dump
Bug: 3222365
Change-Id: Ic1e06cb58ec33b761136ac325f191da7ac900151
This reverts commit 608779b224.
Reason for revert: Droidmonitor created revert due to build breakages in b/362287839.
Change-Id: I6ff96539ae714698692794209d8e76e6062378b0
IsNdk and NotInPlatform can return incorrect values in minimal branches
that do not contain the source bionic libraries. (e.g. in
aosp-master-art)
Bug: 275273834
Test: presbumits (which will build aosp-master-art)
Change-Id: I5e9216a40c0fd2d077bb6c53ba6628e311d99737
So that you can use selects with them.
Bug: 342006386
Bug: 358377461
Test: m nothing --no-skip-soong-tests
Change-Id: I5a8350f670d51b7da411ad5c3cdbf5f2d6cdd63b
The `stubs` property in `cc_prebuilt_library` currently does not support
generating stubs from an API symbol file. Reverse dependencies are
always linked against the .so file listed in `srcs`. This CL adds
support to generate the shared library from the .map.txt symbol file of
the prebuilt library.
Implementation details:
1. Add a compiler. This will convert the .map.txt file to a stub .c file.
The build rules for this are common to the compiler of the source cc_*
moudule types. This has been refactored into a new function named
`compileModuleLibApiStubs`
2. Update the linker to link the aforementioned stub.c file into a .so
file. Since this happens only for stub variants, it is conditionally
called only when p.buildStubs is true.
3. Call `addStubDependencyProviders`. This will populate the impl
variant of the library with Stub information. cc#ChooseStubOrImpl
will use this information to resolve rdeps to the stub .so file if the
dependency crosses an api domain boundary.
(2) requires some special casing for now, since the module sdk at HEAD
does not contain symbol files, so the stub.c files will be empty. Once
the symbol files are added to module sdk, the special casing will be
removed.
Test: m nothing --no-skip-soong-tests
Bug: 275273834
Change-Id: I57f5b0a97fac4dfc8c24e07b06a330015add977d
Adding stub generation support for C prebuilt libraries creates
duplicate dist rules for api coverage files
```
overriding commands for target `<out_dir>/../cc_apis/libc.xml', previously defined at
```
This CL hides the incorrect api coverage file using `IsModulePreferred`.
Bug: 275273834
Test: EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS="*" m droid dist
(no duplicate dist rules)
Change-Id: Id1caade7e80119ed1dfbbef638feb22adf116d63
This is to limit the direct accesses to the internal fields of a
module in order to better support incremental caching. To access
the install files data from singleton context or other modules'
context use providers thru the provided wrapper; to access it
from the same module inside GenerateBuildActions use ctx which is
short-lived only inside this method.
Bug: 358425833
Test: CI
Change-Id: I337b07a2ef95fb2a898ac2f9277160a3f76a603c