Commit Graph

18402 Commits

Author SHA1 Message Date
Logan Chien
b1c11de3c1 Fix check_elf_file with LOCAL_SDK_VERSION and NDK libs
This commit fixes prebuilt ELF checker for modules with
LOCAL_SDK_VERSIONS and depend on NDK shared libraries. This fix is
required because dynamic_binary.mk filters out NDK libraries thus those
libraries do not show up in DEPENDENCIES_ON_SHARED_LIBRARIES.

Bug: 119084334
Test: Create a prebuilt module with LOCAL_SDK_VERSION and check whether
      the NDK libs in LOCAL_SHARED_LIBRARIES are passed to
      check_elf_file.py.
Change-Id: I0f72ae1b0edc3e8d7e43eb70829e74d606564966
2019-03-01 10:25:25 +08:00
Nicolas Geoffray
ac1f90c39c Pass the --api-flags to appcompat explicitly.
Bug: 125794065
Test: m && appcompat logs contain data
Change-Id: Idef875138d6670efc9ed7b9c63f653229b173d3e
2019-02-28 13:51:14 +00:00
Anton Hansson
c651ef8529 Merge "Make it an error to specify the wrong ARCH_VARIANT" 2019-02-28 10:29:05 +00:00
Anton Hansson
67d3081d3f Merge "Move WITH_DEXPREOPT default value" 2019-02-28 10:26:31 +00:00
Anton Hansson
2507ce486d Merge "Modify INTERNAL_KERNEL_CMDLINE instead of BOARD_ variant" 2019-02-28 10:26:18 +00:00
Anton Hansson
d265f52005 Merge "Consolidate some BoardConfig variable checks" 2019-02-28 09:21:41 +00:00
Anton Hansson
be1f9cb2fa Make it an error to specify the wrong ARCH_VARIANT
It was previously a warning to set an incorrect ARCH_VARIANT
when CPU_VARIANT was set to a cpu for which we knew the arch.

Make it an error, as there are no offenders in the tree.

Re-structure the code to make it a little clearer when you get
a default and when you get an error.

Test: build_test
Change-Id: I5821a8162a59e8c2aed2370068f9eb656ced9d99
2019-02-27 17:27:16 +00:00
Anton Hansson
74dc00b88f Move WITH_DEXPREOPT default value
This allows setting the variable READONLY after reading the BoardConfig.

This is safe to do because this flag is only set in BoardConfig.mk
files. The same is not true for many of the other default preopt flags,
like DEX_PREOPT_DEFAULT or WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY
which are set in mixture of product / board config files.

Test: boot blueline
Change-Id: I961ba581f9790bcdc7cf6b36d8b53bcdb8861a92
2019-02-27 15:03:23 +00:00
Anton Hansson
72e36f0278 Modify INTERNAL_KERNEL_CMDLINE instead of BOARD_ variant
The current modification of the variable within the build system
prohibits making the variable readonly.

Test: build_test
Test: boot blueline
Change-Id: Iec6058a163b5951db389d4adc0d9d0397431efb1
2019-02-27 14:29:01 +00:00
Anton Hansson
b9544694a5 Consolidate some BoardConfig variable checks
Move a few more variable stripping/sanity checking from
config.mk to board_config.mk

Test: build_test
Change-Id: I93fde7293de38398039dbb679b2399c8a68c190d
2019-02-27 14:07:43 +00:00
Anton Hansson
45747a037a Merge "Split out board_config.mk" 2019-02-27 13:21:17 +00:00
Colin Cross
7293c1e4b9 Update manifest merger to use binary
Manifest merger is now a java_binary instead of a collection of jars,
it can use the single binary as the dependency.

Bug: 112607039
Test: m checkbuild
Change-Id: Id97b01542314cb165ebf7c90409a09482d8c53bc
2019-02-27 06:18:35 +00:00
Treehugger Robot
55ebd61486 Merge "Fix dynamic partition size check for devices with recovery" 2019-02-27 01:58:58 +00:00
Anton Hansson
bb76ce825c Split out board_config.mk
Similar to product_config.mk, this contains the logic for reading
BoardConfig.mk, and will be expanded to sanity-check variables
set in the BoardConfig etc.

Test: build_test
Change-Id: I4f8d7cfbf1506ae4268c82c9554680259958b313
2019-02-26 16:27:48 +00:00
Yifan Hong
accf09b2e0 Fix dynamic partition size check for devices with recovery
Devices with TARGET_NO_RECOVERY unset will contain a patch
of the recovery image in the system image. Fix
corresponding size checks.

Fixes: 120043292
Bug: 124489494
Test: build cuttlefish with DAP

