platform_build_soong/cc
Paul Duffin 88f2fbe92e Refactor snapshot module creation
Generalize the processing of arch specific properties to reduce
duplication in snapshot module creation and simplify addition of
support for handling multiple os types.

Supporting multiple os types with the current method for building
snapshot modules would require every affected module type to add
support for it. Rather than duplicate multiple os type handling code
across those module types this work generalizes the process cc modules
use for handling arch types as it can be used as a basis for handling
multiple os types. Migrating module types over to this new process
will insulate them from having to handle multiple os types.
OB
SdkMemberType changes:
* BuildSnapshot is deprecated in favour of the new AddPrebuiltModule()
  method.
* Additional methods, CreateVariantPropertiesStruct() and
  FinalizeModule() are added.
* A new interface SdkMemberProperties, is defined that handles
  extracting information from the variant (prior to common value
  optimization) and adding properties to a property set.

The sdk module type uses these new methods and types to delegate the
member type specific processing to the relevant member types while
handling the behavior that is common across all members types, e.g.
extracting common values across multiple architectures. A future change
will leverage this processing to add support for multiple os types.

This change also refactors the cc module processing to use the new
process.

Bug: 150451422
Test: m nothing
Change-Id: If6ab2498407b17f50391d062cd9afc01b5e01af4
2020-03-05 13:00:26 +00:00
..
config Merge "Add bugprone to global clang-tidy default checks" 2020-03-04 22:18:27 +00:00
libbuildversion
androidmk.go Convert cc to AndroidMkEntries 2020-02-25 19:53:04 -08:00
binary.go Add support for cc_binary in module_exports 2020-02-18 16:17:35 +00:00
binary_sdk_member.go Refactor snapshot module creation 2020-03-05 13:00:26 +00:00
builder.go Do not add ccWrapper to ccNoDeps rule 2020-02-18 08:00:17 -08:00
cc.go Merge "Capture snapshot headers in parallel" 2020-03-05 00:03:00 +00:00
cc_test.go Enable vndk-ext for product variants 2020-03-04 01:22:16 +00:00
ccdeps.go Fix writing module_bp_cc_deps.json 2020-01-31 18:12:41 +00:00
cflag_artifacts.go Simple refactoring of prefix related functions. 2020-02-14 14:33:49 -08:00
check.go Forbid -Weverything 2019-11-12 15:55:03 -08:00
cmakelists.go Sandbox soong_build by changing to root directory 2020-01-11 01:11:46 +00:00
compdb.go Sandbox soong_build by changing to root directory 2020-01-11 01:11:46 +00:00
compiler.go Make __ANDROID_APEX_<NAME>__ macro optional 2020-03-02 17:44:33 +09:00
compiler_test.go Expand ClangExtraExternalCflags to non-Google vendor projects 2019-11-11 13:24:39 -08:00
coverage.go Merge "Add coverage flags for Clang coverage builds." 2020-01-22 22:34:35 +00:00
fuzz.go Add ramdisk image. 2020-01-22 16:54:18 -08:00
gen.go Fix header deps of sysprop_library 2020-02-19 15:30:02 +09:00
gen_stub_libs.py Rename # vndk tag to # llndk 2019-11-13 05:50:27 +00:00
gen_test.go Use empty string for core image variant 2019-12-13 20:44:36 -08:00
genrule.go Add ramdisk image. 2020-01-22 16:54:18 -08:00
genrule_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
installer.go Create product variant for product partition 2019-12-20 17:56:08 +09:00
kernel_headers.go Change exportedDirs and exportedSystemDirs from []string to android.Paths 2019-10-25 09:52:08 +09:00
library.go Capture snapshot headers in parallel 2020-03-04 23:39:42 +09:00
library_headers.go Add support for cc_library_headers in sdk/module_exports 2020-02-24 14:49:22 +00:00
library_headers_test.go Add cc_prebuilt_library_headers 2020-02-24 14:49:22 +00:00
library_sdk_member.go Refactor snapshot module creation 2020-03-05 13:00:26 +00:00
library_test.go Use empty string for core image variant 2019-12-13 20:44:36 -08:00
linkable.go <apex_name>-deps-info correctly tracks dependencies 2020-02-07 18:53:12 +09:00
linker.go Add an order-only dependency on the build number file 2020-02-28 18:16:56 +00:00
llndk_library.go Create product variant for product partition 2019-12-20 17:56:08 +09:00
lto.go Split local and global cflags 2019-11-07 15:27:58 -08:00
makevars.go Exclude dirs from binder interface whitelisting 2019-12-04 09:10:21 -08:00
ndk_headers.go Sandbox soong_build by changing to root directory 2020-01-11 01:11:46 +00:00
ndk_library.go Revert "Revert "soong: upgrade Android platform to clang-r370808"" 2019-12-13 13:13:06 -08:00
ndk_prebuilt.go Expose some factories for aidl_test.go 2019-12-09 18:21:48 +09:00
ndk_sysroot.go Expose some factories for aidl_test.go 2019-12-09 18:21:48 +09:00
object.go Split local and global cflags 2019-11-07 15:27:58 -08:00
object_test.go Allow linker scripts when building objects. 2019-08-22 13:21:37 -07:00
pgo.go Disable PGO profile use in Clang-based coverage builds 2020-02-12 15:12:07 -08:00
prebuilt.go Add cc_prebuilt_library_headers 2020-02-24 14:49:22 +00:00
prebuilt_test.go Improve cc tests by adding sanitizer mutators 2019-12-19 19:19:40 +00:00
proto.go Split local and global cflags 2019-11-07 15:27:58 -08:00
proto_test.go Use empty string for core image variant 2019-12-13 20:44:36 -08:00
pylintrc
rs.go Move/dedupe some host path functions in package_ctx.go. 2019-12-09 22:04:21 +00:00
sabi.go Revert "Also package recursive jni_libs deps of android_apps as well as direct deps." 2019-12-18 00:15:07 +00:00
sanitize.go Convert cc to AndroidMkEntries 2020-02-25 19:53:04 -08:00
snapshot_utils.go Capture snapshot headers in parallel 2020-03-04 23:39:42 +09:00
stl.go Statically link the unwinder into binaries packaged into an unbundled APEX with legacy_android10_support: true. 2020-02-13 22:29:44 -08:00
strip.go Remove use_gnu_strip option 2019-09-13 12:18:47 -07:00
sysprop.go Implement sysprop_library API stability check 2019-08-23 06:28:34 +00:00
test.go Support arch variant for data attribute 2020-02-25 16:34:39 -08:00
test_data_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
test_gen_stub_libs.py Rename # vndk tag to # llndk 2019-11-13 05:50:27 +00:00
testing.go Separate cc_library_headers to its own file and add tests 2020-02-24 14:49:22 +00:00
tidy.go Add support for clang-tidy -warnings-as-errors in Android.bp files 2019-03-26 20:47:08 +00:00
toolchain_library.go Repack libgcc.a to only include required objects 2019-10-24 16:34:54 -07:00
util.go Reorder local and global flags 2019-11-07 15:27:58 -08:00
vendor_public_library.go Split local and global cflags 2019-11-07 15:27:58 -08:00
vendor_snapshot.go Capture snapshot headers in parallel 2020-03-04 23:39:42 +09:00
vndk.go Capture snapshot headers in parallel 2020-03-04 23:39:42 +09:00
vndk_prebuilt.go Do not hide VNDK prebuilts from make 2020-02-17 19:01:13 +09:00