Updates the member snapshot creation code to support multiple os types.
It basically sorts the variants by os type, then applies the code to
optimize the arch properties and then it optimizes the properties that
are common across architectures and extracts any properties that are
common across os types.
The java and cc member types needed to be modified to make the location
of the generated files within the snapshot os type dependent when there
is more than one os type. That was done by adding an OsPrefix() method
to the SdkMemberPropertiesBase which returns the os prefix to use when
there is > 1 os type and otherwise returns an empty string.
Added three tests, one for cc shared libraries, one for cc binary and
one for java header libraries.
Bug: 150451422
Test: m nothing
Change-Id: I08f5fbdd7852b06c9a9a2f1cfdc364338a3d5bac
am skip reason: Change-Id Id1a3fda67fe56fdc2dc90ec800d10689415de4d6 with SHA-1 7bd9444b0f is in history
Change-Id: Ifd6039ae9e75386db688f58437c3f1568c3f7c90
When the check for apex_available has failed, the build system now shows
the module that brought the unavailable module into the APEX.
Bug: 151051671
Test: m
Merged-In: Id1a3fda67fe56fdc2dc90ec800d10689415de4d6
(cherry picked from commit 7bd9444b0f)
Change-Id: Id1a3fda67fe56fdc2dc90ec800d10689415de4d6
When the check for apex_available has failed, the build system now shows
the module that brought the unavailable module into the APEX.
Bug: 151051671
Test: m
Change-Id: Id1a3fda67fe56fdc2dc90ec800d10689415de4d6
am skip reason: Change-Id Ic0fb09c8970f3a1c9f3b7b0303168520dcbfc3d8 with SHA-1 669f769470 is in history
Change-Id: If19dbc9f555f1f9e5a1d775b973dbe4af05904b9
We've now got a prebuilt in prebuilts/build-tools
Bug: 123089883
Test: treehugger
Change-Id: Ic0fb09c8970f3a1c9f3b7b0303168520dcbfc3d8
Merged-In: Ic0fb09c8970f3a1c9f3b7b0303168520dcbfc3d8
(cherry picked from commit 669f769470)
This was required before MinGW's default crt was set to ucrt. In the
new setting, libmsvcrt.a is similar to libucrt.a and is implicitly
linked-in by the Clang driver. Not explicitly linking in ucrt avoids
the link-order issue discussed in
https://github.com/android/ndk/issues/1198.
Test: m native-host-cross, go/android-llvm-windows-testing.
Change-Id: Idc125e550cae2f0eb812ca310d1d4be898a29ab4
Becase there can be more than one stub libraries, LOCAL_MODULE should be
suffixed with SubName just like NDK stub.
Note that suffix should not be appended to the latest version if the
library is provided by APEX, Otherwise, those libs always need to be
referenced with suffix in .mk files.
Bug: 145796956
Test: m
Change-Id: If503fa651a63b0b215742553b250ecf5e0a30971
Native modules within APEX should be linked with proper stub version
according to its min_sdk_version.
For example, when min_sdk_version is set to "29", libfoo in the apex
would be linked to libbar of version 29 from platform, even if it has
a newer version like 30.
Bug: 145796956
Test: m nothing (soong tests)
Change-Id: I4a0b2002587bc24b7deeb5d59b6eeba5e1db5b1f
am skip reason: Change-Id Ia3006b6747813693cf7e2b536030b21f3109f538 with SHA-1 d80cbca76d is in history
Change-Id: I342ee1bf2f471d758ee2ccc814bbd620ea8224ba