Change-Id: I508881f421672180ab852c0f9216184b925d83ad
2019-02-25 16:10:43 -08:00
Dan Willemsen
fb8c9673e7 Merge "Deprecate *.c[pp].arm" 2019-02-25 21:28:31 +00:00
Nicolas Geoffray
3b813d10bb Merge "Support for install multiple boot images." 2019-02-24 13:37:01 +00:00
Paul Duffin
a0d31e733b Remove usages of legacy-test and legacy-android-test
Bug: 63127064
Test: TH
Change-Id: I2f71b8dab6a5303cae24e36d6519a4001af66063
2019-02-22 15:45:03 +00:00
Nicolas Geoffray
269bc741a5 Support for install multiple boot images.
Bug: 119800099
Test: m && /system/framework/arm/apex*.art files exist
Change-Id: I78023f1086446c2c44ff6b282993537b053c0588
2019-02-22 15:33:23 +00:00
Anton Hansson
4208c81ab9 Merge "Add support for *_CPU_VARIANT_RUNTIME flags" 2019-02-22 12:34:02 +00:00
Anton Hansson
b5312392a0 Merge "Move ART cpu properties to /vendor" 2019-02-22 12:14:49 +00:00
Anton Hansson
299ffb7870 Merge "Add more BoardConfig variables to stash list" 2019-02-22 10:21:07 +00:00
Logan Chien
7d35910451 Merge "Refine lsdump_paths.txt dependencies" 2019-02-22 09:08:03 +00:00
Logan Chien
5f4e29b090 Refine lsdump_paths.txt dependencies
This commit moves $(LSDUMP_PATHS) from the prerequisite of
lsdump_paths.txt to the prerequisite of findlsdumps. This change makes
it possible to dump the list of lsdump files without actually building
all lsdump files.

Bug: 124829578
Test: make out/target/product/generic/lsdump_paths.txt
      # does not build the actual lsdump files
Test: make findlsdumps  # builds lsdump_paths.txt and all lsdump files
Change-Id: I924f1c0c61391e958521c376a061651f2a301adb
2019-02-22 10:55:44 +08:00
Dan Willemsen
46267cb4d8 Deprecate *.c[pp].arm
There never were too many users of this, and I've just converted the
last ones to Soong.

Test: diff build-aosp_arm.ninja
Test: treehugger
Change-Id: Ida6d486a62d0b521c1cd67f5f18c0ad0dbe957e3
2019-02-21 18:02:13 -08:00
Treehugger Robot
f97ed91448 Merge "Add a wrapper file for the vts_config module." 2019-02-22 00:19:27 +00:00
Colin Cross
17ea341950 Use flags from Soong for d8 and r8
Use the flags provided by Soong when running d8 and r8.

Bug: 119270658
Test: m checkbuild
Change-Id: I9459ded386effc27c4c96f1e94f9ea2f8ed19319
2019-02-21 15:04:37 -08:00
Colin Cross
6128b1e8d6 Merge "Get DEXPREOPT_BOOT_JARS_MODULES from Soong" 2019-02-21 21:32:03 +00:00
Tianjie Xu
df5978803d Merge "Dump a copy of metadata file for full OTA" 2019-02-21 18:00:55 +00:00
Anton Hansson
71b7f7fbd0 Add support for *_CPU_VARIANT_RUNTIME flags
Specified in the BoardConfig, and default to the value of the non
_RUNTIME variants.

These flags do not modify build-time compilation, but get written to
system properties on /vendor and can be inspected at runtime to
run/compile code for the specified cpu.

Migrate the bionic and ART cpu variant flags to use the new variables,
but leave the ART preopting using the non-_RUNTIME variants.

Bug: 120773446
Test: boot downstream device specifying CPU_VARIANT_RUNTIME flags
Test: grep dalvik.vm vendor/default.prop
Change-Id: Idc81110172582f38f84cca87f2eff140c5b5f9ac
2019-02-21 14:32:13 +00:00
Anton Hansson
30851f2540 Move ART cpu properties to /vendor
System properties relating to the physical hardware belong
on the vendor partition. Move the ART-related cpu variant
sysprops there.

This also brings the ART sysprops in line with the equivalent
bionic sysprops.

Bug: 120773446
Test: make, boot
Test: grep dalvik.vm vendor/default.prop
Change-Id: I3f843a7070dd0d9148737e040fe87d6461977d09
2019-02-21 14:13:44 +00:00
Anton Hansson
70222b21ee Add more BoardConfig variables to stash list
I would like to centralize/standardize the BoardConfig
variable sanity checking in a file similar to product_config.mk,
but for now just add a few more standard BoardConfig
variables to the .KATI_READONLY list.

Also fix the inconsistent indentation in this file.

Test: make
Change-Id: I2a878b95ffc07e3f5bc4eb4970775bdef347e094
2019-02-21 14:02:15 +00:00
Colin Cross
187c1b0741 Get DEXPREOPT_BOOT_JARS_MODULES from Soong
DEXPREOPT_BOOT_JARS_MODULES is not set any more in Make, stop
trying to pass it to Soong and let Soong export the value to Make.

Test: m checkbuild
Change-Id: I64de10236cbebc92c62fca137ae684e55cad1625
2019-02-20 21:46:31 -08:00
Colin Cross
36b5d1cd47 Update calls to dexpreopt_gen
dexpreopt_gen now requires a -out_dir argument, and does not need
DexPath, StripInputPath and StripOutputPath set.

Also use paths to Soong binaries for dex2oat, profman and aapt
so that they can be loaded as Path objects in Soong, and let
Soong handle the default for BootImageProfiles.

