scripts/generate_android_bp.py


Log

Author Commit Date CI Message
Yuxin Hu 3159a4da 2023-02-03T17:58:15 Add temp gn_response_file to $(genDir) directory in Android build According to https://android-review.git.corp.google.com/c/platform/external/angle/+/2420140, the Android source tree will be made read-only eventually. Move the temporary file to the $(genDir) directory. Bug: None Change-Id: I1f39c2ee52f15dba54f88a700ac9d571c3860d37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4222356 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu 82826be0 2023-01-06T11:20:14 Reland "Make ANGLE program version only dependent on data that matters" This is a reland of commit 61728827d2e5ecce685578bc54bb2c744b65fc9a Changes made on top of previous commit 1. In src/program_serialize_data_version.py, fix the script error on Windows: anglebug.com/7918. 2. In BUILD.gn, replace the 'write_file' with 'response_file_content'. See https://gn.googlesource.com/gn/+/main/docs/reference.md#var_response_file_contents 3. In scripts/generate_android.bp.py, add code to handle the special GN build flag {{response_file_name}}. The code writes the list defined in srcs (identified by $(in) in Android blueprint) into a temp file named 'gn_response_file', and replaces the {{response_file_name}} with 'gn_response_file'. Original change's description > Changes made on top of original commit > 1. Enable execution permission on python script > program_serialize_data_version.py > 2. Remove unused list in libGLESv2.gni > 3. In angle/BUILD.gn, change file path from > "relative to angle_root", to "relative to root_build_dir", > so that inside the script program_serialize_data_version.py, > we don't have to find the absolute path of the code files for > hashing. > Original change's description > > This change introduces a new variable ANGLE_PROGRAM_VERSION > > to track the version of ANGLE source files that affect shader > > program serialization/deserialization. This change include more > > source files than necessary, to serve the purpose of a conservative > > jumping off point. We will narrow down the list of files for > > ANGLE_PROGRAM_VERSION hash generation in the future. > > Add a new script program_serialize_data_version.py that will > > be triggered during the build when the related source files changed. > > The script will generate a hash and the hash size from the related > > source files. In program serialization/deserialization and cache > > key generation, we will use this hash value instead of the entire > > ANGLE git hash. When the hash value changed, we know that the > > related source files changed, and we should invalidate the program > > cache and re-generate the blob cache / program binary. > > Bug: angleproject:4981 > > Change-Id: I2fb609416738d459d3289190c232c2d797ba58e3 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4072215 > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Cody Northrop <cnorthrop@google.com> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Commit-Queue: Yuxin Hu <yuxinhu@google.com> > Bug: angleproject:4981 > Change-Id: Iaa9eb0ab33439197bc30d03064fc245ea7ef1ea8 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113445 > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bug: angleproject:4981 Change-Id: Ib5bba199be6d08a1e19807026df0e7b747dbc8a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4144078 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop bdb127da 2022-12-02T10:53:22 Android: Remove smhasher license Removed in: https://chromium-review.googlesource.com/c/angle/angle/+/4066987 Causes the ANGLE to Android roller to fail: https://android-review.git.corp.google.com/c/platform/external/angle/+/2323099 Error: external/angle/Android.bp:6474:1: module "external_angle_license": module source path "external/angle/src/common/third_party/smhasher/LICENSE" does not exist Bug: b/260426695 Change-Id: I974d79f155b1077d8d42555245fed1eed69056f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4073983 Commit-Queue: Solti Ho <solti@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Solti Ho <solti@google.com>
Cody Northrop 35247a4d 2022-11-23T17:19:19 Android: Remove java_api_finder from Android.bp No longer used in Android. Mirrors the following change: https://android-review.git.corp.google.com/c/platform/external/angle/+/2316258 Test: None Bug: b/260268418 Change-Id: Idb6c31b9d31a17108979f2ecca0d28cef60a11fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4053263 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 4d096ce4 2022-09-28T10:57:58 Move cflags added by script to its own cc_defaults. This simplifies the downstream "-fno-unwind-tables" diff as we'll have it all in one place, and also avoids having it dependent on `arch` (which adds complexity as described in b/242929755#comment6) Android.bp diff (might take a while to render): https://diff.googleplex.com/#key=2ssQav0Jzifk Search for `third_party_zlib_zlib_arm_crc32` to see how it resolves the `arch` issue. Tested locally that it builds (arm64 and x64). Bug: b/242929755 Change-Id: I46c71e50942dfe42075b7ffef722e6c009fbf316 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3923457 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov f65554d9 2022-09-27T11:30:38 functools.cache -> functools.lru_cache .cache is "too new", >= py3.9 and just wraps lru_cache to look nicer. Bug: b/246559064 Change-Id: Id4f4fd7b5ef88deee4b46ff9eab442c4fa2644fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3922774 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov c630e283 2022-09-26T11:52:56 Cleanup: simplify merge_bps. Less code and branching by using dict.setdefault, dict.get, set.intersection, comprehensions. Did this while looking into b/242929755#comment6 and found the code a bit difficult to follow. Bug: b/242929755 Change-Id: I6f6da6b2986e7c5a278573d6eaf730913d47b5a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3918851 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov bc21af43 2022-09-23T11:38:17 Cleanup: readability and make --genAndroidBp non-destructive. `roll_aosp.sh --genAndroidBp` used to nuke out/Android. Move that out of the function so that it's only nuked when ran without args. Add a warning at the top of roll_aosp.sh. Use explicit flags to avoid dependency on keeping ABI ordering in sync between roll_aosp.sh, also makes it easier to understand when looking at --help etc. Use all caps for module-level constants, common in python. Replace @cache with python3's @functools.cache. Switched to python3 in https://crrev.com/c/3907879. Bug: b/242929755 Change-Id: Ib3fcd46c283f00e3d2d573c1ac7bbb6f6c1231e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3913627 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 3782c4fb 2022-09-14T12:39:33 Move Android.bp change from internal http://ag/18177202 to aosp http://ag/19953212 reverts the change from internal branch and this CL re-adds it via the ANGLE -> roll_aosp.sh -> aosp route so Android.bp will now match between the branches. Bug: b/224558229 Bug: b/232149402 Bug: b/246559064 Change-Id: I0e25670717a56985981bc241654122b113e57575 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891548 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 9f7b6bab 2022-09-07T11:01:37 Add minimal setup for Go codegen in Android.bp. Based on Cody's http://ag/19603310. Only adds libEGL_angle_codegen to libEGL_angle and is a no-op. Tested in an aosp checkout. Hopefully this doesn't cause merge conflicts with internal master as all diffs are close to the top of the file. Android.bp diff: https://paste.googleplex.com/6626641357832192 Bug: b/242929755 Change-Id: I6d7ac9f3dd502074c41838bd1aa10075a8c99145 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3876890 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov f859f97f 2022-09-02T14:33:29 Use the same build_info in all functions and cache nodes. Recursive traversal results in visiting the same nodes many many times. With this CL, timing goes from: 234.47s user 0.45s system 99% cpu 3:55.00 total to: 0.24s user 0.04s system 99% cpu 0.281 total without any diffs in the output file. Bug: b/242929755 Change-Id: Id058f43859fc46bc416d8467ff4dca2fb8e46777 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3870659 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 2f9d0810 2022-08-31T21:04:04 Revert "Sort items to avoid python2/3 diffs." This reverts commit b43a004567b060a6c01eb546bc7b055f00288c14. Reason for revert: causing merge conflicts across Android branches Original change's description: > Sort items to avoid python2/3 diffs. > > python3.x made ordering of iteration of built-in dicts match insertion > order which differs from python2. > > This will also make it easier to find things in .bp as keys will be in > sorted order. > > Bug: b/242929755 > Change-Id: I9c204fd7f8500b55ee4b24cbace0cc474dc48266 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863009 > Commit-Queue: Roman Lavrov <romanl@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: b/242929755 Change-Id: I9c0f6fc8baa164b3256e93c4d1cfbd69c1797a4d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863665 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov b43a0045 2022-08-31T10:58:06 Sort items to avoid python2/3 diffs. python3.x made ordering of iteration of built-in dicts match insertion order which differs from python2. This will also make it easier to find things in .bp as keys will be in sorted order. Bug: b/242929755 Change-Id: I9c204fd7f8500b55ee4b24cbace0cc474dc48266 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3863009 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tim Van Patten fce240c0 2021-10-29T12:35:48 AOSP: Use '-Os' rather than '-Oz' Cuttlefish recently hit a clang compiler issue related to -Oz: b/200617543 This is fixed by either disabling optimizations for ScopedExit or using -Os. This CL will switch ANGLE to using -Os. When building CF in AOSP, the binary size is reduced with -Os vs -Oz: -Oz: 16,383,489 bytes -Os: 16,152,509 bytes Bug: b/200617543 Change-Id: Ic920b0e0e4a61453d9657101a4560f74d90d5744 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3253128 Reviewed-by: Jason Macnak <natsu@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 683ab738 2021-10-28T14:02:49 Android: Add back third_party/ to AOSP The ANGLE autoroller into AOSP is currently stuck due to a merge conflict in third_party/glmark2. Specifically, this directory was deleted in AOSP, but modified in upstream ANGLE. The solution is to add back the third_party/ directories into AOSP, and the ANGLE-owned files. The full contents will not be added back if they are a git submodule. Some third_party/ directories will continue to be deleted due to how large they are: third_party/jdk third_party/llvm-build third_party/android_build_tools third_party/android_sdk We can look into adding these back in the future if it becomes necessary. Additionally, the license information in the Android.bp is being updated to reflect the newly added files. Bug: angleproject:6635 Change-Id: I793e5b0797218963a4d06a0399b3be80edd43b37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3251685 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tim Van Patten 90401067 2021-09-02T13:33:16 Android: Remove premake/LICENSE.txt from Android.bp The ANGLE roll is failing in AOSP due to: https://android-build.googleplex.com/builds/pending/P25700586/aosp_arm64-userdebug/latest/view/logs/build_error.log error: external/angle/Android.bp:7126:1: module "external_angle_license": module source path "external/angle/third_party/vulkan_memory_allocator/premake/LICENSE.txt" does not exist The issue is that file was removed as part of the roll, so scripts/generate_android_bp.py needs to be updated to remove the file from the 'license_text' block. Bug: angleproject:6356 Change-Id: I7db3a14ac07ea164deced630621bac2c26cd9d39 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140561 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 05716b9f 2021-07-22T16:01:06 Cleanup license_text to remove missing license files The initial list of files speficied for license_text in generate_android_bp.py included license files that aren't present after issuing: git clean -f -x -d -f While the list will build correctly when rolling ANGLE locally, since roll_aosp.sh doesn't issue a 'git clean', it fails to build on the Android presubmit bots. Bug: b/191882454 Test: git clean -f -x -d -f ; m ANGLE -j50 Change-Id: I31efba1f5030b118838ba1a21501f32200c93db3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046958 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 2ec44d07 2021-07-22T14:15:03 List all license files in Android.bp Update generate_android_bp.py to list all of the license files in external/angle. Bug: b/191882454 Change-Id: Ie13fb9199c7216b5468bf91994526fdcd8552be1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046509 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jeff Gilbert afda22b0 2021-07-19T16:46:50 Define ANGLE_IS_64_BIT_CPU in common/platform.h. This is more reliable and reduces reliance on build flags. Vendoring into Firefox, it's not trivial to replicate build flags, but C++-native checks always work. Bug: angleproject:6186 Change-Id: Idafd4ef1954efbfa79eae86cddfaa8f2e3992296 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036589 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 16a9a892 2021-07-12T15:30:57 Cleanup license data and remove Android.mk files In an effort to better satisfy the Android legal/license requirements: 1.) Cleanup the license data in the generated Android.bp. 2.) Remove unused Android.mk files. Bug: b/191882454 Change-Id: Ia1937c1e2e822e688cca2a4d3ebc9a294f67ad69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021851 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten a09052ea 2021-06-29T16:18:15 generate_android_bp.py: Don't include buildtools/third_party/libc++/ The buildtools/ directory is not included in the AOSP version of ANGLE and is unnecessary, so update generate_android_bp.py to filter out that include directory. Bug: b/187342779 Change-Id: I3a2d0506ac53f7d369597c797fffb211ffde41f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2995382 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten c40262dc 2021-06-10T17:27:45 Remove unused third_party/ deps from Android checkin Remove unused third_party/ deps from the Android checkins to reduce the license burden from unused libraries. Bug: b/187342779 Change-Id: I87358377d0dbbc644cb85555464f4afad9d5c333 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954924 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 4df2e8ce 2021-05-24T13:15:45 Reduce ANGLE APK size Add some flags to generate_android_bp.py to make the AOSP match the ANGLE build flags, which makes the CQ testing more relevant and reduces the ANGLE APK size. Additionally, disable various GN args that are no longer required (GL, ESSL, HSSL). Together, this reduces the ANGLE APK size in AOSP from 22.2MB to 16.7MB. This CL also makes some fixes to roll_aosp.sh that are suggested by "Shell Scipt". Bug: b/189125396 Test: manual verification Change-Id: Iea33de799a00ffff182cf028a6998e1ef01a00e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2912933 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 51feebb4 2021-05-21T16:23:39 Add LOCAL_LICENSE_KINDS to generate_android_bp.py Upstread the AOSP license changes that keep getting reverted: https://android-review.googlesource.com/c/platform/external/angle/+/1704346 Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: third_party/android_ndk/sources/android/cpufeatures/Android.mk Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-GPL SPDX-license-identifier-GPL-2.0 SPDX-license-identifier-GPL-3.0 SPDX-license-identifier-LGPL SPDX-license-identifier-MIT SPDX-license-identifier-Zlib legacy_unencumbered to: Android.bp via generate_android_bp.py Bug: b/186906888 Change-Id: I86081cfe2858702ed350ce8c72afaaa8eb5566b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2912918 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 89ac8a44 2021-05-19T10:48:40 Fix Loading ANGLE.apk in Android The recent CL to remove the Settings GUI from the Android-built APK went a little too far removing Java code and emptying the AndroidManifest.xml. This resulted in ANGLE being unable to be loaded from the APK, since ANGLE was not able to respond to the intent android.app.action.ANGLE_FOR_ANDROID which indicates it contains ANGLE libraries. The AndroidManifest.xml requires various flags like android:forceQueryable="true" so the APK can be accessed by the framework. The assets/ directory was removed, which contains 'a4a_rules.json' and is required by GraphicsEnvironment. This is added back. Bug: b/187342779 Change-Id: Ic7b758c92ed12750972c7e313729276a13f76032 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2906632 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 417d912a 2021-05-05T18:20:27 Remove Settings GUI from AOSP Builds and make product-specific The Settings GUI is being removed from the AOSP build to turn the ANGLE APK into essentially a container APK containing the necessary libraries. This reduces the APK size and reduces the risk of users enabling ANGLE by accident. Additionally, ANGLE is being marked product-specific to remove it from all AOSP builds. Bug: b/187345862 Change-Id: I6e1acb9c6e07b419d40aee43d7260060027999ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2876213 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten 57202fb0 2021-04-30T13:56:11 Fix Rolling ANGLE into AOSP Rolling ANGLE into AOSP currently generates several build errors. This CL fixes them. Bug: angleproject:5919 Bug: angleproject:5873 Change-Id: Ic24c3c27a2dd3a1db4d6d2e3642eb1b16148569a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2863883 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Lubosz Sarnecki 37752956 2021-02-11T16:12:48 Generators: Use fixed year in license headers. Remove dynamic year generation from generator scripts, as required by the Chromium C++ style guide. The dynamic year values were replaced by the current year at the time the file was created according to git log. The code to dynamically generate the year was removed. This patch also refreshes generated files and hashes. Bug: angleproject:5516 Change-Id: I735028bccb5c83217e92c380538f1abf0a906b2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690950 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jason Macnak d392af02 2021-01-12T10:08:31 Update roll AOSP scripts to reflect vulkan-deps subdirectory Performing a roll with this changes produces https://android-review.googlesource.com/c/1548235 Bug: b/147316305 Bug: angleproject:5456 Test: scripts/roll_aosp.sh && m ANGLE Change-Id: I0f5a698e81a1299abde7cfccb4e1467c8dc02aad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2625168 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jason Macnak 2c65da28 2021-01-08T11:49:18 Default roll_aosp.sh to copy artifacts to vendor partition ... to support using ANGLE as a native GL driver. Note: this will not affect devices installing the APK with `PRODUCT_PACKAGES += ANGLE` and will *not* also install the libs to vendor. Bug: b/147316305 Bug: angleproject:5456 Test: ./scripts/roll_aosp.sh and build in AOSP Change-Id: I98cab8d0735a4f66293ac063e0eef2ae7ddbee7b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2618529 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Kaiyi Li 8707811d 2020-12-01T11:50:56 Add an option to copy the artifact to vendor partition 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>
Trevor David Black e815afbf 2020-09-07T22:09:22 First pass at increasing inclusivity Link to the inclusivity rules https://source.android.com/setup/contribute/respectful-code Bug: b/162834212 Bug: chromium:1097198 Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Trevor Black <vantablack@google.com>
Tim Van Patten 43b951c8 2020-07-21T17:36:06 Remove third_party/angle/ from generate_android_bp.py 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>
Tim Van Patten 20eb9be5 2020-07-07T16:24:55 Generate Android.bp from multiple gn descriptions 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>
Geoff Lang 0652d0d6 2020-05-27T12:59:20 Fix non-existent required dependency TARGET module ANGLE has non-existent required: privapp_whitelist_com.android.angle Bug: b/7456955 Test: TH presubmit Change-Id: I828f154d2ff8126de8383ef56216436c29677729 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2218687 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 312e65e1 2020-04-30T12:38:01 Make sure all target names are unique in the generate Android.bp 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>
Tim Van Patten 868122c2 2020-04-10T13:17:44 Add 'java_api_finder' to Android.bp 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>
Geoff Lang cb6470f9 2020-04-01T09:44:35 Set sdk_version for cc_genrules used by modules with sdk_version set 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>
Geoff Lang 95a4ded5 2020-03-20T14:36:48 Android.bp: Ignore unknown warning flags. 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>
Geoff Lang 6ab0dbdf 2020-03-12T13:51:07 Rename ANGLE_defaults to ANGLE_java_defaults. 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>
Geoff Lang 14aaa1eb 2020-03-11T17:40:35 Refactor ANGLE target to allow GoogleANGLE to override it. 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>
Geoff Lang 9e5bbb38 2020-03-06T16:15:11 Use ANGLE's vulkan-headers dep when rolling ANGLE into Android. 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>
Geoff Lang 71903912 2020-03-06T16:12:17 Generate arch-specific defines in Android.bp 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>
Geoff Lang deb65a6f 2020-02-27T15:58:17 Add scripts for rolling and generating Android.bp for AOSP BUG=angleproject:2344 Change-Id: I379cc924a6126e22b16e4cb096026d881e06763d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2079195 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>