Commit graph

18623 commits

Author SHA1 Message Date
Yu Shan
655f17cf88 Add 32BIT and 16BIT nanopb library.
Add 32BIT and 16BIT compile time flag for nanopb library to support
16BIT or 32BIT size, default is 8BIT. User need to use the corresponding
library when define the PB_FIELD_* flag during compilation.

Change-Id: I0d25bcdf62d6b47733e1ad4bddbd4dfce2192b5d
Test: None
Bug: 122292884
2019-02-19 12:01:43 -08:00
Jiyong Park
bcc8d8a2d4 Install apexkeys.txt into the target-files package
The file contains information about apex-to-keys mappings.

Bug: 124406181
Test: m dist and check if META/apexkeys.txt file exist in the
target-files package.

Change-Id: If8da917a8b4d4e8326614b34067c14ed0df59cb3
2019-02-19 14:18:46 +09:00
Colin Cross
dd025116cd Merge "Remove dexpreopting of boot jars from Make" 2019-02-19 02:55:16 +00:00
Bowgo Tsai
f509e54bd0 Merge "Support verifying system_other"
am: 01a05483ed

Change-Id: I343ac68c70195d2c9e035b92ef44f196fe731deb
2019-02-17 21:34:32 -08:00
Treehugger Robot
01a05483ed Merge "Support verifying system_other" 2019-02-18 05:21:27 +00:00
Jeongik Cha
d9182b546c Merge "Clean up noisy error log in find-shareduid-violation.py"
am: 50b4b395bc

Change-Id: I643ffdb62536e48c288ab6cfe902e081908213d1
2019-02-16 20:29:46 -08:00
Treehugger Robot
50b4b395bc Merge "Clean up noisy error log in find-shareduid-violation.py" 2019-02-17 04:19:41 +00:00
Roman Kiryanov
af38e1765f Merge "Use predefined macros instead of hardcoding the path"
am: 06ec0577b6

Change-Id: I96baf1b12e11d7e7a4c4863dc9ed3c22c97c0568
2019-02-16 15:07:43 -08:00
Treehugger Robot
06ec0577b6 Merge "Use predefined macros instead of hardcoding the path" 2019-02-16 22:56:47 +00:00
Jeongik Cha
b806c44326 Clean up noisy error log in find-shareduid-violation.py
The script makes noisy error although fallback cmd succeed.

So make the script writes error log only if both of commands fail.

Bug: 124470143
Bug: 123664116
Test: m -j out/target/product/$(get_build_var TARGET_DEVICE)/shareduid_violation_modules.json
Test: And there is no error log in stderr
Change-Id: I3d4756066ee6904826c18754969fd4190bd02e1e
2019-02-16 10:50:56 +09:00
Bill Peckham
19d6b0fbe5 Merge "Include soong_zip in OTA tools package."
am: f3c50438c3

Change-Id: Ice539fef08bd66a82cb6b2ba60d4c7da617fc9eb
2019-02-15 16:45:54 -08:00
Bill Peckham
f3c50438c3 Merge "Include soong_zip in OTA tools package." 2019-02-16 00:38:07 +00:00
Roman Kiryanov
27a67bac5c Merge "Check INSTALLED_SYSTEMIMAGE_TARGET to build INSTALLED_QEMU_SYSTEMIMAGE"
am: 7848e3cfef

Change-Id: Icf2c7e630bd5009b78015ef6aa275e7c199cd5eb
2019-02-15 16:12:21 -08:00
Treehugger Robot
7848e3cfef Merge "Check INSTALLED_SYSTEMIMAGE_TARGET to build INSTALLED_QEMU_SYSTEMIMAGE" 2019-02-15 23:53:03 +00:00
Colin Cross
47e384c3d6 Remove dexpreopting of boot jars from Make
Dexpreopting of boot jars is now implemented in
build/soong/java/dexpreopt_bootjars.go.

Test: m checkbuild
Change-Id: I036510e7674b876976ce191c5b18bf0b7a15c6ee
2019-02-15 13:00:14 -08:00
Bill Peckham
eabb713f15 Include soong_zip in OTA tools package.
Including soong_zip in the OTA tools package enables its use in target files
repackaging scripts.

Bug: 124468071
Test: Generate build, verify that soong_zip exists in otatools.zip at bin/soong_zip
Change-Id: Iee0d9dba73a66de4d1aa6970dd8fb8debb723660
2019-02-15 11:25:34 -08:00
Colin Cross
a78af927a9 Merge "Fix resource overlay order for static libraries"
am: dba735e9a5

Change-Id: Ibeb88897c5b532fb4c3cb2935641fe555f05dc46
2019-02-15 11:10:36 -08:00
Colin Cross
dba735e9a5 Merge "Fix resource overlay order for static libraries" 2019-02-15 18:54:49 +00:00
Roman Kiryanov
4985cc829d Use predefined macros instead of hardcoding the path
There are predefined macros image targets that are
already checked in dependencies, use them instead
of hardcoding the same path again.

Bug: 79601115
Test: make -j
Change-Id: I12b64a646df038de017ba2ef18f3d0e4274f7caa
Signed-off-by: Roman Kiryanov <rkir@google.com>
2019-02-15 10:38:02 -08:00
Roman Kiryanov
e64998fe3b Check INSTALLED_SYSTEMIMAGE_TARGET to build INSTALLED_QEMU_SYSTEMIMAGE
This change checks if INSTALLED_SYSTEMIMAGE_TARGET
is defined to generate INSTALLED_QEMU_SYSTEMIMAGE
to improve debugging.

Bug: 79601115
Test: make -j
Change-Id: Ia1aad7dbaab1d2de11a1bc3ffe7c7ae714f5f6eb
Signed-off-by: Roman Kiryanov <rkir@google.com>
2019-02-15 10:37:54 -08:00
Colin Cross
3b6b01b04a Merge "Add missing hiddenapi product variables to Soong config"
am: 569478f046