This reapplies I97b1865fd98d5108d9c63ff7a90a5591c7622526 with
fixes to disable preopt for Soong-only builds when the global
dexpreopt.config doesn't exist.

Test: m checkbuild
Change-Id: I5af9b749235823b7e1cfcfc55e121bfec413fb2f
2019-02-20 21:46:15 -08:00
Colin Cross
5b8e3837d2 Merge "Revert "Update calls to dexpreopt_gen"" 2019-02-21 05:03:41 +00:00
Colin Cross
862ab81669 Revert "Update calls to dexpreopt_gen"
This reverts commit 1d8df4a97f.

Reason for revert: broke ndk build

Change-Id: I99ab62653fc15b985edd42301ec085ba68389f51
2019-02-21 05:03:11 +00:00
Bill Peckham
30ee35f908 Merge "Include merge_target_files.py deps in otatools.zip, use common argv processing." 2019-02-21 04:13:23 +00:00
Colin Cross
bcc341e5b0 Merge "Update calls to dexpreopt_gen" 2019-02-21 04:06:18 +00:00
Bill Peckham
f753e15791 Include merge_target_files.py deps in otatools.zip, use common argv processing.
The merge_target_files.py script needs fc_sort and sefcontext_compile, so
include these tools into otatools.zip via core/Makefile.

Modify tools/releasetools/merge_target_files.py to use the otatools common argv
processing to take advantage of the '--path' option so that we add point the
'--path' option to an extracted otatools.zip package to gain access to fc_sort,
sefcontext_compile, and soong_zip (previously included in otatools.zip).

Bug: 123600124
Test: extract otatools.zip, use --path option to point to it, verify result
Change-Id: I7d84525981b8741c6bdbcac9984256920fc7f417
2019-02-21 00:50:54 +00:00
xunchang
3b548b0302 Dump a copy of metadata file for full OTA
When building the full OTA file, write a copy of the metadata to the
dist dir. Then it will show up in the artifact of the build page for
users to parse.

Bug: 124783265
Test: make dist and check the output metadata
Change-Id: I2eb06bbf3cbb9f3653ca3352f3d601b09403d59d
2019-02-20 15:32:28 -08:00
Colin Cross
d8badf5b8b Fix boot_profile_jars.zip
Some of the inputs to boot_profile_jars.zip have moved outside
of $(PRODUCT_OUT), update the -C argument to soong_zip to point
to the right directory.

Also make the rule to build the zip always present, and only gate
the dist command behind PRODUCT_DIST_BOOT_AND_SYSTEM_JARS.

Test: m out/target/product/blueline/boot_profile_jars.zip
Change-Id: Iaa72be955edda445f3eab041a63f79c9055d6b33
2019-02-20 20:44:58 +00:00
Colin Cross
1d8df4a97f Update calls to dexpreopt_gen
dexpreopt_gen now requires a -out_dir argument, and does not need
DexPath, StripInputPath and StripOutputPath set.

Also use paths to Soong binaries for dex2oat, profman and aapt
so that they can be loaded as Path objects in Soong, and let
Soong handle the default for BootImageProfiles.

Test: m checkbuild
Change-Id: I97b1865fd98d5108d9c63ff7a90a5591c7622526
2019-02-20 11:14:14 -08:00
Nicolas Geoffray
5fa7e2fa2c Merge "Set a dedicated variable for the runtime apex libs." 2019-02-20 18:42:46 +00:00
Nicolas Geoffray
cffe5bb1f3 Merge "Remove obsolete rule." 2019-02-20 18:32:10 +00:00
Yu Shan
a83858dc37 Merge "Add 32BIT and 16BIT nanopb library." 2019-02-20 18:23:29 +00:00
Xin Li
747bbbe163 Merge "DO NOT MERGE - Merge PPRL.190205.001 into master" 2019-02-20 16:26:00 +00:00
Nicolas Geoffray
02c6848b1a Remove obsolete rule.
We don't strip boot classpath anymore.

Test: m
Change-Id: I516bbac92d896c9e00a634a33f2856bd18fc75d5
2019-02-20 10:15:24 +00:00
Nicolas Geoffray
f026d899f4 Set a dedicated variable for the runtime apex libs.
Bug: 124789867
Test: build with coverage, the boot classpath has jacoco.jar in /system/framework, not the apex
Change-Id: I2529f8fcb4ef30454a9e5fc95d58d31bef83ec6f
2019-02-20 10:05:17 +00:00
Tri Vo
62d51b65aa recovery: install product_file_contexts and product_property_contexts
Product partition is not mounted in recovery mode. Install
product_file_contexts and product_property_contexts into rootdir for
recovery. This is similar to how we deal with system, vendor, and odm
*_contexts files.

And remove unnecessary ifdefs.

Test: m bootimage for pixel 3, product_file_contexts and
product_property_contexts appear in $OUT/recovery/root/
Change-Id: I416d9e6ea742e67a6fe294f1ad8b78fb9b844260
2019-02-19 18:32:55 -08:00
Treehugger Robot
eb0bbdc89a Merge "Install apexkeys.txt into the target-files package" 2019-02-20 01:53:44 +00:00