# 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.

# This files imports the overrides for Dawn but sets the defaults so that
# projects including Dawn don't have to set dirs if they happen to use the
# same.
# It takes advantage of GN's variable scoping rules to define global variables
# inside if constructs.

import("//build_overrides/dawn.gni")

if (!defined(dawn_standalone)) {
  dawn_standalone = false
}

if (!defined(dawn_has_build)) {
  dawn_has_build = true
}

if (!defined(dawn_root)) {
  dawn_root = get_path_info("..", "abspath")
}
dawn_gen_root = get_path_info("${dawn_root}", "gen_dir")

if (!defined(dawn_jinja2_dir)) {
  dawn_jinja2_dir = "//third_party/jinja2"
}

if (!defined(dawn_glfw_dir)) {
  dawn_glfw_dir = "//third_party/glfw"
}

if (!defined(dawn_glm_dir)) {
  dawn_glm_dir = "//third_party/glm"
}

if (!defined(dawn_googletest_dir)) {
  dawn_googletest_dir = "//third_party/googletest"
}

if (!defined(dawn_spirv_cross_dir)) {
  dawn_spirv_cross_dir = "//third_party/vulkan-deps/spirv-cross/src"
}

if (!defined(dawn_spirv_tools_dir)) {
  dawn_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
}

if (!defined(dawn_swiftshader_dir)) {
  # Default to swiftshader not being available.
  dawn_swiftshader_dir = ""
}

if (!defined(dawn_vulkan_loader_dir)) {
  # Default to the Vulkan loader not being available.
  dawn_vulkan_loader_dir = ""
}

if (!defined(dawn_vulkan_validation_layers_dir)) {
  # Default to VVLs not being available.
  dawn_vulkan_validation_layers_dir = ""
}

if (!defined(dawn_tint_dir)) {
  # Default to Tint being Dawn's DEPS
  dawn_tint_dir = "${dawn_root}/third_party/tint"
}