Change-Id: I0c9cd744aeb06aa87b87631b636362cd069eca18
2019-02-14 20:05:11 -08:00
Treehugger Robot
569478f046 Merge "Add missing hiddenapi product variables to Soong config" 2019-02-15 03:47:31 +00:00
Sasha Smundak
f897629a58 Add a wrapper file for the vts_config module.
See https://android-review.googlesource.com/c/platform/build/soong/+/905013

Bug: 122617100
Test: treehugger
Change-Id: I3e1614bc9009c00132d0fc3500bdd4491055320a
2019-02-14 18:13:36 -08:00
Xin Li
673fa32bc7 Merge "DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into stage-aosp-master" into stage-aosp-master 2019-02-14 22:11:35 +00:00
Colin Cross
36f79c4be6 Add missing hiddenapi product variables to Soong config
If72bd1c20b2014d0a3d400624d37fdb0a3052245 failed to propagate
PRODUCT_HIDDENAPI_STUBS* to Soong.

Bug: 124316921
Test: m out/soong/hiddenapi/hiddenapi-flags.csv, check previously
      blacklisted classes are now whitelisted.

Change-Id: I9b4a364654bad77b38ceb7062dafaeeab5f49517
2019-02-14 11:22:02 -08:00
Logan Chien
87ec538ef1 Merge "Strip LOCAL_CHECK_ELF_FILES" 2019-02-14 10:20:28 +00:00
Logan Chien
e87ff2d85f Strip LOCAL_CHECK_ELF_FILES
This commit strips LOCAL_CHECK_ELF_FILES before comparing it with
`false` so that developers can add comments after LOCAL_CHECK_ELF_FILES.
For example:

    LOCAL_CHECK_ELF_FILES := false  # disable checks due to ...

Bug: 119084334
Test: Add some spaces after LOCAL_CHECK_ELF_FILES and run
      CHECK_ELF_FILES=true make check-elf-files
Change-Id: I2bfaff4807aeeea6c7af0b9d7d716742b6764cd0
2019-02-14 14:30:09 +08:00
Treehugger Robot
6eeef21b9d Merge "Drop /root when installing symbols" 2019-02-14 05:27:44 +00:00
Treehugger Robot
07603d63f6 Merge "Generate API XML files from android stub targets instead of text input." 2019-02-14 05:19:34 +00:00
Colin Cross
b11fc29b13 Fix resource overlay order for static libraries
If a static library has static library dependencies then all resources
need to be moved to an overlay to maintain the correct ordering so
that a static library resource overlays the same resource in a
dependency.

Bug: 124108931
Test: m checkbuild
Change-Id: I6be9a80c53e6247a6589272ab0e653a9a0ded814
2019-02-14 03:34:57 +00:00
Treehugger Robot
bee89836c7 Merge "DAP: system_as_root can't be true." 2019-02-14 02:09:20 +00:00
Logan Chien
e083c26a19 Merge changes I2f2a7df5,I84ff9f61
* changes:
  Check ELF files in both paths
  Add system shared libs to a prebuilt_internal.mk path
2019-02-14 01:53:27 +00:00
Allen Hair
191f0e5b60 Generate API XML files from android stub targets instead of text input.
The resulting XMLs will contain more complete information (such as
whether or not a method is native) than is available in current.txt.

Bug: 124335876
Test: make PRODUCT-cf_x86_phone-userdebug showcommands dist EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true tests

Change-Id: Icb8999bcd6be28f3ec8ff6bffa33b261f0d20606
2019-02-13 17:48:00 -08:00
Pirama Arumuga Nainar
5aab10f40d Merge "Enable coverage only when LOCAL_SDK_VERSION > 23" 2019-02-14 00:05:57 +00:00
Yifan Hong
f84c7e5c8f DAP: system_as_root can't be true.
Test: builds
Change-Id: I3e47e9717c983703494abc8417526caf5955d2e4
Fixes: 124274480
2019-02-13 15:08:33 -08:00
Colin Cross
dc53f450af Make copy-many-files take an optional destination directory
Test: m checkbuild
Change-Id: I777952d27bd1a0cf2608e080a0f46e39268784ce
2019-02-13 08:03:25 -08:00
Nicolas Geoffray
cd75414f1e Merge "Revert "Revert "Never strip and store dex files uncompressed when they are preopted on system.""" 2019-02-13 11:59:39 +00:00
Anton Hansson
2582554c42 Merge "Move dump-products back to the config stage" 2019-02-13 09:12:30 +00:00
Bowgo Tsai
45db7cefb3 Support verifying system_other
This commit extracts the AVB key used to sign system_other.img into
system.img, for init to verify system_other's AVB metadata.

The extracted key will locate in:
    /system/etc/security/avb/system_other.avbpubkey

Bug: 123611926
Test: build and checks the following is generated
      $OUT/system/etc/security/avb/system_other.avbpubkey

Change-Id: Icdc703ff5a0d50f8140bb652507b9b4cbc8a2118
2019-02-13 17:00:49 +08:00
Colin Cross
8f4e0f2939 Merge "Move dexpreopt image selection out of dexpreopt_gen" 2019-02-13 01:00:49 +00:00
Treehugger Robot
cb52058f8f Merge "Adding per-partition SPL into AVB prop descriptors" 2019-02-12 23:30:13 +00:00
Treehugger Robot
5afd3dc00e Merge "Obsolete add_lunch_combo" 2019-02-12 23:22:50 +00:00
Tom Cherry
8bca10ade4 Merge "Remove TARGET_ANDROID_FILESYSTEM_CONFIG_H" 2019-02-12 21:10:41 +00:00
Xin Li
798d2a795e DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into stage-aosp-master
Bug: 124234733
Change-Id: Iade9f985e598b9c83746c8250eb88831626c9da5
2019-02-12 10:12:55 -08:00
Steven Laver
0cf76f544b Merge "Allow properties to be derived from partition-specific properties" 2019-02-12 16:44:57 +00:00
Nicolas Geoffray
98f5e86660 Revert "Revert "Never strip and store dex files uncompressed when they are preopted on system.""
This reverts commit a81dad1bc4.

