Commit Graph

85791 Commits

Author SHA1 Message Date
Neill Kapron
41efab77d0 SOONG: BPF: add libbpf_prog soong module
This commit adds the libbpf_prog soong module which is heavily based on
the bpf soong module. Due to issues encountered and concerns around
compatibility and testability of mainlined bpf modules, support for
libbpf is added as a separate module.

Specifically, when changing the bpf module from
InitAndroidArchModule(... android.MultilibCommon) to MultilibFirst, the
soong apex bpfs functionality breaks. We have not identified a good
mechanism to fix this, and as we would then be creating architecture
specific bpf program binarys, additional testing and infrastructure
would be required.

It should be noted that libbpf_prog should not be used for features
which target 32bit kernel architectures at this point, as we do not
have a mechanism to identify the kernel arch at build time. I.E. 32bit
userspace could be on either 32bit or 64bit kernel arch, and we require
arch specific includes (vmlinux.h). Therefore, we default to 32bit
userspace on 64bit kernel to match the precedence set with the legacy
bpf programs.

Example use:
libbpf_prog {
    name: "xyz.o",
    srcs: ["xyz.c"],
    arch: {
        arm: {
            local_include_dirs: ["vmlinux/arm64"],
        },
        arm64: {
            local_include_dirs: ["vmlinux/arm64"],
        },
        x86: {
            local_include_dirs: ["vmlinux/x86_64"],
        },
        x86_64: {
            local_include_dirs: ["vmlinux/x86_64"],
        },
    },
}

Bug: 359646531
Test: manual
Change-Id: Ie58515d70abee061470cf4bb803228e00d496ac3
Signed-off-by: Neill Kapron <nkapron@google.com>
2024-09-05 22:37:19 +00:00
Cole Faust
eda96ba50f Remove Android.bp file input to primaryBuilders
The soong primary builder action lists all the Android.bp files
as dependencies via a depfile. The top-level one doesn't need to be
listed as an input explicitly. I think it was there from the early
days of soong when soong started at the top-level Android.bp file and
traversed downwards through references via the subdirs or
optional_subdirs variables.

Bug: 364749114
Test: Presubmits
Change-Id: I72eabe4d4179696bfa258c8c4c56351a132e0870
2024-09-05 15:26:32 -07:00
Colin Cross
eebf7d8553 Merge "Remove obsolete robolectric test runner integration" into main am: 151446cb41 am: 392aae7702
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3254252

Change-Id: I813b1226291ab644d010f2c0361f864c8c1fa1f4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 21:18:59 +00:00
Taylor Santiago
6e984843a7 Merge "Undo filtering of HOME environment variable." into main am: 4e1af6942d am: ddb9f16c2c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3254272

Change-Id: Ie7dc74282326b61739aa3b0e0ad0c00e648d4cd4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 21:17:45 +00:00
Cole Faust
b749347fa5 Make the java static_libs property configurable
Bug: 362579941
Test: m nothing --no-skip-soong-tests
Change-Id: Iccc93cf14753aae1adb26c6eedd00aabf1c2f6a6
2024-09-05 14:16:37 -07:00
Colin Cross
392aae7702 Merge "Remove obsolete robolectric test runner integration" into main am: 151446cb41
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3254252

Change-Id: Ib1d5f7a2fa7491e1ecbb4873513c182d309275f1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 21:07:40 +00:00
Taylor Santiago
ddb9f16c2c Merge "Undo filtering of HOME environment variable." into main am: 4e1af6942d
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3254272

Change-Id: Ia279f626d52ba61f5a75ca17f74fb108133867ed
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 21:07:09 +00:00
Colin Cross
151446cb41 Merge "Remove obsolete robolectric test runner integration" into main 2024-09-05 21:03:26 +00:00
Taylor Santiago
4e1af6942d Merge "Undo filtering of HOME environment variable." into main 2024-09-05 21:02:16 +00:00
Treehugger Robot
2bc92455f2 Merge "Remove versioned_ndk_headers module type." into main am: d18adf146f am: 9de40022ef
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3247574

