Assemble API surface headers before compiling rdeps
The current combined multi-tree build graph is not accurate. A vendor.c file currently does not have a dependency on the assembled .h file in multi-tree out. Previous successful builds of `multitree_build vendor/vendorimage` were a happy coincidence (presumably because the actions which copy the .h files from a speciific inner tree to out/ are at the bottom of the build graph). Fix this by exporting `cc_api_library.src` to be an order only dependency of its rdeps (both compile and link). Making an .so file an order only dependency of _compilation_ is probably confusing, but I think it will be less confusing than the other alternative I could think of (creating .timestamp files for each api_surface include dir and creating phony targets to make them available from top-level to chdir'd inner tree) Test: go test ./cc Test: orchestrator/prebuilts/build-tools/linux-x86/bin/nsjail --config out/nsjail.cfg -- orchestrator/prebuilts/build-tools/linux-x86/bin/ninja -f out/multitree.ninja -t path vendor/out/soong/.intermediates/external/angle/angle_common/android_arm64_armv8-a_cortex-a53_static/obj/external/angle/src/common/android_util.o out/api_surfaces/vendorapi/current/libc/libc_headers.contribution.androidos_include/features.h (Path did not exist before this CL) Change-Id: I74391100f2108993448004019eeba6456af0c12a
Loading
Please register or sign in to comment