Test: build && atest android.text.cts.EmojiTest#testEmojiGlyphWebView on Cuttlefish
Change-Id: Ie3c43830fc9a994ed35883abb8ca71d97bd5c44d
2019-02-12 14:00:38 +00:00
Dan Willemsen
5436c7e583 Obsolete add_lunch_combo
Bug: 77599627
Test: source build/envsetup.sh with add_lunch_combo calls in bash & zsh
Change-Id: If12b41d8f9a2f56efdb64ad0dccc25a1e342fdd1
2019-02-11 21:36:25 -08:00
Treehugger Robot
1b082c3e05 Merge "Detect shareduid between different partitions" 2019-02-12 00:55:08 +00:00
Colin Cross
87378f1888 Move dexpreopt image selection out of dexpreopt_gen
Instead of passing both the module and global dexpreopt image
selection into dexpreopt_gen, determine the correct dexpreopt
image in Make.  This allows the Make dexpreopt rule to only
depend on the necessary boot images, preventing an order-only
dependency on the 32-bit boot image for a 64-bit only module.

Also stop using the boot image "location" as an input, only
track the real path, which will be converted to the "location"
that dex2oat expects when constructing the command line in
dexpreopt_gen.

Removes support for the unused LOCAL_DEX_PREOPT_IMAGE_LOCATION
variable.

Test: m checkbuild
Change-Id: I2e3e1d30fdfed92fb08e6cc1c9515edf8d99c7f0
2019-02-11 15:25:07 -08:00
Steven Laver
9e73e82a12 Allow properties to be derived from partition-specific properties
This change allows ro.product.[brand|device|manufacturer|model|name] and
ro.build.fingerprint to be derived at boot time (and in the OTA
generation scripts) from partition-specific properties.

Test: booted system image, verified properties
Test: booted recovery image, verified properties
Test: unpacked OTA package, verified build fingerprint
Bug: 120123525
Change-Id: Iadd230a0577f35c7c37b0f911e91a5c2863ed1fe
2019-02-11 23:03:00 +00:00
Tom Cherry
e0f3ed5cd0 Remove TARGET_ANDROID_FILESYSTEM_CONFIG_H
TARGET_FS_CONFIG_GEN has existed as the preferred mechanism for two
releases, so we finally deprecate TARGET_ANDROID_FILESYSTEM_CONFIG_H.

Test: build
Change-Id: I299a4d1d1d893ac16d6e6ce2ec4659bfcdc19095
2019-02-11 13:45:01 -08:00
Anton Hansson
dce3f920f2 Move dump-products back to the config stage
It's unnecessary to run all the make file parsing to dump product
configs. Move the dumping to product_config.mk instead, but switch
the output to $(warnings) as stdout is a bit sensitive during
the config stage.

Test: multiproduct_kati -only-config dump-products
Change-Id: I8c7365c9f90ea2bf152b82dfb983bfb0cdcb1697
2019-02-11 21:19:54 +00:00
Colin Cross
05ef66fc0b Merge "Revert "Never strip and store dex files uncompressed when they are preopted on system."" 2019-02-11 19:31:31 +00:00
Colin Cross
a81dad1bc4 Revert "Never strip and store dex files uncompressed when they are preopted on system."
This reverts commit 9cdc3beb3d.

Reason for revert: b/123436620

Change-Id: I45fa9236e37c3b7e2d44ede62a2701db2bc8a20d
2019-02-11 19:30:39 +00:00
Nicolas Geoffray
f07d63390c Merge "Never strip and store dex files uncompressed when they are preopted on system." 2019-02-11 10:31:12 +00:00
Jiyong Park
744fd5698f Drop /root when installing symbols
This change fixes a problem that if a module is installed to the root
partition, its symbol file appears at under symbols/root, which is an
non-existing path at runtime. Since the symbol paths should match with
the runtime path, drop /root when installing symbols.

Bug: 123985838
Test: m libc.mountpoint
libc.so is found under symbols/bionic/lib[64]

Change-Id: I38bd226c3ec758d69902f4f288c83f68170c4068
2019-02-11 16:16:18 +09:00
android-build-team Robot
641da2907b Make change and version bump to PPRL.190205.001
Change-Id: I66d528f1b45c68eac151c9c56b91c522e4674dab
2019-02-09 02:40:54 +00:00
Treehugger Robot
010df4b471 Merge "Make manifest and APK agree on uncompressed native libs" 2019-02-09 02:25:32 +00:00
Nicolas Geoffray
9cdc3beb3d Never strip and store dex files uncompressed when they are preopted on system.
In order for the runtime module to always be able to compile apps,
make sure we keep a copy of the dex files optimally.

Gated by a product flag if a product doesn't include the module yet.

Test: build
Change-Id: Ia9bba7f6f12f3400078a43d39ba4134cf8818399
2019-02-08 22:45:48 +00:00
Treehugger Robot
143ff1ff9a Merge "Only pick DTBs from BOARD_PREBUILT_DTBIMAGE_DIR" 2019-02-08 22:02:05 +00:00
Dan Willemsen
78e94a46c9 Default to erroring when eng/debug tags are used
Some devices opt out of the warning with `BUILD_BROKEN_ENG_DEBUG_TAGS :=
true` still, but the rest have no more warnings left.

