Commit Graph

22347 Commits

Author SHA1 Message Date
Dan Willemsen
e2e32f5d27 Merge "Mark BUILD_HOST_EXECUTABLE as deprecated" 2020-01-30 16:37:07 +00:00
Baligh Uddin
6a8234bf43 Add mke2fs.conf to otatools
BUG: 148452817
2020-01-29 17:42:59 -08:00
Yifan Hong
67f58406ee Merge "Disallow VINTF metadata for PRODUCT_COPY_FILES" 2020-01-30 00:50:59 +00:00
Dan Willemsen
4c3a01f105 Mark BUILD_HOST_EXECUTABLE as deprecated
The last common user has been removed

Bug: 130696912
Test: treehugger
Change-Id: I7920719edfdef295f4136326445836053db5adf8
2020-01-29 13:27:18 -08:00
Treehugger Robot
5c3725510a Merge "Enforce LOCAL_CERTIFICATE is set in soong_app_prebuilt.mk" 2020-01-29 17:42:51 +00:00
Treehugger Robot
526551f013 Merge "Remove unused no_vendor_variant_vndk_check target" 2020-01-29 06:54:01 +00:00
Baligh Uddin
0434412bcd Merge "Add explicitly merge_zips to otatools package" 2020-01-29 06:16:16 +00:00
Vic Yang
3ec918d342 Remove unused no_vendor_variant_vndk_check target
This was missed when we moved from a single target for checking all
VNDK libraries to using timestamp files for checking individual VNDK
libraries.

Test: Build success.
Change-Id: I3be19f6755b24fff2446449a9dbc84db9a20ea41
2020-01-28 21:01:38 -08:00
Tianjie Xu
a25d76f2c8 Add explicitly merge_zips to otatools package
Since it's under soong/out/host, we need to explicitly copy it into the
otatools.zip

Bug: 146508800
Test: build and check otatools.zip
Change-Id: I83e201601cf03b6eb01ead912a78f22f750aa4be
2020-01-28 19:17:35 -08:00
Daniel Rosenberg
dac25a96df Merge "Add build properties to enable casefold and prj_quota" 2020-01-28 23:53:25 +00:00
Steven Laver
c99128cdbf Merge "Add a missing ',' in the VNDK variant identicalness check" 2020-01-28 22:38:56 +00:00
Dan Willemsen
5daf724d15 Merge "Mark (BUILD_|LOCAL_)COPY_HEADERS as [more] deprecated" 2020-01-28 22:38:43 +00:00
Colin Cross
35e12a7020 Merge "Fix building docs as part of checkbuild" 2020-01-28 22:24:00 +00:00
Colin Cross
24c77395be Enforce LOCAL_CERTIFICATE is set in soong_app_prebuilt.mk
Missing LOCAL_CERTIFICATE produces an apkcerts.txt file that
has no key for the APK, which confuses the signing tools.
Enforce that it is set.

Bug: 147765187
Test: m apkcerts-list
Change-Id: I1299505d193deba5956954e5d9b6e4c727456b9c
2020-01-28 14:13:52 -08:00
Ramy Medhat
2899e4871d Merge "Add RBE support for Javac, R8, and D8 if respective env vars are set." 2020-01-28 19:49:05 +00:00
Steven Laver
6a9ff71894 Add a missing ',' in the VNDK variant identicalness check
The invocation of verify-vndk-libs-identical is missing a ',' between
the second and third parameters, in commit
4873e65c8d.

Change-Id: I88d230db4e6fed5939b1fe9d636d440a00773a41
2020-01-28 11:31:33 -08:00
Ramy Medhat
a9cc25d785 Add RBE support for Javac, R8, and D8 if respective env vars are set.
Test: aosp_crosshatch build with and without the new variables.
Change-Id: I252ff5dd8e372edf8c86e25348c8a2bfab41d70d
2020-01-28 10:25:25 -05:00
Dan Willemsen
66d21d4a30 Mark (BUILD_|LOCAL_)COPY_HEADERS as [more] deprecated
We've considered these deprecated for a while, and have reduced where
they may be used, but let's actually throw warnings and call them out
specifically now.

Bug: 130719878
Test: lunch aosp_arm; m nothing   [see no warnings]
Test: lunch aosp_crosshatch; m nothing   [see LOCAL_COPY_HEADERS warnings]
Test: lunch aosp_taimen; m nothing  [see BUILD_COPY_HEADERS warnings]
Change-Id: I8c12012366d84667de0d223bbde38d8b90419e36
2020-01-27 19:45:04 -08:00
Treehugger Robot
15e0680af1 Merge "Give strip depfile a unique name, properly include it" 2020-01-27 23:38:00 +00:00
Tianjie Xu
19dbfceafd Merge "Add apexer and dependencies to otatools" 2020-01-27 23:21:52 +00:00
Colin Cross
3e87e83557 Give strip depfile a unique name, properly include it
$(LOCAL_BUILT_MODULE).d may conflict with the .d file for a .o file,
use $(LOCAL_BUILT_MODULE).strip.d.  Also pass the required second
arg to include-depfile.

