Add a --copy-to-vendor-partition optional argument to both roll_aosp.sh
and generate_android_bp.py. When specified the root targets will be
generated with vendor: true and a relative install path to egl folder,
so that we can use ANGLE as the Android OpenGLES driver when the system
starts up.
Test: run roll_aosp.sh --copy-to-vendor-partion, build the Android image
with m -j72, load the image with the Android emulator and find all ANGLE
related *.so's are under the /vendor/lib/egl folder.
Bug: angleproject:5456
Change-Id: I38c64e8ea3ad5f5d0cc0b8cd77856f49109b23c7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568907
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Android builds are failing due to .git/HEAD being listed in the
Android.bp, which generate_android_bp.py is supposed to remove. The
problem is that the blacklist contains '//third_party/angle/.git/HEAD'
rather than '//.git/HEAD', due to generating the GN files from
chromium/src/ rather than angle/. This CL cleans this up.
Bug: b/160727922
Test: Manual script execution and building in AOSP
Change-Id: Ia1682605097791d20b28686f3043ddc08d49ca52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2310960
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
With the introduction of ABI-specific build targets (zlib), the script
generate_android_bp.py needs to be updated to consume ABI-specific gn
descriptions and generate ABI-specific build rules for each target.
The roll_aosp.sh script was updated to generate ABI-specific gn
descriptions for each:
arm
arm64
x86
x64
Bug: b/160727922
Test: Manual script execution and building in AOSP
Change-Id: I459b388176f8fcc010f9f5668535d941b931cdd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2285272
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
generate_android_bp.py prepends "angle_" to target names to avoid
conflicts with other Android projects. This can sometimes generate
conflicts when there are two targets such as "angle_vulkan_headers"
and "vulkan_headers".
This patch turns the gn path+target into the blueprint target name.
BUG= b/155396154
Change-Id: I7a709013969ae8e312a781a2fd3c1ec530fca430
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2173833
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Per the Mainline requirement to setup coverage for APIs used by
modules, we need to add the plugin 'java_api_finder' to ANGLE's
Android.bp to enable the instrumentation.
Bug: b:148987998
Test: Generate Android.bp, verify GoogleANGLE can build in goog/master
Change-Id: Id3d82f18ecb9ff6a57cda4a60f14cd2464dff234
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2145236
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
sdk_version now creates a new variant, so the cc_genrules also need
sdk_version set.
Bug: b:149591340
Change-Id: I8c58cca2d4e73e9f123f968d47361e878743e1b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2131251
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Clang and Chrome build with different versions of clang which support
different warning flags. Ignore unknown warning flags when building in
Android.
Bug: b:142320172
Change-Id: I35eb424aa5a146fec7dabf9f3aa71bd6dd9d8f50
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2112282
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
This target already exists in internal master, avoid the name conflict
until there is only one set of build files.
BUG=b:142320172
Change-Id: Ida176f39422c1c57cc2936a06e61b7e86bf2cc90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2101367
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
GoogleANGLE will be signed in a different part of Android so it needs to
be able to reference ANGLE's target and defaults to override certain
properties.
Update the manifests to request the needed permissions to use the
developer options.
Bug: b:142320172
Change-Id: Ia47815ab53f8de66332412efa2cc0fca3175e2cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2096815
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
We previously used the existing Android target for vulkan headers but it
does not roll as fast as ANGLE's, possibly causing divergence in test
results.
BUG=angleproject:2344
BUG=b:150892231
Change-Id: Ibef33b266943c040219529f64ea8cd29c8c9bf83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090394
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
ANGLE has a ANGLE_IS_32/64_BIT_CPU define that is based on the gn arg
for "target_cpu". Don't emit this define as is from the gn desc, move
it to an architecture-specific section of the generated blueprint.
BUG=angleproject:2344
Change-Id: Ib6387d5f31b30900b5d3195da6d9b21c48e1e2a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2090393
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>