Commit graph

12 commits

Author SHA1 Message Date
Kiyoung Kim
ad0d7710fe Replace dependencies from the Makefile to API imported modules
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
2022-09-02 13:15:05 +09:00
Dan Albert
016da58c3c Dedup lists of NDK libraries from Soong.
Test: treehugger
Bug: None
Change-Id: I56bca0e8dc6d42a7107ac421d0b608a533e38580
2020-06-30 12:46:41 -07:00
Dan Willemsen
fd1e67b8ce More performance improvements
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
2020-06-08 19:10:23 -07:00
Justin Yun
2bfe0a1a25 Restore "Linktype check for native:product"
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
2020-01-22 00:16:25 +00:00
Justin Yun
dd5401713c Revert "Linktype check for native:product"
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
2020-01-20 07:39:41 +00:00
Justin Yun
4e7e76fe5a Linktype check for native:product
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
2020-01-19 23:46:47 +00:00
Tom Cherry
6215e436f3 Fix host-init-verifier regression
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
2019-08-22 10:47:16 -07:00
Dan Willemsen
18ffd5891e Remove import_includes/export_includes
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
2019-08-01 14:56:45 -07:00
Logan Chien
e984ebbb57 Strip my_shared_libraries to remove space char
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
2019-07-12 10:26:50 -07:00
Logan Chien
a45d6f5ee9 Move cxx_stl_setup.mk out of ifdef
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
2019-07-12 10:26:50 -07:00
Jooyung Han
36c1f678a3 fix: wrong dependency from ETC to libc++.so
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
2019-05-31 07:24:42 +09:00
Jaewoong Jung
f22997ead4 prebuilt_internal.mk refactoring.
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
2019-03-26 15:29:20 -07:00