Test: build_test in treehugger
Change-Id: I1534a0db006d72c7921a20ab793586ef1c7bdb21
Merged-In: I1534a0db006d72c7921a20ab793586ef1c7bdb21
2019-02-08 13:03:23 -08:00
Hridya Valsaraju
c63a74474b Only pick DTBs from BOARD_PREBUILT_DTBIMAGE_DIR
This change is required to prevent the build system
from picking up DTB files from subdirectories to
BOARD_PREBUILT_DTBIMAGE_DIR.

Test: make bootimage
Bug: 123648105

Change-Id: Ibc2a133f3c9be6362579dc9bf9ca399912b9d8a2
2019-02-08 09:36:44 -08:00
Jeongik Cha
ef26afdc27 Detect shareduid between different partitions
Find shareduid usage between the partitions(system, vendor, product).

Here is sample output

{
  "android.uid.system": {
    "product": [
      "Settings.apk"
    ],
    "system": [
      "framework-res.apk",
      "FusedLocation.apk",
      "Telecom.apk",
      "InputDevices.apk",
      "SettingsProvider.apk",
      "WallpaperBackup.apk",
      "KeyChain.apk"
    ]
  }
}

Bug: 123664116
Test: m -j out/target/product/$(get_build_var TARGET_DEVICE)/shareduid_violation_modules.txt
Change-Id: If2a75bf66b369cd3fad1744d08b6bfbfc624979c
2019-02-08 22:41:30 +09:00
Treehugger Robot
86c26860be Merge "Make the duplicate header copy warning more explicit" 2019-02-08 09:15:38 +00:00
Treehugger Robot
34121e8cc9 Merge "Remove unused dexpreopt UseEmbeddedDex" 2019-02-08 07:19:33 +00:00
Colin Cross
ead7b66590 Make manifest and APK agree on uncompressed native libs
Only put uncompressed native libs in an APK if the min_sdk_version
supports it (>= 23, Marshmallow), and set
android:extractNativeLibs="false" in the AndroidManifest.xml so
that the platform won't extract them anyways.

Bug: 117618214
Test: m checkbuild
Change-Id: Iae26e4676c29c68fa3f76187512c82786bfa0522
2019-02-07 21:44:12 -08:00
Dan Willemsen
f4249d1052 Make the duplicate header copy warning more explicit
So that it's easier to understand which makefile is actually being used,
and which ones are being ignored.

Test: manually check the warnings on a device that sets BUILD_BROKEN_DUP_COPY_HEADERS
Change-Id: If9e29458eaa655b28e6b770d194d1da867cb8d16
2019-02-07 18:43:53 -08:00
Colin Cross
2b526bf7f3 Merge "Consolidate sdk version handling" 2019-02-08 02:30:16 +00:00
Colin Cross
33f245a209 Add DEXPREOPT_BOOTCLASSPATH_DEX_FILES to DEXPREOPT_GEN_DEPS
Anything that might be used by dexpreopt.sh needs to be listed
in DEXPREOPT_GEN_DEPS to make sure it is up to date if
dexpreopt.sh has never run before and generated its .d file.

Bug: 124062553
Test: lunch aosp_blueline-userdebug
      m out/target/product/blueline/obj/APPS/Gallery2_intermediates/dexpreopt.zip
      lunch aosp_sailfish-userdebug
      m out/target/product/sailfish/obj/APPS/Gallery2_intermediates/dexpreopt.zip
Change-Id: I2608f68d1a2157f9c95bd136eb82010aceed1c59
2019-02-07 22:29:55 +00:00
Colin Cross
fceb298ff7 Remove unused dexpreopt UseEmbeddedDex
dexpreopt doesn't need to know about UseEmbeddedDex, it has
already been taken into account for UncompressedDex.

Test: m checkbuild
Change-Id: I546bdaf604552792a2ac9b3557811da7418b37d1
2019-02-07 22:29:45 +00:00
Colin Cross
a56dede4d8 Merge "Remove extra $ in soong_app_prebuilt" 2019-02-07 21:18:32 +00:00
Colin Cross
a27f42aa5d Consolidate sdk version handling
Share the logic that converts LOCAL_SDK_VERSION, LOCAL_MIN_SDK_VERSION
and the global config values into minSdkVersion, targetSdkVersion,
and compileSdkVersion.

Test: m checkbuild
Change-Id: Id038673662b23cffc9e57978ac55a3f35ef8237a
2019-02-07 08:55:48 -08:00
Anton Hansson
95958eefa9 Change RRO default location to /product
This changes the default location of RRO packages that don't
specify where they should be installed to /product instead of
/vendor.

Also change the auto-generated "enforced RRO" packages to install
on /product, and be explicit about that in the mk to make it
independent of the RRO default.

The reasoning for this change is that most overlays tend to be
for product level customizations, like themes and so on. RROs
for hardware related things can still be explicitly installed
on /vendor.

Bug: 123566903
Test: preubmit
Test: various internal tests
Change-Id: Ie7d5f19dc7ab421a7bcf584153f991e18e961cda
2019-02-07 13:06:18 +00:00
Treehugger Robot
6d1ae7a015 Merge "Move hiddenapi singleton rules to Soong" 2019-02-07 07:27:33 +00:00
Jaewoong Jung
664b72abfe Merge "Make side change for prod override vars support." 2019-02-07 01:50:59 +00:00
Treehugger Robot
689e71c3b6 Merge "Don't enable CFI diagnostics in include paths." 2019-02-07 01:23:46 +00:00
Treehugger Robot
7520513222 Merge "Allow for a separate recovery DTBO to be used for non-A/B devices." 2019-02-06 20:07:22 +00:00
Ivan Lozano
55220942ed Don't enable CFI diagnostics in include paths.
Don't enable CFI diagnostics by default when applying it in include
paths. Part of a broader effort to remove diagnostics mode from CFI
across the board.