Bug: 148387048
Test: m checkbuild
Change-Id: I1f5f4c38010294a12d6777439b0f66c0102c1c96
2020-01-27 22:06:21 +00:00
Daniel Rosenberg
6cc2c81f4d Add build properties to enable casefold and prj_quota
This adds the ability to format f2fs and ext4 in a way that supports
casefolding and project quotas. Project quotas require wider inodes, and
thus cannot be enable apart from at build time. Casefolding can be
configured with f2fs.fsck/tune2fs later.

Both features are enabled via inheriting emulated_storage.mk in the
device.mk

Bug: 138322712
Bug: 138321217
Test: Enable on device with related patches, view fs configuration on /data
Change-Id: Ib1ab0589006ff1b3fb7478b7e9b0a8aad71e4b09
2020-01-27 12:45:47 -08:00
Colin Cross
43e74295e0 Fix building docs as part of checkbuild
s/module_to_check/modules_to_check/

Bug: 118815658
Test: m checkbuild
Change-Id: I53e10747ed404509fd11adb72e641c702e27655b
2020-01-27 11:36:07 -08:00
Tianjie Xu
eb8a0a0036 Add apexer and dependencies to otatools
We need them to extract and repack the apex file when signing
the apex.

Bug: 146508800
Test: build
Change-Id: Ib38055eac24f28ac59610d03275de05b77d3eeb0
2020-01-27 11:05:54 -08:00
Dan Willemsen
9fe2479849 Merge "Deprecate BUILD_HOST_SHARED_LIBRARY" 2020-01-25 00:09:48 +00:00
Yifan Hong
5e57a778cd Disallow VINTF metadata for PRODUCT_COPY_FILES
VINTF metadata must be checked by defining
DEVICE_MANIFEST_FILE and friends, instead of being
copied with PRODUCT_COPY_FILES directly.

This can be worked arond with BUILD_BROKEN_VINTF_PRODUCT_COPY_FILES.

Test: Add the following and see errors:

PRODUCT_COPY_FILES += \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/vintf/manifest.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/vintf/manifest/foo.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/vintf/compatibility_matrix.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/vintf/manifest.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/vintf/manifest/foo.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/vintf/compatibility_matrix.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/etc/vintf/manifest.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/manifest.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/etc/vintf/compatibility_matrix.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/compatibility_matrix.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_ODM)/etc/manifest.xml \
    device/XXX/manifest.xml:$(TARGET_COPY_OUT_ODM)/etc/vintf/manifest.xml \

Test: test again with BUILD_BROKEN_VINTF_PRODUCT_COPY_FILES := true

Bug: 147506249

Change-Id: Id75a9690b3c71fdc9a4e1b4e9be2caa63183cf7c
2020-01-24 15:07:35 -08:00
Yifan Hong
8d29737259 Add BOARD_USES_RECOVERY_AS_BOOT to readonly list.
Test: builds
Change-Id: I391e0d168c79e84c1a2acd4fe693e3ed9fbddb53
2020-01-24 14:28:03 -08:00
Dan Willemsen
084c6ef6fa Deprecate BUILD_HOST_SHARED_LIBRARY
There are no common users left.

Also add some sanity checks to ensure that people don't attempt to use
LOCAL_IS_HOST_MODULE := true with the BUILD_(STATIC|SHARED)_LIBRARY
module types (I'm not sure it would work, but it definitely wouldn't be
good).