Change-Id: I0f86dd2f114e2697a5fbede170c564649438b74b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 20:42:24 +00:00
Treehugger Robot
9de40022ef Merge "Remove versioned_ndk_headers module type." into main am: d18adf146f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3247574

Change-Id: Ibcd0e6a7a99538b4cdb6d76b3727e68f0c8b4ff7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 20:31:48 +00:00
Treehugger Robot
d18adf146f Merge "Remove versioned_ndk_headers module type." into main 2024-09-05 20:24:56 +00:00
Taylor Santiago
c162dfac78 Undo filtering of HOME environment variable.
It an cause 'nonexistent' user errors in the sandbox.

Bug: 363037195
Change-Id: I5e17fa62029ba9bcd2422fa9aebef95223c68c0d
2024-09-05 19:43:27 +00:00
Priyanka Advani (xWF)
59f94f93d0 Merge "Revert "Enable -Wfortify-source"" into main am: a46053f612 am: 7f558a5881
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3257336

Change-Id: I1d2d36806bf0a5c6748e286dcc7c19b01cff7b3d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 18:48:17 +00:00
Priyanka Advani (xWF)
7f558a5881 Merge "Revert "Enable -Wfortify-source"" into main am: a46053f612
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3257336

Change-Id: I5366c748083e6f9f5cf338582200018c5f4cb6df
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 18:37:00 +00:00
Priyanka Advani (xWF)
a46053f612 Merge "Revert "Enable -Wfortify-source"" into main 2024-09-05 18:29:06 +00:00
Priyanka Advani (xWF)
435c4ed4a9 Revert "Enable -Wfortify-source"
This reverts commit 492e81bd0e.

Reason for revert: Droidmonitor created revert due to b/364912148.

Change-Id: Ic487ca2f4b5e650b70cfb87889d8bd112bec32c6
2024-09-05 18:24:53 +00:00
Aditya Kumar
e0c0035ef7 Merge "Enable -Wfortify-source" into main am: d33323c9ed am: 10bfb99bca
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3255896

Change-Id: If0ed80eace709e91189dec6fde29b3a9088728a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 17:51:50 +00:00
Aditya Kumar
10bfb99bca Merge "Enable -Wfortify-source" into main am: d33323c9ed
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3255896

Change-Id: I7b9bf7f2707b57b415ebf6472bc987750e6be7bc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 17:41:54 +00:00
Aditya Kumar
d33323c9ed Merge "Enable -Wfortify-source" into main 2024-09-05 17:37:12 +00:00
Spandan Das
6f9211bd1f Merge "Change visibility of module sdk prebuilts to //visibility:public" into main am: 3bdb2b5274 am: 4862baeb11
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3252814

Change-Id: Ibebb29592b0c18d300349ac81ff6c1283653d16c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 16:54:22 +00:00
Spandan Das
4862baeb11 Merge "Change visibility of module sdk prebuilts to //visibility:public" into main am: 3bdb2b5274
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3252814

Change-Id: I2ab4f2afaa7414ecbd5cfed1530fd077826a4605
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 16:44:19 +00:00
Spandan Das
3bdb2b5274 Merge "Change visibility of module sdk prebuilts to //visibility:public" into main 2024-09-05 16:41:24 +00:00
Krzysztof Kosiński
3b5380e126 Merge "Add ARMv9.2-a arch option." into main am: b379955f0e am: 6126b6792f
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3255916

Change-Id: If2648c6246ccb90ee2cdc55a8371ba470e8370f8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 14:58:12 +00:00
Krzysztof Kosiński
6126b6792f Merge "Add ARMv9.2-a arch option." into main am: b379955f0e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3255916

