Commit graph

67461 commits

Author SHA1 Message Date
Ryan Prichard
6d74870a67 Revert^2 "Switch platform-NDK unwinder to LLVM libunwind.a prebuilt"
This reverts commit 9cd4aff304.

Bug: http://b/153025717
Test: treehugger
Change-Id: I548ca3dd5bdddb52199b4b5e1455832ee1d28125
2021-03-31 15:33:35 -07:00
Alexander Smundak
fe5799af6b Merge changes from topic "product_config_star"
* changes:
  Product configuration in Starlark support files.
  Roboleaf product configuration runner
2021-03-31 18:28:50 +00:00
Ryan Prichard
cf5487e07f Merge "Revert "Switch platform-NDK unwinder to LLVM libunwind.a prebuilt"" 2021-03-31 05:29:51 +00:00
Yo Chiang
d054de08c3 Merge "Mark PRODUCT_CHECK_ELF_FILES as obsolete" 2021-03-31 04:26:06 +00:00
Yi-Yo Chiang
f35afe97b1 Mark PRODUCT_CHECK_ELF_FILES as obsolete
Follow-up of aosp/1655468.

Bug: 149715904
Test: Presubmit
Change-Id: I3998c7356e3a41adaa00ab3d1d2c2ec66e2e37d7
2021-03-31 04:25:55 +00:00
Ryan Prichard
9cd4aff304 Revert "Switch platform-NDK unwinder to LLVM libunwind.a prebuilt"
This reverts commit 85a1213232.

Reason for revert: b/184095989

Change-Id: I4643a7bb2fea6411d7c673ec4017fdbab6070b9d
2021-03-31 03:25:26 +00:00
Jaewoong Jung
a0e69fc900 Merge "Fix the help script." 2021-03-30 23:05:52 +00:00
Dan Albert
ee90c8856e Merge "Switch platform-NDK unwinder to LLVM libunwind.a prebuilt" 2021-03-30 21:44:35 +00:00
Nicolas Geoffray
01545ef795 Merge "Preopt apps with updatable boot classpath too." 2021-03-30 13:40:57 +00:00
Yo Chiang
08b0004c9c Merge "Remove obsolete var PRODUCT_CHECK_ELF_FILES" 2021-03-30 08:54:24 +00:00
Yo Chiang
910d352ee6 Merge "Revert^2 "Nextgen release: Don't build super_empty.img"" 2021-03-30 06:29:09 +00:00
Yo Chiang
3060ba5048 Merge "Revert^2 "Add option to allow product makefiles to skip building s..."" 2021-03-30 06:29:09 +00:00
Ulyana Trafimovich
e06dbb7a76 Merge "Don't enforce <uses-library> checks if dexpreopt for apps is disabled." 2021-03-29 16:21:24 +00:00
Ulya Trafimovich
03befa00fe Don't enforce <uses-library> checks if dexpreopt for apps is disabled.
Otherwise the check fails, as it depend on non-existent dexpreopt.config
files. This CL fixes broken build cf_x86_phone-userdebug_coverage.

Bug: 183931403
Bug: 132357300
Test: forrest build for cf_x86_phone-userdebug_coverage.
Change-Id: I6f977c1e0c2d2160b1813d2d1c36459f0641235e
2021-03-29 15:01:05 +01:00
Nicolas Geoffray
5bfe9267f8 Preopt apps with updatable boot classpath too.
Test: m
Test: egrep 'ethernet-service[^ ]*odex' out/soong/build.ninja \
    | grep updatable
  # is empty
  egrep 'oat-file=[^ ]*Gallery2[^ ]*odex' out/soong/build.ninja \
    | egrep -o 'Xbootclasspath:[^ ]*' \
    | sed 's/:/\n/g' \
    | grep updatable_bootjars
  # lists updatable boot jars
  egrep -o 'Xbootclasspath:[^ ]*' \
      -o `find out -name dexpreopt.sh | grep Dialer` \
    | sed 's/:/\n/g' \
    | grep updatable_bootjars
  # lists updatable boot jars