This should reduce performance overhead and also allows the minimal
runtime to work when other ubsan sanitizers are enabled. CFI stack
dumps should include a CFI related function, so it should be apparent
when a crash is CFI-related.

Bug: 117417735
Test: make -j
Change-Id: I3d6326e06d7aa7d9c00382f336301ecb822ae7ec
2019-02-06 11:09:05 -08:00
Steven Moreland
6eadb628a1 Merge "Remove '-b' from AIDL." 2019-02-06 18:09:31 +00:00
Luca Stefani
fb3e985a5f Remove extra $ in soong_app_prebuilt
Change-Id: Ia21d8f7fb3fd5f9e3b8e764d42ebbc61be4226f7
2019-02-06 17:54:21 +01:00
Colin Cross
485c9cd400 Move hiddenapi singleton rules to Soong
Hiddenapi rules are now in build/soong/java/hiddenapi_singleton.go.
This effectively requires any module in PRODUCT_BOOT_JARS to be
defined in Soong.

Bug: 123645297
Test: m checkbuild
Change-Id: If72bd1c20b2014d0a3d400624d37fdb0a3052245
2019-02-05 21:38:55 -08:00
Steven Moreland
e0c38893ff Remove '-b' from AIDL.
An empty file will be emitted for parcel declarations. Now sources may
include parcel definitions.

Bug: 70046217
Test: manual
Change-Id: Ib4bfaf52101956a543738d50ea699f9232f5bb91
2019-02-06 04:58:06 +00:00
Dan Willemsen
9a3ef57d99 Merge "Remove support for building Windows modules in Make" 2019-02-05 20:45:27 +00:00
Hridya Valsaraju
a941899906 Allow for a separate recovery DTBO to be used for non-A/B devices.
This CL allows for a separate recovery DTBO to be used by
specifying it with the board config variable
BOARD_PREBUILT_RECOVERY_DTBOIMAGE.

Bug: 123889996
Test: make recoveryimage and make dist on a target that builds
recovery.img and unpack_bootimg.py to test that BOARD_PREBUILT_RECOVERY_DTBOIMAGE
gets used as the recovery DTBO.

Change-Id: I6f83f37c3c894b2acddab1000224cd433649faa1
2019-02-05 18:19:39 +00:00
Kostya Kortchinsky
adcb1498c5 Merge "Add option to disable Scudo globally [Make]" 2019-02-05 14:45:39 +00:00
Anton Hansson
7d1e353834 Merge "Merge product_services into product by default" 2019-02-05 09:12:15 +00:00
Dan Willemsen
f264690860 Remove support for building Windows modules in Make
These now must be defined in Android.bp files.

Bug: 122618577
Test: compare build-aosp_arm.ninja before/after
Test: codesearch for LOCAL_MODULE_HOST_OS.*windows
Change-Id: I14451c7753299692940e026f85687b4c3331bb07
2019-02-05 00:19:41 -08:00
Dan Willemsen
fcdc0cb737 Fix aux_config warning
Don't declare targets during config files, as they're loaded in other
contexts as well. In this case, `droidcore` was not defined when we were
handling CleanSpec.mk files, leading to:

build/make/core/aux_config.mk:185: warning: real file "droidcore" depends on PHONY target "auxiliary"

Bug: 123583617
Test: m nothing; check for warnings
Change-Id: I71b8819deb81442810c7dd5c681ddb38a1171cff
2019-02-04 20:52:14 -08:00
Stephen Hines
c6dee37255 Merge "Use llvm-{strip,objcopy} by default" 2019-02-05 03:13:14 +00:00
Kostya Kortchinsky
027324099f Add option to disable Scudo globally [Make]
This adds an option to turn off Scudo globally, and use it for Go.

Bug: 123228023
Test: verify that Scudo is disabled for a Go build, eg:
lunch marlin_svelte-eng && m -j, check that Scudo is not linked in
out/target/product/marlin/system/bin/mediaextractor
Test: verify that Scudo is enabled otherwise, eg:
lunch marlin-eng && m -j, check that Scudo is linked in
out/target/product/marlin/system/bin/mediaextractor

Change-Id: Idc82d581fade544a474e6f2ff0b54dd191ba0818
Merged-In: Idc82d581fade544a474e6f2ff0b54dd191ba0818
2019-02-04 12:35:04 -08:00
Treehugger Robot
76f2628654 Merge "dynamic partitions: round partitions to BOARD_SUPER_PARTITION_ALIGNMENT" 2019-02-02 01:39:37 +00:00
Anton Hansson
80c80804f0 Merge product_services into product by default
Noone is intended to use product_services for now, so make
product_services modules merge in product by default.

Bug: 113098451
Test: boot blueline
Test: boot walleye
Change-Id: Id13487e40afe4ae581fac027c8c075798c26c7e8
2019-02-01 15:04:44 +00:00
Treehugger Robot
61ae763ec4 Merge "Remove dependencies on hiddenapi files with UNSAFE_DISABLE_HIDDENAPI_FLAGS=true" 2019-01-31 19:25:59 +00:00
Yifan Hong
5cc9230914 Merge "Add kernel info to compatibility.zip" 2019-01-31 19:06:19 +00:00
Colin Cross
ca8ec381a0 Merge "Fix linker_asan[64] apex bootstrap build error" 2019-01-31 19:05:59 +00:00
Dan Willemsen
a734907705 Merge "Deprecate LOCAL_MODULE_TAGS := eng/debug" 2019-01-31 18:32:16 +00:00
Logan Chien
c6d2cf86d1 Fix linker_asan[64] apex bootstrap build error
This commit fixes `linker_asan[64]` apex bootstrap build errors.
Without this change, `make -j SANITIZE_TARGET=address` results in:

  FAILED: ninja: 'out/target/product/walleye/system/bin/linker_asan64',
  needed by 'out/target/product/walleye/system/bin/app_process64',
  missing and no known rule to make it

