Commit Graph

33200 Commits

Author SHA1 Message Date
Carlos Eduardo Seo
6e6a95b606 core: Add script to check for possible shared library duplication
Running dupcheck.sh after a build on an image performs two checks:

  * Check for duplicate shared libraries by MD5.
  * Check for possible duplicate shared libraries by comparing .note
    and .text ELF sections.

This helps looking for unnecessary file duplication in the final images.

Test: after running the script, reports will be generated in the 'out'
directory.

Change-Id: I91c044a52002557fdc8dc65bfc9fd5f313ca00f3
2023-06-29 12:50:10 +00:00
Devin Moore
b1bae84508 Merge "Add static_libs to module-info.json" 2023-06-06 15:36:57 +00:00
Steven Moreland
0b219d399c Merge "Remove PRODUCT_SEPOLICY_SPLIT." 2023-06-05 23:08:24 +00:00
Devin Moore
48d7b3462d Add static_libs to module-info.json
This is helpful for analyzing how often a library is included statically
on a device. If a large library is linked statically in many processes
in a single device, it may be a good candidate for shared linking
instead.

This increases the size of module-info.json file on Cuttlefish by ~12.5%
from 65MB to 72MB.

Test: m
Bug: 280829178
Change-Id: I3614d86d799810e1ce845e1097f43f1ec0a412a3
2023-06-05 20:17:50 +00:00
Jiakai Zhang
ccf0471af3 Merge "Add an allowlist for modules that have broken optional_uses_libs." 2023-06-05 14:05:49 +00:00
Jooyung Han
e5cf1f98b8 Merge "Deprecation message for TARGET_FLATTEN_APEX" 2023-06-05 01:57:13 +00:00
Jiakai Zhang
9fd786cd55 Add an allowlist for modules that have broken optional_uses_libs.
Bug: 282877248
Test: m nothing
Change-Id: I6f0e76a6f147de1e6043b5abc4630342d46bafcc
2023-06-02 23:41:59 +01:00
Rob Seymour
7edc734ec1 Merge "Do not set DISABLE_PREOPT_BOOT_IMAGES when doing a VSDK build." 2023-06-02 19:27:09 +00:00
Jiakai Zhang
66a9cd195c Merge "Drop INTERNAL_PLATFORM_MISSING_USES_LIBRARIES." 2023-06-02 14:59:09 +00:00
Treehugger Robot
876912a2a1 Merge "Support test runnner option in auto generated test configs" 2023-06-02 11:20:23 +00:00
Jooyung Han
4b8c962c7b Deprecation message for TARGET_FLATTEN_APEX
Bug: 278826656
Test: OVERRIDE_TARGET_FLATTEN_APEX=true m nothing (shows warning)
Change-Id: I60e463348f87d8e1520245702eaa99c4c5356b61
2023-06-02 14:15:34 +09:00
Florian Mayer
5e2c1bec02 Merge "Use linker_hwasan64 for make built HWASan executables" 2023-06-02 04:30:18 +00:00
Kelvin Zhang
bf8e3d5dc8 Merge "Adding vendor_kernel_boot to fasboot-info" 2023-06-02 02:57:37 +00:00
Florian Mayer
97222e192a Use linker_hwasan64 for make built HWASan executables
Test: build chre on oriole_hwasan
      verify linker with `file`
Bug: 276930343
Change-Id: I92e07b38f9198fc72f4aa3418420cc155085b324
2023-06-01 14:21:54 -07:00
Rob Seymour
0aaa561255 Do not set DISABLE_PREOPT_BOOT_IMAGES when doing a VSDK build.
Bug: 283843071
Test: build vsdk based image
Change-Id: Id35196d266994fe222f55a0711b52938253d48a7
2023-06-01 16:48:46 +00:00
Jiakai Zhang
f09e76c173 Drop INTERNAL_PLATFORM_MISSING_USES_LIBRARIES.
INTERNAL_PLATFORM_MISSING_USES_LIBRARIES was a workaround for CLC
construction. It's no longer needed because we have deferred the CLC
construction to Ninja phase.