Bug: 178467404
Change-Id: Ia5d4e59bac3e32bc77f1a0ab9e1abb18768a7ee7
2021-03-29 14:03:12 +01:00
Yi-Yo Chiang
875442fde4 Remove obsolete var PRODUCT_CHECK_ELF_FILES
After aosp/1184262 is submitted, PRODUCT_CHECK_ELF_FILES is deprecated
and nobody is using this variable anymore.

Bug: 149715904
Test: Presubmit; Should be noop
Change-Id: Iaf4a6ae1fe4062684a9699b7ef999030ff483e16
2021-03-29 18:35:51 +08:00
Bowgo Tsai
bc50bb88e2 Merge "GKI: put debugging resources under fisrt_stage_ramdisk subdir." 2021-03-29 02:25:12 +00:00
Jaewoong Jung
f9a2e4d41f Fix the help script.
Test: m help
Change-Id: I5ed6357de4ed4e59d2f1337aefe0104b113869fe
2021-03-25 14:40:44 -07:00
Julien Desprez
c2e66a69ca Merge "Mark the unit tests module itself as its component" 2021-03-25 21:35:29 +00:00
Ulyana Trafimovich
3140fc9e15 Merge "Disable <uses-library> checks for SDK products." 2021-03-25 10:14:37 +00:00
Ulyana Trafimovich
86755e4ac0 Merge "Add config that controls if updatable BCP is included in dexpreopt." 2021-03-25 10:13:45 +00:00
Yo Chiang
075a6d3327 Revert^2 "Nextgen release: Don't build super_empty.img"
This reverts commit 63c65c776d.

Reason for revert: Original bug was resolved by updating branch config

Change-Id: I1136570f9bd01d050beb55705cc90040dd396ecc
2021-03-25 10:12:58 +00:00
Yo Chiang
e86bab474b Revert^2 "Add option to allow product makefiles to skip building s..."
This reverts commit ccfea17fb7.

Reason for revert: Original bug was resolved by updating branch config

Change-Id: I2327092261a2147fa8f2be3d878db04228e65511
2021-03-25 10:12:28 +00:00
Bowgo Tsai
099a7c40a7 GKI: put debugging resources under fisrt_stage_ramdisk subdir.
For consistency with android-11 GKI boot-debug.img, we should
put debug resources under the 'fisrt_stage_ramdisk' dir. This is
needed for devices with `androidboot.force_normal_boot=1` in the
kernel cmdline, where init will chroot into /fisrt_stage_ramdisk.

For devices without force_normal_boot, they still can use their
vendor_boot-debug.img for debugging purpose.

Bug: 183670217
Test: `make bootimage_debug`, then use unpack_bootimg and
      `lz4 -d -c ramdisk | toybox cpio -i` to unpack the ramdisk
      for inspection.
Change-Id: I0a79440dafd091141a1203a2c2c7be5bc1bfc836
2021-03-25 14:24:09 +08:00
Tianjie Xu
4b2242de5e Merge changes from topic "revert-1644988-nextgen-release-img-zip-cleanup-KPBTKCTROS"
* changes:
  Revert "Add option to allow product makefiles to skip building s..."
  Revert "Nextgen release: Don't build super_empty.img"
2021-03-25 05:13:52 +00:00
Tianjie Xu
63c65c776d Revert "Nextgen release: Don't build super_empty.img"
Revert submission 1644988-nextgen-release-img-zip-cleanup

Reason for revert: b/183654818
Reverted Changes:
I2474e5fd6:Nextgen release: Don't build super_empty.img
I549439528:Add option to allow product makefiles to skip buil...

Change-Id: I91fb23542f7f70b0c1d6d3dabf97c0844956cfb0
2021-03-25 05:00:12 +00:00
Tianjie Xu
ccfea17fb7 Revert "Add option to allow product makefiles to skip building s..."
Revert submission 1644988-nextgen-release-img-zip-cleanup

Reason for revert: b/183654818
Reverted Changes:
I2474e5fd6:Nextgen release: Don't build super_empty.img
I549439528:Add option to allow product makefiles to skip buil...

Change-Id: I711d1c288eed17686b048144d8d41c0fdd5cd8e1
2021-03-25 05:00:12 +00:00
Treehugger Robot
9ae28a750a Merge "Add filter to some boolean variables" 2021-03-24 23:20:53 +00:00
Julien Desprez
19275640fb Mark the unit tests module itself as its component
This will help to try out code coverage reporting.

