Simplify importing Soong modules into Make by always copying
LOCAL_PREBUILT_MODULE_FILE to LOCAL_BUILT_MODULE, which lets
Soong pick the final output file instead of trying to figure
out which of the various intermediate files should be the
output file.
Also fixes an issue where hostdex modules could attempt to
copy to both $(common_javalib.jar) and $(LOCAL_BUILT_MODULE),
which are the same file for host java modules.
Test: set compile_dex:true on core.platform.api.stubs. no warnings
of target overriding
Test: m checkbuild
Change-Id: Id84d499a0869961be5a906d8472b75b9c843b4b4
Only dex jars should be installed, make it an error to not provide
a dex jar for an device installable java module.
Bug: 122831369
Test: m checkbuild
Change-Id: I99c5738e6053fbaa3dd22406f50b7a002555702c
Since resource check has been done in Soong, we do not need that
here.
Bug: 118390303
Test: treehugger
Change-Id: Ib9d0862c65c6dc6e7fd7563995a9a335b3185786
Signed-off-by: Yoshisato Yanagisawa <yyanagisawa@google.com>
Bionic libs are moved to the runtime APEX and thus are available via the
path /apex/com.android.runtime/lib[64]. However, for processes that are
started before the APEX is ready, a copy of the bionic libs should be left
under /system/lib[64]. This change ensures that the bootstrap bionic
libs are always installed to the system partition.
Note that, at runtime, the bionic libs in the runtime APEX are
bind-mounted to /system/lib/<libname>.so which essentially hides the
bootstrap bionic libs to the processes after the activation of the
runtime APEX.
Bug: 120266448
Test: m and check that libc, libdl, libm are under
/system/lib[64]
Change-Id: I9d5e8e718aa020c012f312a70ed54652130048dd
$(PRODUCT_OUT)/apex is where shared libraries in APEXes get installed
into. The path can be considered as a fake path as the shared libraries
are installed there just to have symbol files for them under
$(PRODUCT_OUT)/symbols/apex for debugging purpose. Shared libraries in
APEXes are made available to the path at runtime by mounting APEXes via
apexd. The files under $(PRODUCT_OUT)/apex are never compiled into a
file system image (e.g. system.img)
Bug: 120846816
Test: build/soong/build_test.bash -dist -products mainline_system_arm64
Change-Id: I3727091214f08f945559fa5f0f1450e74c1a5c9b
Allow right-size to support images that are not sparse.
This is in support of cuttlefish.
Test: build
Bug: 122328872
Change-Id: Ic8ef968e750203dffde7044bc6dfc71c1e283158
To address flakiness in image creation, add a .2% margin of safety
for both inodes and space for ext filesystems.
Test: build
Bug: 122328872
Change-Id: I6665bd6fe642291b825dba58dfd09cc55628230f
inode-size will jump around based on filesystem size, however
readonly Android system partitions have a specific pattern of
xattr associated with sepolicy and 256 is the most efficient at
absorbing the content.
Test: manual
Bug: 122328872
Change-Id: I06dd6a503067ab6477293b386d56a89dd86b0e83
This fixes the WITH_TIDY flakes that we've been seeing, as we've been
relying on a particular order of target-specific variable inheritance.
Change-Id: I68c8a56620c29a41e45f26e5ea81a5313490c1cf
Fixes: 122637600
Test: WITH_TIDY=true m libhellojni_jni
I'll be adding more intermediate targets in this file, so move all of
the uses closer to the end.
Bug: 122637600
Test: build-aosp_arm64.ninja is the same before and after
Change-Id: Ib8a588e570cb2a61bab75118db6e480d6afceaa8
It's 2019 and the CDD has required NEON for many years now.
I've left unbundled apps alone for now.
I think the recent fix here for https://issuetracker.google.com/116070933
was incorrect. (I've commented on the bug.)
Test: treehugger
Change-Id: Ia02305cfdff9fd18a85359bc44d8eb9cab1413bd
Individual products can add their own calculator package if desired.
Bug: 120905067
Test: lunch aosp_arm64 && make -j8
Merged-In: I60490b6e2a42c4304768075e8fef9f07cb72d268
Change-Id: I60490b6e2a42c4304768075e8fef9f07cb72d268
Since the code to start compiler proxy is implemented in soong now
(https://android-review.googlesource.com/c/platform/build/soong/+/839293).
We do not need to do that in goma.mk.
Bug: 118390303
Test: After staring goma client, executed followings:
Test: USE_GOMA=true make -j 4
Change-Id: If3da9908483e183f539c0d6ef9dc5826200b0d6b
Signed-off-by: Yoshisato Yanagisawa <yyanagisawa@google.com>
Dump the list of APKs that aren't located at system partition and signed
with system certificate.
And when enforcement option is enabled, it makes build error if there is
the apk that satisfies the condition above.
Bug: 74699609
Test: m -j
Test: m out/target/product/$(get_build_var TARGET_DEVICE)/certificate_violation_modules.txt
Change-Id: I23c41f2665dd97abac3e77d1c82d81ff91b894eb
Legacy GSI had been changed to include BoardConfigGsiCommon.mk
instead of treble_common*.mk. However, some default settings are
different than the original. This patch fixes
BOARD_BUILD_SYSTEM_ROOT_IMAGE in Legacy GSI makefiles.
The patch also removes redundant settings and fix some comments.
Bug: 122282239
Test: make
Change-Id: Ie4eb8cf410bfd2edc74648c0e5ee81028242a1b7
vtsc just ignores the -d argument and apparently can't write a depfile.
So for now, just stop assuming it produces one.
Bug: 121058584
Bug: 120496070
Test: NINJA_ARGS="-w missingdepfile=err" m libvts_interfacespecification
Change-Id: Ie1483fbeead9f710d8a6636df07ce44bbc4a6e2d
It's 2019 and the CDD has required NEON for many years now.
I've left unbundled apps alone for now.
Test: treehugger
Change-Id: Iee22d4605a81e2840063a203b76db7df5b4f3c37
Generate and store minimum amount of information necessary to
create backtraces in native tools (for crashes and profilers).
The data is compressed and takes <5% relative to JIT code size
(which is less than recent stack map savings; so win overall).
Averages for non-compiled run of maps which filled JIT code cache to ~4MB:
Q: code:1.55kb/method data:0.738kb/method debug:0.064kb/method(*this CL*)
P: code:1.62kb/method data:0.956kb/method debug:0.835kb/method(if enabled)
I also measured the P to Q on-disk stack maps savings in CL/762841 as ~28%
(not all of that is applicable to JITed code, so that is an overestimate).
Bug: 111350693
Test: Device boots, mini-debug-info is generated.
Change-Id: I95883bd4f2d5c2308149ab0ba641b0a703c7f81b
It is a list of <module_name>:<manifest_name> pairs. When the module
name of an APK or an APEX matches with <module_name>, then its app
manifest name is overridden to <manifest_name>.
<module_name> and <manifest_name> can be patterns as in
com.android.%:com.mycompany.android.%.release
Test: m with PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES for
1) an APK in Android.mk
2) an APK in ANdroid.bp
3) an APEX
and check that manifest names are modified as specified
Change-Id: Ic09e059ea7b7ea99a50a1cf423a25aa587ef4466
All these modules are to be moved to /product, as they are not
part of the core system image. Move them out of the _system mks
as a start, and temporarily whitelist them so that they can be
moved iteratively.
Bug: 122353713
Test: make
Change-Id: If658e6b4565924cd915a183400c5b2b32984eca4
Merged-In: If658e6b4565924cd915a183400c5b2b32984eca4
The patch modifies the Legacy GSI to use BoardConfigGsiCommon.mk
instead of board config treble-common*.mk, and delete these
treble-common*.mk files.
After the patch, the GSI common board configs are in single file
BoardConfigGsiCommon.mk
The patch also includes:
- Moving `TARGET_COPY_OUT_VENDOR := vendor` to
BoardConfigGsiCommon.mk, because GSI always contains no vendor
contents.
- Configure the binder interface bitness explicitly.
- Unify the structure of each BoardConfig.mk.
Bug: 122282239
Test: compare the out folder between with and without the patch
Test: output files are all the same
Change-Id: Ie5901446920dda317dea848e6d5a7bbcf10a32cf