There are some module definitions in the Makefile, which needs to be
built with API imported module. This change replaces existing
dependencies from the Makefile, to append suffix on the reference, so it
can be linked to API imported modules.
Bug: 243736650
Test: 'ALLOW_MISSING_DEPENDENCIES=true m halutil' succeeded.
Change-Id: I12baa36e41c0c69228be5f0d08fb4c18eb8a22b1
Instead of using `x := $(x) foo`, make sure `x` is initialized first,
then use `x += foo`.
For a aosp-master/aosp_crosshatch-userdebug build, this takes the build
from 49s to 33s (no significant difference in peak memory)
Bug: 158488548
Test: build-aosp_crosshatch.ninja is the same before/after
Change-Id: I41fb7611030dd3ba824f896a9c9eadbdd218f464
Similar to native:vendor, native:product can use VNDK libs but not
vndk_private.
It is activated when PRODUCT_PRODUCT_VNDK_VERSION is set.
This restores the reverted commit
4e7e76fe5a (aosp/1197274).
The problem of the original CL was assuming no modules have both
LOCAL_PRODUCT_MODULE and LOCAL_USE_VNDK in the old implementations.
But many vendor modules in the targets without setting
PRODUCT_PRODUCT_VNDK_VERSION in old branches had both flags that
caused link failures.
To make it no-op without PRODUCT_PRODUCT_VNDK_VERSION, I defined
LOCAL_USE_VNDK_PRODUCT that is set to true if
PRODUCT_PRODUCT_VNDK_VERSION is defined and LOCAL_PRODUCT_MODULE is
true.
Bug: 146620523
Test: build with PRODUCT_PRODUCT_VNDK_VERSION := current
Change-Id: I344c7dc1c47f08706c101e486ff07c3f10aff8ac
This reverts commit 4e7e76fe5a.
Reason for revert: build breaks (bid: 6147225) and postsubmit test fails.
There are some modules that have both "product_specific: true" and "vendor_available: true", which tags the module as "native:product" unintentionally.
We need to clean up these cases first and revisit this CL.
Bug: 146620523
Bug: 147987741
Change-Id: Ib07543235d72a135b6b732aaa909c147d2df832b
Similar to native:vendor, native:product can use VNDK libs but not
vndk_private.
It is activated when PRODUCT_PRODUCT_VNDK_VERSION is set.
Bug: 146620523
Test: build with PRODUCT_PRODUCT_VNDK_VERSION := current
Change-Id: Icfd94dfc30e77581991799d9e2f408f57da22cea
After the split up of prebuilt_internal.mk, the logic for running
host-init-verifier on init.rc files was misplaced. This change moves
it back to the right location.
Test: see that a mistake in rootdir/init.rc causes the build to fail
Change-Id: I60e503cc48639f4f11c47e6636f140672fde61b4
Now that ONE_SHOT_MAKEFILE no longer exists, we don't have to rely on
the filesystem to store this informtion.
This removes ~16.7k files from our build graph
(aosp-master/aosp_arm64-eng), though only about 600 of them were being
used in a normal build.
Test: treehugger
Change-Id: I3ac12f5ea7f11d25064109a0599bc5be1976fba5
This commit strips my_shared_libraries to remove the unwanted space
character when both `$(filter-out ...)` and
`$(my_system_shared_libraries)` are empty.
Bug: 137302468
Test: lunch aosp_walleye-userdebug && make
Test: lunch aosp_walleye-userdebug && make check-elf-files
Change-Id: Ia0410da877196c104a61d48c92a2be969a9754a5
This commit moves `include cxx_stl_setup.mk` out of `ifdef
my_shared_libraries` so that it can always get a chance to tweak
my_shared_libraries.
Bug: 137302468
Test: lunch aosp_walleye-userdebug && make
Test: lunch aosp_walleye-userdebug && make check-elf-files
Change-Id: Id756340f0a62d7ac06d301c3260430a1af74ed89
There are prebuilt modules which are meant to be just copied.
e.g. ETC,SCRIPT,DATA files
The problem for current prebuilt_internal.mk is that those modules are
handled by cc_prebuilt_internal.mk, which adds libc++ as dependency,
which is simply wrong with copy-only prebuilt modules.
As a fix, misc_prebuilt_internal.mk is introduced to handle
ETC,SCRIPT,DATA prebuilt modules and doesn't do additional processing.
Bug: 132925121
Test: m nothing && check build-<TARGET>.ninja if there is no dependency
to libc++ from ETC modules such as /system/etc/sepolicy_test
Change-Id: I846f8e1f3741ca71c86f5420cfaafa7419ebf3f6
Add cc_prebuilt_internal.mk and java_prebuilt_internal.mk. Now all
buisiness logic lives in individual per-class prebuilt mk files.
Fixes: 128609813
Test: Built and flashed a Pixel device image + TreeHugger
Change-Id: I3827f990642bb7587dc682d1a382b3a1ce22fe66