Change-Id: I52953037cb1482d88102d4bf8719ec7192dfaa97
Test: presubmit
Bug: 172962242
2021-03-24 20:11:49 +00:00
Ulya Trafimovich
918f71acf7 Disable <uses-library> checks for SDK products.
They lack some libraries (e.g. RadioConfigLib), which makes it
impossible to translate their module names to library name, so the check
fails.

Bug: 183339664
Bug: 132357300
Bug: 183616134
Test: treehugger
Change-Id: I2f5f646f0fba054f9ef6a0e45afa2ecc70d5fcf0
2021-03-24 17:14:20 +00:00
Ulyana Trafimovich
c79c96ae43 Merge "Add PRODUCT_BROKEN_VERIFY_USES_LIBRARIES." 2021-03-24 15:18:42 +00:00
Ulya Trafimovich
b9f4306adf Add config that controls if updatable BCP is included in dexpreopt.
For now the config is always set to false (updatable boot jars are
excluded), but this may change in the future.

Bug: 178467404
Test: lunch aosp_cf_x86_64_phone-userdebug && m
Change-Id: I1b45a89748e065a29130efbf8b54dddfae69e48b
2021-03-24 10:51:46 +00:00
Inseob Kim
ce0671f057 Merge "Add WithDexpreopt soong variable" 2021-03-24 06:20:03 +00:00
Yo Chiang
18015cef3b Merge changes from topic "nextgen-release-img-zip-cleanup"
* changes:
  Nextgen release: Don't build super_empty.img
  Add option to allow product makefiles to skip building super_empty.img
2021-03-24 05:35:46 +00:00
Yi-Yo Chiang
16973880c6 Nextgen release: Don't build super_empty.img
Bug: 183068624
Test: "m dist" on GSI and check the build artifacts under OUT and DIST
      directories, and check the contents of *-img-*.zip
Change-Id: I2474e5fd69534a5890eecd0c81e10a583e4423be
2021-03-24 05:35:37 +00:00
Yi-Yo Chiang
ba959a5ff1 Add option to allow product makefiles to skip building super_empty.img
This change doesn't change the condition for building super_empty.img,
it just add a toggle PRODUCT_BUILD_SUPER_EMPTY_IMAGE that product
makefiles can use to skip building super_empty.img.
Products that don't use super_empty at all, for example GSI, can set
this option to ensure the super_empty.img is not built.

Bug: 183068624
Test: "m dist" on GSI and check the build artifacts under OUT and DIST
  directories, and check the contents of *-img-*.zip
Change-Id: I54943952873d2d297fd9d18cbe14742bc12ae9c6
2021-03-24 05:35:10 +00:00
Inseob Kim
3dfb8b8d7a Add filter to some boolean variables
add_json_bool converts non-empty string to true, and empty string to
false. But some of boolean variables are meant to be set either "true"
or "false". In that case "false" may lead to a mismatch. This adds
filter to boolean variables which are directly compared to "true", like

    ifeq ($(VAR),true)

Bug: 183483152
Test: build
Change-Id: I0dc4a05293a3233ae4958335781a19e6445a3799
2021-03-24 14:20:33 +09:00
Inseob Kim
26c77daaa4 Merge "Fix SepolicySplit soong variable" 2021-03-23 23:54:29 +00:00
Inseob Kim
84a8be3c52 Add WithDexpreopt soong variable
Test: m selinux_policy on sc-arc
Change-Id: Ieae24f65d74179d0604040a95f8aff4b027a2949
2021-03-23 23:21:24 +00:00
Ulya Trafimovich
1a3b145803 Add PRODUCT_BROKEN_VERIFY_USES_LIBRARIES.
If set to true, it disables <uses-library> checks for a product. It is
possible to override with environment variable RELAX_USES_LIBRARY_CHECK
on the command-line.

Per product configuration is needed rather than per board configuration
(such as BUILD_BROKEN_* variables) because of the specifics of
<uses-library> checks: they depend on the product packages list, and
not on the board config.

One example of a product family that needs to disable the checks are
the SDK builds (e.g. sdk_gphone_x86_64), see b/183339664.

