This will generate a JSON compilation database for all build targets by default. This is useful for LSP servers and other tools for properly interacting with the build system. Previously, users have been able to this manually by appending a flag to gn gen. Bug: None Change-Id: I9cdf501b5c392314eae53010ef2d9928769809a8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355941 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Emil Lundmark <lndmrk@webrtc.org> Cr-Commit-Position: refs/heads/main@{#42558}
84 lines
3.1 KiB
Plaintext
84 lines
3.1 KiB
Plaintext
# 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 python interpreter to use by default. On Windows, this will look
|
|
# for vpython3.exe and vpython3.bat.
|
|
script_executable = "vpython3"
|
|
|
|
# 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 skip header checking by default. The files in targets
|
|
# matching these patterns (see "gn help label_pattern" for format) will not have
|
|
# their includes checked for proper dependencies when you run either
|
|
# "gn check" or "gn gen --check".
|
|
no_check_targets = [
|
|
"//third_party/icu/*",
|
|
|
|
# TODO(crbug.com/1151236) Remove once fixed.
|
|
"//base/allocator/partition_allocator:partition_alloc",
|
|
|
|
# TODO: crbug/326607005 - GTEST_HAS_ABSL is broken
|
|
"//third_party/googletest:gmock",
|
|
"//third_party/googletest:gtest",
|
|
]
|
|
|
|
# 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" ]
|
|
|
|
export_compile_commands = [ "*" ]
|
|
|
|
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"
|
|
|
|
ios_deployment_target = "12.0"
|
|
|
|
# The SDK API level, in contrast, is set by build/android/AndroidManifest.xml.
|
|
android32_ndk_api_level = 21
|
|
android64_ndk_api_level = 21
|
|
|
|
# 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
|
|
|
|
enable_libaom = true
|
|
|
|
gtest_enable_absl_printers = true
|
|
|
|
# Differently from Chromium, WebRTC still support SDK 21.
|
|
default_min_sdk_version = 21
|
|
|
|
# Prevent jsoncpp to pass -Wno-deprecated-declarations to users
|
|
jsoncpp_no_deprecated_declarations = false
|
|
|
|
# Fixes the abi-revision issue.
|
|
# TODO(https://bugs.webrtc.org/14437): Remove this section if general
|
|
# Chromium fix resolves the problem.
|
|
fuchsia_sdk_readelf_exec =
|
|
"//third_party/llvm-build/Release+Asserts/bin/llvm-readelf"
|
|
}
|