Change-Id: I38a8a9a214f4e3f22a9665591eb4f723f72889b3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 14:48:09 +00:00
Krzysztof Kosiński
b379955f0e Merge "Add ARMv9.2-a arch option." into main 2024-09-05 14:45:17 +00:00
Bill Yang
3b3aac0088 Revert "Revert "Support BUILD_FRAMEWORK_COMPATIBILITY_MATRIX for..."
Revert submission 3235656-revert-3195743-compatibility_matrix-KLJOLWYIMW

Reason for revert: The root cause of the break is already be merged. Related changes: ag/29139095, ag/29139608

Reverted changes: /q/submissionid:3235656-revert-3195743-compatibility_matrix-KLJOLWYIMW

Change-Id: Ie23bdd343bebbd077553dc25f0bfd13539daf57a
2024-09-05 09:22:10 +00:00
Yi Kong
e734af7c63 Merge "Remove workaround for coverage boot failure" into main am: acde746439 am: c36f81ee41
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3239200

Change-Id: Ia9015581a1ed29484441d17fe52d970cf602b536
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 07:20:30 +00:00
Yi Kong
c36f81ee41 Merge "Remove workaround for coverage boot failure" into main am: acde746439
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3239200

Change-Id: I78687e68c6fe24517c033bdda37035d1f3a160d5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 07:11:05 +00:00
Yi Kong
acde746439 Merge "Remove workaround for coverage boot failure" into main 2024-09-05 07:01:45 +00:00
Treehugger Robot
b22f3b3ed1 Merge "Add VINTF fragment modules into required libs of modules-info" into main am: a136147c9c am: 8a9aaa566b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3249931

Change-Id: Ib83bc157def4927997d56ac9aabdd97ff34051f6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 02:04:12 +00:00
Justin Yun
34baa2e47c Update $PRODUCT_OUT from the soong system image files
When building a system image from 'android_system_image' module,
update the $PRODUCT_OUT files with the files installed to the system
image.
Soong updates the $PRODUCT_OUT files only if the android_system_image
module has "update_product_out: true" property.

Bug: 350599535
Test: lunch aosp_cf_x86_64_phone_soong_system-trunk_staging-userdebug
      && m
Test: adb sync
Change-Id: Ia3418c5380cac42d5c766e8304c8ed2bab3d835a
2024-09-05 11:02:57 +09:00
Treehugger Robot
8a9aaa566b Merge "Add VINTF fragment modules into required libs of modules-info" into main am: a136147c9c
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3249931

Change-Id: Ida2da7f30b8a438b599c938b1830969c8cc76e1b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-05 01:54:53 +00:00
Treehugger Robot
a136147c9c Merge "Add VINTF fragment modules into required libs of modules-info" into main 2024-09-05 01:46:19 +00:00
Colin Cross
c9b4f6b502 Use transitive header jars in classpaths
Skip combining jars into turbine-combined, combined, and withres jars
and instead collect transitive jars to use in the classpath and to
produce the final dexed jar.

This reduces the size of a `m checkbuild` in git_main by 11%, from
1300 KiB to 1154 KiB.  It may also improve caching and reduce uplink
network bandwidth when building with RBE, as now the classpath inputs
to rules are themselves outputs of previous rules and so already in
the RBE CAS.

The downside is that the classpath inputs to each rule are now much
longer, increasing the Soong ninja file size 11%, from 4.6 GiB to
5.1 GiB.  This could be mitigated in the future by supporting something
like depsets in the generated ninja file to reduce duplication.

Bug: 308016794
Test: TestSimple, TestKotlin, TestClasspath
Flag: build.RELEASE_USE_TRANSITIVE_JARS_IN_CLASSPATH
Change-Id: I2b7b4261375494370da70f98597c8719f1d561cf
2024-09-04 16:13:46 -07:00
Taylor Santiago
76a4780aab Merge "Reapply "Clean environment variables to account for sandbox work directory." with minor edits." into main am: c61d0a412e am: 406f9f8542
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3255265

Change-Id: I7592d1f0e8da726754f591253de040e9e9e7628c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04 23:09:20 +00:00
Taylor Santiago
406f9f8542 Merge "Reapply "Clean environment variables to account for sandbox work directory." with minor edits." into main am: c61d0a412e
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3255265