Bug: 183339664
Bug: 132357300
Test: treehugger
Change-Id: Ia58559e4e70163da94e9eb7b8a6133e0cbecd459
2021-03-23 12:36:24 +00:00
Inseob Kim
35f63019c9 Fix SepolicySplit soong variable
It should be "filtered" by "true" because all non-empty values become
true when using add_json_bool.

Test: m selinux_policy on sc-arc
Change-Id: I35d5881d83746230793cf8ced76885607e82334a
2021-03-23 20:47:39 +09:00
Treehugger Robot
9657a54894 Merge "Build module-info.json in dist" 2021-03-23 10:16:05 +00:00
Przemyslaw Szczepaniak
fd444b55b5 Merge "Add new llndk library, libneuralnetworks_shim.so" 2021-03-23 09:15:42 +00:00
SzuWei Lin
ebb3176268 Merge "Update OWNERS for GSI files" 2021-03-23 03:53:33 +00:00
Treehugger Robot
fc6c0b8c67 Merge "Add PlatformSepolicyVersion to soong_config" 2021-03-23 03:53:18 +00:00
Treehugger Robot
30f09a1a2e Merge "Support GKI boot.img v4 signing" 2021-03-23 00:24:33 +00:00
Ryan Prichard
85a1213232 Switch platform-NDK unwinder to LLVM libunwind.a prebuilt
Link against the libunwind.a shipped with the NDK so it matches what's
linked into the NDK's libc++_shared.so.

For arm32, binary.mk and cxx_stl_setup.mk had been adding two different
versions of the LLVM unwinder to the same linker command-line. Remove
the duplicate one from cxx_stl_setup.mk.

-Wl,--exclude-libs is now unnecessary because the symbols are marked
hidden in the archive itself.

Bug: http://b/153025717
Test: device boots, manually inspect some linker command lines
Change-Id: Ie7182bd565014348b16448976dc6587d2885ba99
2021-03-22 14:00:59 -07:00
Inseob Kim
232f6ac676 Add PlatformSepolicyVersion to soong_config
PlatformSepolicyVersion and BoardSepolicyVers haven't assigned correctly
so far. Below is the reason why it hasn't been discovered yet.

DeviceConfig.PlatformSepolicyVersion() was added to support mixed
sepolicy build (setting BOARD_SEPOLICY_VERS and building vendor sepolicy
with old plat policy files). Soong compares PlatformSepolicyVersion()
and BoardSepolicyVers(), and used old vendor sources if both are
different. Back then, the only place where such logic played a role was
selinux contexts. Test codes were running as intended: after setting
BOARD_SEPOLICY_VERS the context files were built against old policies.

But there were two mistakes:

1) PlatformSepolicyVersion() was not added to soong_config.mk, so it was
always empty.
2) BOARD_SEPOLICY_VERS was set to default in system/sepolicy/Android.mk,
which was processed after soong_config. So if BOARD_SEPOLICY_VERS was
not set in BoardConfig.mk, BoardSepolicyVers() was empty, not
PLATFORM_SEPOLICY_VERSION.

And there were no issues as Soong only checked equality.

To fix the issue correctly, this commit adds the variable
PlatformSepolicyVersion, and then handles BoardSepolicyVers correctly by
returning PlatformSepolicyVersion if it's empty.

Test: set BOARD_SEPOLICY_VERS and see vendor_file_contexts changes
Change-Id: I4e306ec1f5225094a39f0c8d94f5e7683d70d60e
2021-03-22 22:34:40 +09:00
satayev
b90b546567 Merge "Move allowed_deps.txt to packages/modules/common." 2021-03-22 10:48:45 +00:00
easoncylee
330af541eb Build module-info.json in dist
This is needed for test mapping to have module-info.json built out for
device targets so that test harness can do some checks to ensure the
test is properly configured in TEST_MAPPING files.

module-info has alreay depended on droidcore, which will be
built out in the infrastructure.

Verified in a forrest run: https://android-build.googleplex.com/builds/forrest/run/L81000000840964024

Bug: 154931418
Test: m -j droidcore
      m -j module-info
Change-Id: I76b97debe3fbd51c2dc033c91ed9c2eb73cfa8a2
2021-03-22 10:33:36 +00:00