Test: lunch aosp_walleye-userdebug && make SANITIZE_TARGET=address
Change-Id: I980a36499cd327db307321fc8e4548925e7d56bf
2019-01-31 17:07:50 +08:00
Logan Chien
6549cd0255 Check ELF files in both paths
This commit moves prebuilt ELF file checks out of the ifeq statement so
that both modules with and without LOCAL_STRIP_MODULE can be checked.

Bug: 123670683
Test: Add `LOCAL_STRIP_MODULE := keep_symbols` to some modules and check
      whether `check_elf_files.timestamp` is generated.
Change-Id: I2f2a7df501910d31621da025ce34101f0d358dc2
2019-01-31 14:28:11 +08:00
Logan Chien
3291184ab6 Add system shared libs to a prebuilt_internal.mk path
This commit adds LOCAL_SYSTEM_SHARED_LIBRARIES to a
`prebuilt_internal.mk` path.

Before this commit, LOCAL_SYSTEM_SHARED_LIBRARIES is only supported when
LOCAL_STRIP_MODULE is specified. If LOCAL_STRIP_MODULE is not specified,
default system shared libs (libc, libdl, and libm) are not added
implicitly. This commit makes both paths have the same behavior.

See also. https://android-review.googlesource.com/814993

Bug: 119086738
Test: CHECK_ELF_FILES=true make -j check-elf-files
Change-Id: I84ff9f6157ad6e5ee26234133fb7148a3e2b9551
2019-01-31 14:18:03 +08:00
Treehugger Robot
aa615a1b2d Merge "DAP: building system_other.img for retrofit devices" 2019-01-30 22:52:35 +00:00
Jaewoong Jung
7dfae5023a Make side change for prod override vars support.
For the new override vars, we don't support make-based overrides because
their primary purpose is to enable Soong migrations for the ones that
use inherit-package.

Bug: 122957760
Test: Manual build tests with Browser2, BrowserGoogle, and Chrome
Change-Id: Ia685511391f61fe143774e12b3b67b526049962a
2019-01-30 14:48:50 -08:00
Anton Hansson
bb83cc2689 Merge "Fix RRO when LOCAL_EXPORT_PACKAGE_RESOURCES is unset" 2019-01-30 22:19:25 +00:00
Anton Hansson
9a50c1f438 Merge "Exempt some RROs from building against SDK" 2019-01-30 22:17:25 +00:00
Yifan Hong
770ab053b0 Add kernel info to compatibility.zip
Add kernel configs / version to verified_assembled_vendor_manifest.xml
so that the kernel of the incoming package can be checked against
the framework. Previously, the running kernel was used instead.

Bug: 111125947
Test: test_extract_kernel
Test: manual OTA on Pixel 3 from build:
      Android P (kernel version 4.9.96)
      to ToT build:
      device kernel version = (manually modified) framework requirement = latest,
      PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS = true

Change-Id: Id524a58e94bdb6bba348ca461c9d33614ce451a9
2019-01-30 13:28:03 -08:00
Treehugger Robot
badde7ced7 Merge changes I0bee792d,I2b7c3c8f
* changes:
  Build aar files for m <module name>
  Add LOCAL_ADDITIONAL_CHECKED_MODULE
2019-01-30 18:26:24 +00:00
Treehugger Robot
ea976a2780 Merge "Reland "Add $(PRODUCT_OUT)/apex to the artifact path whitelist"" 2019-01-30 16:57:11 +00:00
Colin Cross
89d3d2ae3b Fix RRO when LOCAL_EXPORT_PACKAGE_RESOURCES is unset
If LOCAL_EXPORT_PACKAGE_RESOURCES is unset then
append_enforce_rro_sources was inserting a blank entry into
the 4th.  When converting the || separator back to space that
resulted in a two sequential spaces, which is treated as a
single word separator, causing the 5th field to be treated
as the 4th field.

Put "false" into the 4th field in soong_app_prebuilt.mk to match
package_internal.mk.

Bug: 123510624
Test: m SystemUIGoogle
Change-Id: I794c413e33df2020d0dc43379cfb017e7e09baa1
2019-01-30 16:09:41 +00:00
Bowgo Tsai
cca76ddc1b Adding per-partition SPL into AVB prop descriptors
Bug: 119549677
Test: build and avbtool info_image
Change-Id: I0726d740c532ffd70beb09f98e088abcdfa110ef
2019-01-30 21:54:54 +08:00
Yi Kong
9e86573fd1 Use llvm-{strip,objcopy} by default
... except for Darwin Mach-O, as it is not supported by llvm-strip.

Test: m checkbuild
Bug: 119221035
Change-Id: I492853486e49dd0e82abe60cbf354d79b760b9a7
2019-01-30 13:40:44 +00:00
Treehugger Robot
423be675eb Merge "Rename preferCodeIntegrity to useEmbeddedDex" 2019-01-30 05:07:22 +00:00
Treehugger Robot
246e728614 Merge "Use DEXPREOPT_BOOTCLASSPATH_DEX_FILES to build boot_profile_jars.zip" 2019-01-30 04:26:04 +00:00
Jiyong Park
1ba4c7f11e Reland "Add $(PRODUCT_OUT)/apex to the artifact path whitelist"
This reverts commit 4cf7cde9aa.

Bug: 120846816
Test: build/soong/build_test.bash -dist -products mainline_system_arm64
Test: lunch aosp_cf_x86_pasan-userdebug; m && SANITIZE_TARGET=address m