Change-Id: I7c0a19925752dc8ac533241640d60c5cab07aa8a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04 22:59:46 +00:00
Taylor Santiago
c61d0a412e Merge "Reapply "Clean environment variables to account for sandbox work directory." with minor edits." into main 2024-09-04 22:56:50 +00:00
Taylor Santiago
8b0bed7187 Reapply "Clean environment variables to account for sandbox work directory."
with minor edits.

This reverts commit 9543d19b4b.

Bug: 363037195
Change-Id: I4cb10b312b7f468185bfad12a16f9b4b64e7a58a
2024-09-04 22:55:02 +00:00
Colin Cross
fdaa672ad1 Remove obsolete robolectric test runner integration
The `m Run*RoboTests` test runner is no longer supported, remove the
code to generate the Make rules for it.

Also reduce the number of combining steps by passing the extra jars
that need to be combined into the compile step.

This relands Icf05079bf570bed7a10962cbf03459bd53c51f99 with a fix to
reorder the instrumented app classes after dependency classes.

Test: atest --host SystemUiRoboTests
Flag: EXEMPT refactor
Change-Id: I174ceb95af5557e1859eeb12a2f5fac2332975a8
2024-09-04 15:47:11 -07:00
Yu Liu
e97a9ce7cd Merge "Move the caching/restoring code from soong to blueprint to fully skip build actions." into main am: c55b25f125 am: 246315e4fd
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3249489

Change-Id: Ib5b0b6fde2d99eb2c0b2c5d8f5595b194af91cd9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04 22:17:13 +00:00
Yu Liu
246315e4fd Merge "Move the caching/restoring code from soong to blueprint to fully skip build actions." into main am: c55b25f125
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3249489

Change-Id: I43e2ee71097e95e313eab8631742acb8048e36d4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04 22:07:50 +00:00
Yu Liu
c55b25f125 Merge "Move the caching/restoring code from soong to blueprint to fully skip build actions." into main 2024-09-04 22:01:33 +00:00
Treehugger Robot
4ec217524f Merge "Revert "Remove obsolete robolectric test runner integration"" into main am: b94fef7278 am: e6a426338a
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3255302

Change-Id: I2f71b3d938b599ddb97878ac300d74c431bf3dea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04 21:56:26 +00:00
Treehugger Robot
e6a426338a Merge "Revert "Remove obsolete robolectric test runner integration"" into main am: b94fef7278
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3255302

Change-Id: I0a94ada98ac9fbcc396fc95456be8f6c31e0b02a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-09-04 21:46:52 +00:00
Treehugger Robot
b94fef7278 Merge "Revert "Remove obsolete robolectric test runner integration"" into main 2024-09-04 21:36:08 +00:00
Krzysztof Kosiński
918d265a06 Add ARMv9.2-a arch option.
Bug: 364383722
Test: presubmit
Change-Id: Ica7266f6dbac490836f94f7e19685383aba2749f
2024-09-04 21:25:05 +00:00
Aditya Kumar
492e81bd0e Enable -Wfortify-source
Bug: 315245071
Change-Id: I06ced7e599dea83a6dbd68b89c996a3127c318ae
2024-09-04 21:24:12 +00:00
Priyanka Advani (xWF)
72853677e8 Revert "Remove obsolete robolectric test runner integration"
This reverts commit ef5739ed64.

Reason for revert: Droidmonitor created revert due to b/364665936.

Change-Id: Ia18f642492eafdbe2e78d9f753d87f243d529037
2024-09-04 20:15:58 +00:00
Yu Liu
26a716d5e5 Move the caching/restoring code from soong to blueprint to fully skip build actions.
Bug: 358425833
Test: Manually verified the generated ninja and mk files and CI.
Change-Id: Ieebb822c46f37c0ff55fad08531e9870a76cbd7b
2024-09-04 19:59:55 +00:00