# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

import("//build/dotfile_settings.gni")

# The location of the build configuration file.
buildconfig = "//build/config/BUILDCONFIG.gn"

# The secondary source root is a parallel directory tree where
# GN build files are placed when they can not be placed directly
# in the source tree, e.g. for third party source trees.
secondary_source = "//build/secondary/"

# These are the targets to check headers for by default. The files in targets
# matching these patterns (see "gn help label_pattern" for format) will have
# their includes checked for proper dependencies when you run either
# "gn check" or "gn gen --check".
check_targets = [
  ":webrtc_common",
  "//api/*",
  "//audio/*",
  "//backup/*",
  "//call/*",
  "//common_audio/*",
  "//common_video/*",
  "//examples/*",
  "//logging/*",
  "//media/*",
  "//modules/*",
  "//ortc/*",
  "//p2p/*",
  "//pc/*",
  "//rtc_base/*",
  "//rtc_tools/*",

  # TODO(bugs.webrtc.org/8850): Remove "/android" to re-enable on objc.
  "//sdk/android/*",
  "//stats/*",
  "//system_wrappers/*",
  "//test/*",
  "//video/*",

  # TODO(bugs.webrtc.org/8850): re-enable when libyuv 'gn check' will be fixed.
  # "//third_party/libyuv/*",
]

# These are the list of GN files that run exec_script. This whitelist exists
# to force additional review for new uses of exec_script, which is strongly
# discouraged except for gypi_to_gn calls.
exec_script_whitelist = build_dotfile_settings.exec_script_whitelist +
                        [ "//build_overrides/build.gni" ]

default_args = {
  # Webrtc does not support component builds because we are not using the
  # template "component" but we rely directly on "rtc_static_library" and
  # "rtc_shared_library". This means that we cannot use the chromium default
  # value for this argument.
  # This also means that the user can override this value using --args or
  # the args.gn file but this setting will be ignored because we don't support
  # component builds.
  is_component_build = false

  mac_sdk_min = "10.12"

  # http://bugs.webrtc.org/8570
  ios_deployment_target = "9.0"

  # The SDK API level, in contrast, is set by build/android/AndroidManifest.xml.
  android32_ndk_api_level = 16
  android64_ndk_api_level = 21

  # WebRTC does not want to switch to C++14 yet.
  use_cxx11 = true

  # WebRTC relies on Chromium's Android test infrastructure.
  use_cxx11_on_android = false

  # WebRTC does not provide the gflags dependency. Because libyuv uses it only
  # for unittests, it can be disabled (see third_party/libyuv/BUILD.gn)
  libyuv_use_gflags = false
}
