Edit

kc3-lang/angle/android/angle_apk.gni

Branch :

  • Show log

    Commit

  • Author : Tim Van Patten
    Date : 2019-02-21 19:21:09
    Hash : ee4fa078
    Message : Reland "Create Container ANGLE APK" This reverts commit 902ceed3998617e97aad25d6b632f9e34dff2644. Reason for revert: Re-landing this since the Chromium build fix has landed: https://bugs.chromium.org/p/chromium/issues/detail?id=933783#c29 Comment 29 by gbeaty@chromium.org, Today (13 minutes ago) Tim, you should be able to re-land your change now. Original change's description: > Revert "Create Container ANGLE APK" > > This reverts commit e82c857d38549da44de2c055e9e677a368e8793f. > > Reason for revert: > This is breaking the ANGLE build in the Chromium build process: > > https://bugs.chromium.org/p/chromium/issues/detail?id=933783#c6 > > Original change's description: > > Create Container ANGLE APK > > > > The ANGLE APK needs to be reverted back to just being a container > > for the ANGLE shared object libraries, since the rest of the APK > > contents are in the Android source tree. > > > > Bug: angleproject:3154 > > Test: 'adb sync' the APK on to a device > > Change-Id: Id245f1e3d269c71054d9759e8ba8be0532afe659 > > Reviewed-on: https://chromium-review.googlesource.com/c/1474341 > > Commit-Queue: Tim Van Patten <timvp@google.com> > > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> > > TBR=ynovikov@chromium.org,jmadill@google.com,cnorthrop@google.com,courtneygo@google.com,timvp@google.com > > Change-Id: I71a739faa2052a707a06bce616ab43a621d5a4ff > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:3154 > Reviewed-on: https://chromium-review.googlesource.com/c/1478333 > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Tim Van Patten <timvp@google.com> TBR=ynovikov@chromium.org,jmadill@google.com,cnorthrop@google.com,courtneygo@google.com,timvp@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:3154 Change-Id: If3a9abfb1c00aab3278437a233bef29d5febe5a5 Reviewed-on: https://chromium-review.googlesource.com/c/1480865 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>

  • android/angle_apk.gni
  • # Copyright 2018 The Chromium Authors. All rights reserved.
    # Use of this source code is governed by a BSD-style license that can be
    # found in the LICENSE file.
    
    import("//build/config/android/rules.gni")
    import("//third_party/angle/gni/angle.gni")
    
    vulkan_validation_layers = [
      "VkLayer_core_validation",
      "VkLayer_object_tracker",
      "VkLayer_parameter_validation",
      "VkLayer_threading",
      "VkLayer_unique_objects",
    ]
    
    angle_libraries = [
      "EGL",
      "GLESv1_CM",
      "GLESv2",
      "feature_support",
    ]
    
    template("angle_apk") {
      manifest_target_name = "${target_name}__manifest"
      manifest_path = "${target_gen_dir}/${target_name}/android/AndroidManifest.xml"
    
      jinja_template(manifest_target_name) {
        input = "//third_party/angle/android/AndroidManifest.xml.jinja2"
        output = manifest_path
        variables = [ "manifest_package=${invoker.package_name}" ]
      }
    
      android_resources("${invoker.package_name}_resources") {
        resource_dirs = [ "android/res" ]
        custom_package = "${invoker.package_name}"
      }
    
      android_assets("${invoker.package_name}_assets") {
        disable_compression = true
        sources = [
          "src/feature_support_util/a4a_rules.json",
        ]
      }
    
      android_apk(target_name) {
        forward_variables_from(invoker, "*")
        android_manifest = manifest_path
        android_manifest_dep = ":$manifest_target_name"
        deps = [
          ":${invoker.package_name}_assets",
          ":${invoker.package_name}_resources",
        ]
        if (symbol_level != 0) {
          deps += [ ":compressed_symbols" ]
          if (build_apk_secondary_abi && android_64bit_target_cpu) {
            deps += [ ":compressed_symbols($android_secondary_abi_toolchain)" ]
          }
        }
    
        uncompress_shared_libraries = true
    
        if (build_apk_secondary_abi && android_64bit_target_cpu) {
          if (symbol_level == 0) {
            secondary_abi_shared_libraries = []
            foreach(_library, angle_libraries) {
              secondary_abi_shared_libraries +=
                  [ "${angle_root}:lib${_library}${angle_libs_suffix}" +
                    "($android_secondary_abi_toolchain)" ]
            }
            if (angle_enable_vulkan_validation_layers) {
              foreach(_layer, vulkan_validation_layers) {
                secondary_abi_shared_libraries += [
                  "${angle_root}/third_party/vulkan-validation-layers:${_layer}" +
                      "($android_secondary_abi_toolchain)",
                ]
              }
            }
          } else {
            _secondary_out_dir = get_label_info(
                    ":compressed_symbols($android_secondary_abi_toolchain)",
                    "root_out_dir")
            secondary_abi_loadable_modules = []
            foreach(_library, angle_libraries) {
              secondary_abi_loadable_modules += [ "${_secondary_out_dir}/lib.compressed/lib${_library}${angle_libs_suffix}.so" ]
            }
            if (angle_enable_vulkan_validation_layers) {
              foreach(_layer, vulkan_validation_layers) {
                secondary_abi_loadable_modules +=
                    [ "${_secondary_out_dir}/lib.compressed/lib${_layer}.so" ]
              }
            }
          }
        }
    
        if (symbol_level == 0) {
          shared_libraries = []
          foreach(_library, angle_libraries) {
            shared_libraries +=
                [ "${angle_root}:lib${_library}${angle_libs_suffix}" ]
          }
          if (angle_enable_vulkan_validation_layers) {
            foreach(_layer, vulkan_validation_layers) {
              shared_libraries +=
                  [ "${angle_root}/third_party/vulkan-validation-layers:${_layer}" ]
            }
          }
        } else {
          loadable_modules = []
          foreach(_library, angle_libraries) {
            loadable_modules += [ "${root_out_dir}/lib.compressed/lib${_library}${angle_libs_suffix}.so" ]
          }
          if (angle_enable_vulkan_validation_layers) {
            foreach(_layer, vulkan_validation_layers) {
              loadable_modules +=
                  [ "${root_out_dir}/lib.compressed/lib${_layer}.so" ]
            }
          }
        }
      }
    }