commit | 3db851cdbd209e94a271c1a7714e4e982ff9b6ba | [log] [tgz] |
---|---|---|
author | Andrew Harper <aharp@google.com> | Mon Aug 14 17:54:24 2023 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Aug 14 17:54:24 2023 +0000 |
tree | 16b51c54871b05cfdf5d1b22ee009d5760be264b | |
parent | 565311e620090fec55a057aba7dab7806e4c91c9 [diff] |
soong: Remove host/vendor properties from defaults The `vendor_available` property indicates that the module in question may be linked by a vendor module, while `host_supported` allows a host variant of the module to be built. For concrete targets like libraries, these properties are very useful in that they expand the configurations in which the module can be used. However, the opposite effect occurs when set as part of `cc_defaults` since these properties are now inherited by the including module and can conflict with or restrict choices within that module. One concrete example is the case of trying to build a vendor module that incorporates a `cc_defaults` with these properties set. This will result in a build break because it is not permissible to set both `vendor` and `vendor_available` to true. Another example is a module incorporating such a default while also linking a library that was not built with `host_available`. This results in a build break, because the parent module has inherited the `host_available` property from the defaults, but it relies on modules that are not host available. Finally, note that even if these properties are not included in the pigweed `cc_defaults`, the module including those defaults is still free to set these properties as desired. Since there is no advantage to setting these properties within pigweed `cc_defaults` and a number of drawbacks, they should be removed. Test: Full `m` build in Android environment Change-Id: I5a050f6bb6d098bd46dd1a12542a3429aa8be796 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165270 Reviewed-by: Carlos Chinchilla <cachinchilla@google.com> Commit-Queue: Andrew Harper <aharp@google.com> Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Victor Berchet <berchet@google.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.