Bug: 130722971
Test: treehugger
Test: check the warnings on the build_test builds from treehugger
Change-Id: I3e571ef80379955149adbceff4500e51dfa016c6
2020-01-24 13:21:21 -08:00
Yifan Hong
9a190e25d0 Export BOARD_USES_RECOVERY_AS_BOOT to soong.
Test: pass
Bug: 147347110
Change-Id: I4ba4f626f02c42b1700a971326557abd23da8340
2020-01-23 13:21:09 -08:00
Yifan Hong
84c1309730 Merge "Do not check VINTF if no files" 2020-01-22 22:51:04 +00:00
Oliver Nguyen
125f7dc84d Merge "Add CLANG_COVERAGE build flag to soong config." 2020-01-22 22:34:35 +00:00
Treehugger Robot
02b1498d5a Merge "Turn on PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE if PRODUCT_SHIPPING_API_LEVEL > 29" 2020-01-22 00:36:40 +00: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
Peter Collingbourne
b1d7545e1b Merge "Update make build system for dynamic unwinder." 2020-01-21 21:28:44 +00:00
Yifan Hong
af9b0701e3 Do not check VINTF if no files
Do not check VINTF integrity / compatibility if
no files are built to /system/etc/vintf/* or /vendor/etc/vintf/*.

Test: m check-vintf-all on gsi_gms_arm64
Test: m check-vintf-all on coral

Fixes: 147749718
Fixes: 148007775

Change-Id: I874d1558e0b891b9d307eec536b1071d382a43f5
2020-01-21 13:21:52 -08: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
Vic Yang
90c3aca9bf Don't check VNDK variants when asan is used
Bug: 147911208
Test: Build with SANITIZE_TARGET=address
Change-Id: I161da92d2ed5c59ccf404cf93e04734cc85c2df9
2020-01-17 15:30:44 -08:00
Treehugger Robot
5023711e9d Merge "Always check VNDK variant identicalness" 2020-01-17 18:45:41 +00:00
Yifan Hong
0188eb5d25 Merge changes from topic "build_time_vintf"
* changes:
  Reland "Improve BUILT_ASSEMBLED_*_MANIFEST checks"
  Reland "Add check-vintf-all target."
2020-01-17 18:37:37 +00:00
Treehugger Robot
48b67473c6 Merge "Track addition of internal classes derived from OpenJDK 9+181." 2020-01-17 16:41:48 +00:00
Tobias Thierer
c6cb1c3815 Track addition of internal classes derived from OpenJDK 9+181.
Bug: 147483640
Test: Treehugger

Change-Id: Ib934f0fe4e2aeadcc83bbae3c2efaf45a38081d4
2020-01-17 14:40:22 +00:00
Treehugger Robot
345dad3c36 Merge "Allow codename.fingerprint format for minSdkVersion" 2020-01-17 07:43:31 +00:00
Treehugger Robot
951ae30d56 Merge "Add strict module check to package-modules.mk" 2020-01-17 00:03:07 +00:00
Baligh Uddin
7ce531de8e Allow codename.fingerprint format for minSdkVersion
Use codename.fingerprint format for minSdkVersion if it is unset
in the manifest and
UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true.

BUG: 130541924
2020-01-16 10:04:55 -08:00
Dan Willemsen
09c11073ac Add strict module check to package-modules.mk
The test lists keep getting out of date. Add a per-caller option so that
once they're clean on all builds we can stop them from regressing.

Test: add my_modules_strict := {true,false,,foo} to user
Change-Id: I3e09a8cbe5a07bbbff042b26cea7041c331dde96
2020-01-15 20:54:13 -08:00
Yifan Hong
2e4f20f540 Merge "device_(manifest|matrix).xml -> vendor_*" 2020-01-16 04:09:08 +00:00
Jeongik Cha
3ff51e5346 Turn on PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE if PRODUCT_SHIPPING_API_LEVEL > 29
Set PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE true if
 1. PRODUCT_SHIPPING_API_LEVEL > 29
 2. OVERRIDE_PRODUCT_ENFORCE_PRODUCT_PARTITION_INTERFACE is set

Bug: 147711383
Test: Set PRODUCT_SHIPPING_API_LEVEL higher than 29, m nothing
Change-Id: Ib6aa2fd908b4bc13e3f759a07ece0e60dd3cc12f
2020-01-15 16:48:51 +09:00
Vic Yang
4873e65c8d Always check VNDK variant identicalness
Previously, we only check VNDK core and vendor variants are identical
when a VNDK library is not declared to have different variants AND the
target has TARGET_VNDK_USE_CORE_VARIANT set.  Therefore, it is fairly
easily to break a TARGET_VNDK_USE_CORE_VARIANT target as it needs to be
tested explicitly.

This change uses the new LOCAL_CHECK_SAME_VNDK_VARIANTS and expands the
check to run regardless of TARGET_VNDK_USE_CORE_VARIANT.  Also adds
support for VNDK-in-product.

Bug: 145157349
Test: Build success for targets with and without
      TARGET_VNDK_USE_CORE_VARIANT.
Test: With the corresponding change in build/make, remove libbinder
      from build/soong/cc/config/vndk.go and check build fails even
      when TARGET_VNDK_USE_CORE_VARIANT is not set.

Change-Id: Iec708b971072e6580f77a03e243b30b89b3b054d
2020-01-14 20:05:49 -08:00
Ryan Mitchell
15e6042b29 Do not remove RRO resources
Resource configs should not be deduped when building RROs since it
would be impossible to override some resource configs with the same
value as the default config. Also, aapt2 removes resources that do not
have default configurations. If an overlay attempts to overlay a
non-default configuration without overlaying the default, the resource
will be removed and the value will not be overlaid at all.

Bug: 146227008
Test: m-j
Change-Id: I1465b599cbf7f464d1b5b75a87e7dafa2cf734b0
2020-01-14 17:00:13 -08:00