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

# See https://bugs.chromium.org/p/webrtc/issues/detail?id=5453.
# Some WebRTC targets require the 10.7 deployment version of the Mac SDK
# and a 10.11 min SDK, but those targets are only used in non-Chromium
# builds. We can remove this when Chromium drops 10.6 support and also
# requires 10.7.
mac_sdk_min_build_override = "10.10"
mac_deployment_target_build_override = "10.7"

# Variable that can be used to support multiple build scenarios, like having
# Chromium specific targets in a client project's GN file etc.
build_with_chromium = false

# Support different NDK locations in non-Chromium builds.
default_android_ndk_root = "//third_party/android_ndk"
default_android_ndk_version = "r12b"
default_android_ndk_major_version = 12

# PDFium builds don't support building java targets.
enable_java_templates = false

# Whether to use the neon FPU instruction set or not.
if (current_cpu == "arm") {
  arm_use_neon = true
}

# PDFium builds don't use Chromium's third_party/binutils.
linux_use_bundled_binutils_override = false

# PDFium just uses the Chromium suppression files for now.
asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc"
lsan_suppressions_file = "//build/sanitizers/lsan_suppressions.cc"
tsan_suppressions_file = "//build/sanitizers/tsan_suppressions.cc"

declare_args() {
  # Android 32-bit non-component, non-clang builds cannot have symbol_level=2
  # due to 4GiB file size limit, see https://crbug.com/648948.
  # Set this flag to true to skip the assertion.
  ignore_elf32_limitations = false

  # Use the system install of Xcode for tools like ibtool, libtool, etc.
  # This does not affect the compiler. When this variable is false, targets will
  # instead use a hermetic install of Xcode. [The hermetic install can be
  # obtained with gclient sync after setting the environment variable
  # FORCE_MAC_TOOLCHAIN].
  use_system_xcode = ""
}

if (use_system_xcode == "") {
  if (target_os == "mac") {
    _result = exec_script("//build/mac/should_use_hermetic_xcode.py",
                          [ target_os ],
                          "value")
    use_system_xcode = _result == 0
  }
  if (target_os == "ios") {
    use_system_xcode = true
  }
}