Bug: 282877248
Test: Presubmit build tests.
Change-Id: Ib5d59caf58394f3bb93b4338146cbbbd58bb4f34
2023-06-01 16:44:35 +01:00
Steven Moreland
41792255af Remove PRODUCT_SEPOLICY_SPLIT.
Obsolete.

Bug: 257176017
Test: build&boot
Change-Id: I7ac95f8e55254b7c07ee5e5ba6c18c23a432bfa1
2023-05-31 22:01:16 +00:00
Daniel Zheng
7d85d4f7b7 Adding vendor_kernel_boot to fasboot-info
Adding new partition to fastboot-info

Test: m fastboot_info
Bug: 284263071
Change-Id: I2540cbc224ebaffe5781c7aa3570e3e56f1bdcdd
2023-05-30 14:22:19 -07:00
Jiakai Zhang
d5d51e21bf Merge "Move CLC construction to Ninja phase." 2023-05-30 14:58:15 +00:00
Kiyoung Kim
6a821158b1 Merge "Rename soong.variable with target product" 2023-05-30 07:17:08 +00:00
Dan Shi
1e4d747628 Support test runnner option in auto generated test configs
Bug: 284179405
Bug: 236980335
Test: unittest
Change-Id: I7f96a2a2bc52316888e87af7e4bcc4ef50863716
2023-05-26 21:35:10 +00:00
Spandan Das
90673eb224 Merge "Create default PRODUCT_INCLUDE_TAGS in product_config" 2023-05-25 16:46:42 +00:00
Treehugger Robot
6f74957c19 Merge "Add a copy of AB OTA partition list prop in vendor partition" 2023-05-25 11:14:40 +00:00
Treehugger Robot
95ad4d4ba0 Merge "Support dynamic 64-bit drmserver" 2023-05-25 02:22:45 +00:00
Kelvin Zhang
ef158a9a51 Add a copy of AB OTA partition list prop in vendor partition
The sysprop to enable/disable AB OTA update is in vendor partition,
but the sysprop which stores list of AB partitions is in product(which
is on system side of treble boundary). This is inconsistent and might
cause problems during mixed build. To mitigate, add a copy of AB
partition list prop in vendor, and readers of this prop will prefer the
vendor copy instead.

