# Copyright 2018 The Dawn Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

buildconfig = "//build/config/BUILDCONFIG.gn"

default_args = {
  clang_use_chrome_plugins = false

  # Override the mac version so standalone Dawn compiles with at least 10.11
  # which allows us to not skip the -Wunguarded-availability warning and get
  # proper warnings for use of APIs that are 10.12 and above (even if
  # Chromium is still on 10.10).
  mac_deployment_target = "10.11.0"
  mac_min_system_version = "10.11.0"

  angle_enable_abseil = false
  angle_standalone = false
  angle_build_all = false
  angle_has_rapidjson = false
  angle_vulkan_headers_dir = "//third_party/vulkan-deps/vulkan-headers/src"
  angle_vulkan_loader_dir = "//third_party/vulkan-deps/vulkan-loader/src"
  angle_vulkan_tools_dir = "//third_party/vulkan-deps/vulkan-tools/src"
  angle_vulkan_validation_layers_dir =
      "//third_party/vulkan-deps/vulkan-validation-layers/src"

  vma_vulkan_headers_dir = "//third_party/vulkan-deps/vulkan-headers/src"
}

check_targets = [
  # Everything in BUILD.gn
  "//:*",

  # Everything in third_party/BUILD.gn
  "//third_party/:*",
]