Change-Id: I6fbf23dcef450da17fafafa78def3816792d83c8
2019-01-30 12:32:49 +09:00
Bowgo Tsai
867ab6606e DAP: building system_other.img for retrofit devices
For dynamic partitions in retrofit devices, system partition will be
a logical partition but system_other is not. However, current
build system use the same settings (logical) for both system.img and
system_other.img, leading AVB unable to locate the footer from the end
of system_other partition.

This commit support building system_other.img with correct partition size
while building system.img as a dynamic image.

Bug: 123506156
Test: check there is "system_other_size=2952790016" in file
      $OUT/obj/PACKAGING/system_other_intermediates/system_other_image_info.txt
Test: build system_other.img, then
      `simg2img $OUT/system_other.img system_other.img.raw`, checks the
      raw image size.

Change-Id: I748320a7770c694d06f06f4a35bfceb622849aa8
2019-01-30 09:58:07 +08:00
Calin Juravle
9e1fb1b3bd Use DEXPREOPT_BOOTCLASSPATH_DEX_FILES to build boot_profile_jars.zip
The core libraries are no longer put in /system/framework. Replace the
system path with the dexpreopt input path.

Test: launch taimen_nopreload-userdebug; m
Bug: 123313750
Change-Id: I6232c36d39fb818a302cb4b6cb61e91b44b28da1
2019-01-29 16:43:21 -08:00
Colin Cross
cd6622e832 Build soong odex files for mma
Add the LOCAL_SOONG_BUILD_INSTALLED files as dependencies of
$(my_all_targets) instead of $(my_register_name) so they are built
for mma and mmma as well as m <module name>.

Fixes: 123262430
Test: mmma packages/apps/Gallery2
Change-Id: I0d55beccf9385144c190ea4bf099fb267ac6db1c
2019-01-30 00:35:34 +00:00
Colin Cross
bd2287b846 Build aar files for m <module name>
Test: m SystemUI-core
Change-Id: I0bee792d1af80abb3e74c278db488bd668bd1fb4
2019-01-29 15:12:17 -08:00
Colin Cross
0162cc8bea Add LOCAL_ADDITIONAL_CHECKED_MODULE
Adding an intermediate file to LOCAL_ADDITIONAL_CHECKED_MODULE will
cause the file to be built for m <module name>, mma, or m checkbuild.

Test: m checkbuild
Change-Id: I2b7c3c8f01960ce2f9176c8a2108f759fd8fc704
2019-01-29 15:04:39 -08:00
Mark Salyzyn
1d8d3bef47 dynamic partitions: round partitions to BOARD_SUPER_PARTITION_ALIGNMENT
For the worst minimum_io_size for the BOM for the flash device on
the products, set BOARD_SUPER_PARTITION_ALIGNMENT so that we can
in advance get a summary from the build that the update may fail.

Test: build
Bug: 122328872
Change-Id: I95515e58e5308b7a1e637fc8c8791c0fc61e81f2
2019-01-29 14:50:10 -08:00
Victor Hsieh
06769c7efb Rename preferCodeIntegrity to useEmbeddedDex
Test: build and run testing apps
Bug: 112037137
Change-Id: Ie8cd8e141df097095310ecc57b6460308210dea5
2019-01-29 13:03:22 -08:00
Tom Cherry
c683233b64 Merge "Remove ro.expect.recovery_id" 2019-01-29 17:07:51 +00:00
Anton Hansson
038177ba55 Exempt some RROs from building against SDK
If an RRO is depending on the source module to import its resources,
this trips up the link check because the source module may not be
building against the SDK. Exempt these RROs from the rule.

Bug: 123510624
Test: m
Change-Id: Ie0e05ce6d31dd3a0eafb14ace426da2bc15fb740
2019-01-29 15:21:25 +00:00
Anton Hansson
02d7d48d4a Merge "Allow merging product_services into /product" 2019-01-29 09:28:40 +00:00
Yifan Hong
ab1ec4dbe3 Enforce no unused HALs when product matrix exists.
Also, remove old TODO message because it cannot be fixed.

Bug: 120600021
Test: builds
Test: remove entry from product matrix, build fails.

Change-Id: I9a6e954a1003aa4ad1bbca184ad7041ffad6b99b
2019-01-28 15:09:54 -08:00
Anton Hansson
d26e4eeec8 Allow merging product_services into /product
Allow devices to specify TARGET_COPY_OUT_PRODUCT_SERVICES := product,
which in effect treats all product_services modules the same as product
modules.

Do not generate license and build props for product_services when
this settings is enabled.

Bug: 113098451
Test: boot downstream product
Change-Id: Id51230b969900bebcf19d0138dfd6187dfce25b1
2019-01-28 21:24:59 +00:00
Tom Cherry
56ff89a90a Remove ro.expect.recovery_id
This is not used by anyone and the other half of the code to compare
against it is already functionally dead, so remove this.

Test: build
Change-Id: I44ed087cb7735bbc23e30b6c310c80eb3b7b6488
2019-01-28 10:56:37 -08:00
Anton Hansson
096b88bf90 Merge "Auto-include device_manifest.xml when necessary" 2019-01-28 09:18:34 +00:00
Colin Cross
8a508cbc0b Merge "Remove obsolete proguard flags" 2019-01-26 02:30:55 +00:00
Treehugger Robot
c51c523b88 Merge "When using inherit-package for a test, also allow specifying a new test suite." 2019-01-26 00:57:14 +00:00
Colin Cross
2ac9c6219a Remove obsolete proguard flags
R8 now warns:
Warning in ./build/make/core/proguard_basic_keeps.flags:
  Ignoring option: -optimizations

Remove the flags, they are not used by R8.