Bug: 283042235
Test: th
Change-Id: Idd73971817f663b08824e285d840ed8d8dd60d2c
2023-05-24 18:26:27 -07:00
Vinh Tran
2c5fb95f32 Merge "Support sandboxing genrule" 2023-05-23 21:29:27 +00:00
Spandan Das
2e69ea6228 Create default PRODUCT_INCLUDE_TAGS in product_config
In the current setup in partner branch, we
1. Add blueprint_package_includes to prebuilts/module_sdk/*
2. Add the correct PRODUCT_INCLUDE_TAGS to partner_modules

This means in those setups,none of the prebuilts are visible to aosp products since
they they do not inherit partner_module makefiles.
```
e.g.
prebuilts/module_sdk/art/current/Android.bp
prebuilts/module_sdk/art/<go_specific>/current/Android.bp

// aosp_arm cannot find either

```

To solve this, this CL creates a default inclusion tag for all products
that do not set any PRODUCT_INCLUDE_TAGS explicitly.
In the previous example, Soong analysis of aosp_* will use
prebuilts/module_sdk/art/current/Android.bp. This should be a no-op for
aosp and internal branches since none of the Android.bp files today contains
blueprint_package_includes

Test: m nothing for aosp_arm in the test branch of b/278604467#comment20
Test: m nothing for partner product that uses big android sdk
Test: m nothing for partner product that uses go sdk

Bug: 278604467
Change-Id: I322b52c34ed339989207609dd0fd23c27ed1f697
2023-05-23 20:01:39 +00:00
Treehugger Robot
2014bbb8e7 Merge "Add BUILD_BROKEN_PLUGIN_VALIDATION flag" 2023-05-23 17:08:46 +00:00
Treehugger Robot
27efd6e1eb Merge "Fix build error about jar manifest" 2023-05-23 12:44:10 +00:00
Treehugger Robot
2231df8a54 Merge changes from topic "b/278060169"
* changes:
  Replace touch -a with comment
  BUILD_NUMBER and BUILD_HOSTNAME doesn't affect kati regeneration
2023-05-23 08:56:48 +00:00
Jeongik Cha
7e00234b84 Fix build error about jar manifest
It still depended on old intermediate files (out/host/common/obj/JAVA_LIBRARIES/<modulename>_intermediates//manifest.mf)
But the intermediate manifest.mf isn't created after aosp/2563995,
it causes merge_zip error due to missing file.
So make it use the manifest file from source directly.

Test: m out/host/common/obj/JAVA_LIBRARIES/ahat-tests_intermediates/classes-combined.jar
Bug: 278060169
Bug: 283821744
Bug: 283903672
Change-Id: Iebff6bf90b93dab693aef2492383cd3b03f239fb
2023-05-23 05:59:09 +00:00
Treehugger Robot
8485145bd7 Merge "Add 16K artifacts to PREBUILT_IMAGES/ dir of target_files" 2023-05-23 02:36:17 +00:00
Jeongik Cha
54403316c0 Replace touch -a with comment
Bug: 278060169
Test: m
Change-Id: Ie5ad1b5c6cf335cc3de641fd76a76bfa5f3f79cb
2023-05-23 07:14:51 +09:00
Jeongik Cha
05210f96b3 BUILD_NUMBER and BUILD_HOSTNAME doesn't affect kati regeneration
* Extract BUILD_NUMBER, BUILD_HOSTNAME to file to avoid kati change
* Handle FILE_NAME_TAG_PLACEHOLDER string in dist in build/make/packaging/distdir.mk

Test: check if kati isn't invoked even though BUILD_NUMBER, BUILD_HOSTNAME
  is changed
Test: m && m, and check if the second m is no-op
Bug: 278060169
Change-Id: I1b37760242853c1a145bad255d0bb15524234b25
Merged-In: I1b37760242853c1a145bad255d0bb15524234b25
2023-05-23 07:14:22 +09:00
Anton Hansson
08b97147ac Merge "Don't add build ID to version name" 2023-05-22 17:43:10 +00:00
Matthew Sedam
d104c386f6 Merge "Fix small spelling error in build/core/main.mk" 2023-05-22 15:45:43 +00:00
Jeongik Cha
07cfdab76a Merge "Introduce dist-for-goals-with-filenametag" 2023-05-22 02:25:45 +00:00
Joe Onorato
2f1f4c25f7 Merge "Revert "Define release flags in starlark instead of make"" 2023-05-20 01:52:53 +00:00
Kelvin Zhang
decee4adb7 Add 16K artifacts to PREBUILT_IMAGES/ dir of target_files
Test: th
Bug: 283506035
Change-Id: I9be3982b5a4324ec839937d10c33266c7d27c525
2023-05-19 14:31:00 -07:00
Matthew Sedam
fb861d6ba6 Fix small spelling error in build/core/main.mk
Bug: N/A
Change-Id: I858fb4b23a1c85035c59c42d8e3260fd376f941c
Test: N/A
2023-05-19 20:58:16 +00:00
Kelvin Zhang
d8eac1cb9a 16k: Add 16K variant kernel/ramdisk build targets
This adds two new build variables, BOARD_KERNEL_PATH_16K and
BOARD_KERNEL_MODULES_16K . BOARD_KERNEL_PATH_16K will be copied
to output directory as is.

BOARD_KERNEL_MODULES_16K is a list of modules which will be packed into a
ramdisk and added to output dir. This allows cuttlefish to switch to 16K
kernel at runtime without adding too much overhead, as ramdisk building
takes very little time.

Bug: 253827893
Test: m kernel_16k ramdisk_16k

Change-Id: Ibb36ba4c3399b3f193795aea6597a4aa535f1bec
2023-05-19 13:08:52 -07:00
Kelvin Zhang
863cba2c1d Merge "Revert "16k: Add 16K variant kernel/ramdisk build targets"" 2023-05-19 20:05:00 +00:00
Kelvin Zhang
6572bee96b Revert "16k: Add 16K variant kernel/ramdisk build targets"
This reverts commit 1f04dfaba2.

Reason for revert: breaks build on ab/10170403

Change-Id: I92e064ab07b02e4f17a22b113032eaa4d9f131cc
2023-05-19 20:03:19 +00:00
Joe Onorato
7b578d32f9 Revert "Define release flags in starlark instead of make"
This reverts commit c113a70221.

Doesn't work with OUT_DIR hard coded outside the tree.

Test: OUT_DIR=/source/whatever m
Bug: 283278495
Change-Id: I8cc74a9ec936b9c7502b97b9b7a4fd731988c407
2023-05-19 09:22:42 -07:00
Kelvin Zhang
ab9fb56784 Merge "16k: Add 16K variant kernel/ramdisk build targets" 2023-05-19 00:00:32 +00:00
Kelvin Zhang
1f04dfaba2 16k: Add 16K variant kernel/ramdisk build targets
This adds two new build variables, BOARD_KERNEL_PATH_16K and
BOARD_KERNEL_MODULES_16K . BOARD_KERNEL_PATH_16K will be copied
to output directory as is.

BOARD_KERNEL_MODULES_16K is a list of modules which will be packed into a
ramdisk and added to output dir. This allows cuttlefish to switch to 16K
kernel at runtime without adding too much overhead, as ramdisk building
takes very little time.

Bug: 253827893
Test: m kernel_16k ramdisk_16k
Change-Id: I4e49c727e5ed07a915145897cb987f29b0fe68e2
2023-05-18 20:12:09 +00:00
Liz Kammer
bc4f48c415 Add BUILD_BROKEN_PLUGIN_VALIDATION flag
Use is to specify the list of plugins are are not allowed.

Ignore-AOSP-First: Requires an internal only change to not break when submitted
Test: CI
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f24be9dba9b53b0c1682929253a3eba9af7a4c31)
Merged-In: Ia2fe83d82ead618e480e99a82b1b825ed08d3eab
Change-Id: Ia2fe83d82ead618e480e99a82b1b825ed08d3eab
2023-05-18 18:20:22 +00:00
Treehugger Robot
4d4ffb28f4 Merge "Don't build automatic RROs for tests" 2023-05-18 06:59:24 +00:00
Treehugger Robot
cedf6314bc Merge "Define release flags in starlark instead of make" 2023-05-18 05:22:47 +00:00
Colin Cross
93ff702df2 Don't build automatic RROs for tests
Automatic RROs don't make sense for tests, the tests can't rely on
overlays being installed on product or vendor.  Creating the RROs
causes a race during builds that build both droid and device-tests
goals, as the RROs may be installed to the vendor directory as a
dependency of the device-tests goal before or after the vendor image
is packaged as a dependency of the droid goal.  If the RROs are
installed first and the vendor image is low on space it may result
in an out-of-space error.

Bug: 282885159
Test: Rule to build $OUT/vendor/overlay/SystemUITests__*__auto_generated_rro_vendor.apk no longer exists
Change-Id: I760355ffb1818e91c02a98473312f9f21c149361
Merged-In: I760355ffb1818e91c02a98473312f9f21c149361
2023-05-18 03:14:01 +00:00