Edit

kc3-lang/angle/gni

Branch :

  • Show log

    Commit

  • Author : Courtney Goeltzenleuchter
    Date : 2018-05-18 16:48:50
    Hash : b001528f
    Message : Use libnativewindow for Android builds To avoid references to libEGL.so do not link with libandroid, use libnativewindow instead. libnativewindow is available in android-26 and newer. The appropriate library will be selected based on the ndk level configured. If ndk revision is 26 or higher, we'll link to libnativewindow otherwise use libandroid. The ANGLE apk needs to use 26 or higher. Bug: angleproject:2418 Change-Id: I96509e5d645d132a34734558cd0566f1812b615b Reviewed-on: https://chromium-review.googlesource.com/1066821 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

  • angle.gni
  • # Copyright 2015 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_overrides/build.gni")
    import("//build/config/ui.gni")  # import the use_x11 variable
    import("//build/config/sanitizers/sanitizers.gni")
    if (is_android) {
      import("//build/config/android/config.gni")
    }
    
    if (build_with_chromium) {
      angle_root = "//third_party/angle"
    
      import("//ui/ozone/ozone.gni")
    } else {
      angle_root = "//"
    
      declare_args() {
        ozone_platform_gbm = false
      }
    }
    
    # Subdirectory to place data files (e.g. layer JSON files).
    data_dir = "angledata"
    
    declare_args() {
      if (current_cpu == "arm64" || current_cpu == "x64" ||
          current_cpu == "mips64el") {
        angle_64bit_current_cpu = true
      } else if (current_cpu == "arm" || current_cpu == "x86" ||
                 current_cpu == "mipsel") {
        angle_64bit_current_cpu = false
      } else {
        assert(false, "Unknown current CPU: $current_cpu")
      }
    }
    
    declare_args() {
      if (!is_android) {
        ndk_supports_vulkan = false
        ndk_supports_nativewindow = false
      } else {
        ndk_supports_vulkan =
            (!angle_64bit_current_cpu && android32_ndk_api_level >= 24) ||
            (angle_64bit_current_cpu && android64_ndk_api_level >= 24)
        ndk_supports_nativewindow =
            (!angle_64bit_current_cpu && android32_ndk_api_level >= 26) ||
            (angle_64bit_current_cpu && android64_ndk_api_level >= 26)
      }
      angle_shared_libvulkan = false
      angle_libs_suffix = ""
    }
    
    declare_args() {
      angle_enable_d3d9 = is_win
      angle_enable_d3d11 = is_win
      angle_enable_gl = ozone_platform_gbm || !is_linux || (use_x11 && !is_chromeos)
    
      angle_enable_vulkan = is_win || (is_linux && use_x11 && !is_chromeos) ||
                            (is_android && ndk_supports_vulkan)
      angle_enable_null = true
      angle_enable_essl = true
      angle_enable_glsl = true
    }
    
    declare_args() {
      angle_enable_gl_null = angle_enable_gl
      angle_enable_hlsl = angle_enable_d3d9 || angle_enable_d3d11
    
      # Disable the layers in ubsan builds because of really slow builds.
      angle_enable_vulkan_validation_layers =
          angle_enable_vulkan && !is_ubsan && !is_tsan && !is_asan
    }
    
    if (is_win) {
      import("//build/config/win/visual_studio_version.gni")
    }