Commit graph

47831 commits

Author SHA1 Message Date
Colin Cross
a76cc6d732 Simplify soong_java_prebuilt.mk and soong_app_prebuilt.mk
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
2019-01-15 10:16:55 -08:00
Colin Cross
1a2e9dc10c Error if a Soong module attempts to install a classes jar
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
2019-01-14 12:50:08 -08:00
Roland Levillain
2e77d4ee2c Merge "Support kryo385 CPU." 2019-01-11 18:41:11 +00:00
Treehugger Robot
6bff2bc817 Merge "Add $(PRODUCT_OUT)/apex to the artifact path whitelist" 2019-01-11 17:43:16 +00:00
Treehugger Robot
3ca411b18b Merge "Remove Goma resource check code." 2019-01-11 17:31:06 +00:00
Treehugger Robot
e093534aba Merge changes Ic8ef968e,I6665bd6f
* changes:
  build_image: support non-sparse right-sized images
  build_image: right-sizing add .2% margin for space and inodes
2019-01-11 17:17:20 +00:00
Treehugger Robot
fe714ead44 Merge "Install bootstrap variant of bionic libs" 2019-01-11 16:59:15 +00:00
Yoshisato Yanagisawa
391cbc5409 Remove Goma resource check code.
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>
2019-01-11 17:07:58 +09:00
Jiyong Park
2a0ed36bd9 Install bootstrap variant of bionic libs
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
2019-01-11 13:44:20 +09:00
Jiyong Park
3387e65686 Add $(PRODUCT_OUT)/apex to the artifact path whitelist
$(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
2019-01-11 13:33:56 +09:00
Jeongik Cha
bdf0ec03b6 Merge "Dump and enforce certificate for apks" 2019-01-11 04:31:02 +00:00
Treehugger Robot
73e13b5030 Merge changes I68c8a566,Ib8a588e5
* changes:
  All all_objects to LOCAL_INTERMEDIATE_TARGETS
  Reorder binary.mk to move LOCAL_INTERMEDIATE_TARGETS later
2019-01-11 04:29:49 +00:00
Treehugger Robot
8a7fb942e9 Merge "Remove ExactCalculator module" 2019-01-11 03:14:39 +00:00
Treehugger Robot
546550e095 Merge "build_image: hard code set inode size to 256" 2019-01-11 02:01:22 +00:00
Mark Salyzyn
6541d0a80e build_image: support non-sparse right-sized images
Allow right-size to support images that are not sparse.
This is in support of cuttlefish.

Test: build
Bug: 122328872
Change-Id: Ic8ef968e750203dffde7044bc6dfc71c1e283158
2019-01-10 14:49:34 -08:00
Mark Salyzyn
60a716fe8c build_image: right-sizing add .2% margin for space and inodes
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
2019-01-10 14:49:24 -08:00
Mark Salyzyn
c777eaa779 build_image: hard code set inode size to 256
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
2019-01-10 14:49:12 -08:00
Treehugger Robot
1b8939b946 Merge "Add BUILD_USERNAME and BUILD_HOSTNAME" 2019-01-10 21:29:47 +00:00
Elliott Hughes
6621a2fa8b Merge "Use NEON for CTS/SDK/VTS builds too (64-bit edition)." 2019-01-10 21:23:03 +00:00
Dan Willemsen
11ee341199 All all_objects to LOCAL_INTERMEDIATE_TARGETS
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
2019-01-10 13:21:07 -08:00
Dan Willemsen
e24da82ffd Reorder binary.mk to move LOCAL_INTERMEDIATE_TARGETS later
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
2019-01-10 13:10:17 -08:00
Treehugger Robot
1951e70416 Merge "Remove code to start Goma compiler_proxy." 2019-01-10 19:24:03 +00:00
Treehugger Robot
82f2cb078f Merge "Stop trying to read depfile from vtsc" 2019-01-10 17:46:34 +00:00
Elliott Hughes
53a5581430 Use NEON for CTS/SDK/VTS builds too (64-bit edition).
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
2019-01-10 08:59:47 -08:00
Elliott Hughes
c64bc3229a Merge "Use NEON for CTS and SDK builds too." 2019-01-10 16:39:41 +00:00
David Srbecky
06b8732b9f Merge "Enable mini-debug-info for JITed methods by default." 2019-01-10 13:24:24 +00:00
Treehugger Robot
56645f7d88 Merge "Support LOCAL_DEX_PREOPT := nostripping" 2019-01-10 08:58:01 +00:00
Treehugger Robot
3da0dbe459 Merge "Add 'dmctl' to default debug utilities." 2019-01-10 07:10:06 +00:00
Justin Klaassen
6900aa2144 Remove ExactCalculator module
Individual products can add their own calculator package if desired.

Bug: 120905067
Test: lunch aosp_arm64 && make -j8
Merged-In: I60490b6e2a42c4304768075e8fef9f07cb72d268
Change-Id: I60490b6e2a42c4304768075e8fef9f07cb72d268
2019-01-10 14:30:55 +08:00
Yoshisato Yanagisawa
f07f721235 Remove code to start Goma compiler_proxy.
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>
2019-01-10 14:29:45 +09:00
Colin Cross
723a22feea Support LOCAL_DEX_PREOPT := nostripping
Support LOCAL_DEX_PREOPT := nostripping by passing it to
dexpreopt_gen.

Bug: 122610462
Test: m
Change-Id: I05f7009d38505f995cd16cc8dbb4ecd6ecc3d71c
2019-01-09 21:27:53 -08:00
Treehugger Robot
eeeb9f96c8 Merge "Fix Legacy GSI settings for BoardConfigGsiCommon.mk" 2019-01-10 03:13:57 +00:00
Jeongik Cha
b2c4bb7e3d Dump and enforce certificate for apks
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
2019-01-10 11:37:22 +09:00
SzuWei Lin
a2d5ed1bed Fix Legacy GSI settings for BoardConfigGsiCommon.mk
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
2019-01-10 10:26:03 +08:00
Dan Willemsen
5125746561 Stop trying to read depfile from vtsc
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
2019-01-09 16:40:58 -08:00
Jiyong Park
8d95a14476 Merge "Add PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES" 2019-01-09 23:33:51 +00:00
Elliott Hughes
27932bf3a8 Use NEON for CTS and SDK builds too.
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
2019-01-09 20:15:30 +00:00
David Srbecky
99ae76e24a Enable mini-debug-info for JITed methods by default.
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
2019-01-09 13:32:12 +00:00
Nicolas Geoffray
9ce12752dc Merge "Preopt: Pass -Xbootclasspath: arg to dex2oat." 2019-01-09 12:37:15 +00:00
Jiyong Park
185d41e84d Add PRODUCT_MANIFEST_PACKAGE_NAME_OVERRIDES
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
2019-01-09 21:08:10 +09:00
Anton Hansson
fe9f373e10 Merge "Fix qemu image definition conditionals" 2019-01-09 10:33:51 +00:00
Treehugger Robot
104904bdf0 Merge "Refactor GSI BoardConfig.mk" 2019-01-09 06:05:41 +00:00
Benjamin Schwartz
1a3c9f26d1 Merge "Add android.hardware.power.stats@1.0 to current.txt" 2019-01-08 17:58:59 +00:00
Anton Hansson
0909191b82 Merge "Move overridden AOSP modules out of *_system mks" 2019-01-08 16:20:47 +00:00
Anton Hansson
3a4a966507 Merge "Add adb_keys to mainline_system if they exist" 2019-01-08 11:40:25 +00:00
Anton Hansson
64bf2593f0 Merge "Add mainline.mk" 2019-01-08 11:40:11 +00:00
Anton Hansson
46441eac2f Merge "Wifi: Add Wifi library to mainline_system" 2019-01-08 10:22:21 +00:00
Anton Hansson
811f2392c0 Move overridden AOSP modules out of *_system mks
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
2019-01-08 10:03:58 +00:00
SzuWei Lin
1457b3fcbf Refactor GSI BoardConfig.mk
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
2019-01-08 17:35:05 +08:00
Ahmed ElArabawy
69e62af873 Wifi: Add Wifi library to mainline_system
This commit adds android.hardware.wifi@1.0.so to mainline_system.

Bug: 122363107
Test: Successful build
Test: lunch crosshatch-userdebug ; make -j64
Test: lunch mainline_system_arm64; make -j64
Change-Id: Ifb402ad59e02f6f5c18c2372655a5896e917d5c2
Merged-In: Ifb402ad59e02f6f5c18c2372655a5896e917d5c2
(cherry picked from commit b38ce5a6ff)
2019-01-08 09:24:48 +00:00