Fixes: 123401079
Test: m checkbuild
Change-Id: I8b0c558be8bcf943652dddb71802ddc145ae42c1
2019-01-25 21:30:13 +00:00
Nicolas Geoffray
1174b010f6 Merge "Revert "Revert "Differentiate between runtime apex jars and framework jars.""" 2019-01-25 19:02:13 +00:00
Treehugger Robot
18977ff3a9 Merge "Fix typo of PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE" 2019-01-25 18:19:11 +00:00
Adrian Roos
21028b7ad6 Remove dependencies on hiddenapi files with UNSAFE_DISABLE_HIDDENAPI_FLAGS=true
Fixes: 122957987
Test: UNSAFE_DISABLE_HIDDENAPI_FLAGS=true make droid
Change-Id: Iafef8cc69971fd10718882326fbba99a6223d0f8
2019-01-25 17:35:25 +01:00
Anton Hansson
d5e069e405 Auto-include device_manifest.xml when necessary
It doesn't make sense to specify a DEVICE_MANIFEST_FILE but the
build not including it. The conditional definition of the module
makes it problematic to have it listed in the PRODUCT_PACKAGES
of a generic mk.

Test: build mainline_arm64 + mainline_system_arm64
Change-Id: I40e435ce114263ceabbd373d3d719318c592fc13
2019-01-25 13:50:47 +00:00
Anton Hansson
9bab4c2622 Fix typo of PRODUCT_BUILD_PRODUCT_SERVICES_IMAGE
Test: treehugger
Change-Id: I087d865c12d9aff7bdc0018256c1a87657d8550c
2019-01-25 10:15:22 +00:00
Nicolas Geoffray
14c052ec9b Revert "Revert "Differentiate between runtime apex jars and framework jars.""
This reverts commit 12746221c2.

Reason for revert: Sailfish size issues resolved.

Change-Id: I59e3ebf67d89f25d84d65cbfbe2a69ba1d8c30a3
2019-01-25 09:40:21 +00:00
Dan Willemsen
1fdf5d789b Merge "Bump the remaining 32-bit arm configs to require neon" 2019-01-25 03:52:17 +00:00
Dan Albert
fc67ea8dd3 Merge "Revert "Differentiate between runtime apex jars and framework jars."" 2019-01-24 23:16:20 +00:00
Nicolas Geoffray
12746221c2 Revert "Differentiate between runtime apex jars and framework jars."
This reverts commit 6bcc93983b.

Reason for revert: Sailfish running out of space.

Change-Id: I2a82aa27bb4388a3cdb94f9271c712644064bfad
2019-01-24 20:37:37 +00:00
Treehugger Robot
8faac3669e Merge "Add security patch level to hashtree footer of system" 2019-01-24 19:28:29 +00:00
Paul Duffin
22efcc114e Merge "Remove REMOVE_OAHL_FROM_BCP flag" 2019-01-24 16:01:40 +00:00
Nicolas Geoffray
6bcc93983b Differentiate between runtime apex jars and framework jars.
And use the apex paths of runtime apex jars.

Test: m
Change-Id: I7bd6e6029c2d5d596d672545271b5ed9819090b6
2019-01-24 13:10:22 +00:00
Calin Juravle
ba3e26d5da Merge "Replace PRODUCT_BOOT_JARS with DEXPREOPT_BOOT_JARS_MODULES for nopreloads" 2019-01-24 07:56:37 +00:00
Treehugger Robot
b045705971 Merge "Build System: Add java lib header files to module dependency list im module-info.mk" 2019-01-24 06:50:33 +00:00
Nicolas Geoffray
3d54ce08fe Merge "Pass the right dex files to dex preopt." 2019-01-24 06:37:40 +00:00
Dan Willemsen
53d62fed72 Bump the remaining 32-bit arm configs to require neon
Stop using armv7-a without neon for 32-bit unbundled apps, and update
generic_x86_arm to match the cuttlefish configuration that includes
neon.

Test: treehugger
Change-Id: Ieb6a2106655803a8ca609907c12168e628ee1b85
2019-01-23 22:27:33 -08:00
Treehugger Robot
d2da2ce398 Merge "Sign system_other.img with AVB" 2019-01-24 05:31:37 +00:00
Calin Juravle
b741d1cfa9 Replace PRODUCT_BOOT_JARS with DEXPREOPT_BOOT_JARS_MODULES for nopreloads
boot_profile_jars.zip is used to process the boot image profile (by
filtering out data that does not belong to the boot classpath).
We only need the jars that are actually preloaded, and not the ones which
are updatable.

Test: launch taimen_nopreload-userdebug; m
Bug: 123313750
Change-Id: I630f78dda3d9b38aac04b0f364b25fbcda4e26a3
2019-01-23 18:06:50 -08:00
bralee
090336232e Build System: Add java lib header files to module dependency list im module-info.mk
To solve AIDEGen issue: DocumentsUI have no dependency libcore.

Bug: 122557164
Test: 1. m  `build/soong/soong_ui.bash --dumpvar-mode PRODUCT_OUT`/module-info.json
      2. open $ANDROID_PRODUCT_OUT/module-info.json
         "out/target/common/obj/JAVA_LIBRARIES/core-lambda-stubs_intermediates/classes-header.jar",
         "out/target/common/obj/JAVA_LIBRARIES/core.platform.api.stubs_intermediates/classes-header.jar",
	 "out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes-header.jar",
	 "out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-header.jar"
	 will be added to DocumentsUI's dependencies.

Change-Id: I6b20c315f3367ff2a016d305ec6fe2a8de620a14
2019-01-24 09:27:48 +08:00
Joe Onorato
62472b676a When using inherit-package for a test, also allow specifying a new test suite.
Test: make
Change-Id: I2c9b5d998e6cc3159e4d23d7547bfd0b865f714c
2019-01-23 14:50:07 -08:00
Treehugger Robot
2463c3ab2a Merge "Support including DTB image" 2019-01-23 20:56:55 +00:00