.gn (3674B)
1 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 # 3 # Use of this source code is governed by a BSD-style license 4 # that can be found in the LICENSE file in the root of the source 5 # tree. An additional intellectual property rights grant can be found 6 # in the file PATENTS. All contributing project authors may 7 # be found in the AUTHORS file in the root of the source tree. 8 9 import("//chromium/build/dotfile_settings.gni") 10 11 # The location of the build configuration file. 12 buildconfig = "//chromium/build/config/BUILDCONFIG.gn" 13 14 # The python interpreter to use by default. On Windows, this will look 15 # for vpython3.exe and vpython3.bat. 16 script_executable = "python3" 17 18 # The secondary source root is a parallel directory tree where 19 # GN build files are placed when they can not be placed directly 20 # in the source tree, e.g. for third party source trees. 21 secondary_source = "//libwebrtc/" 22 23 # These are the targets to skip header checking by default. The files in targets 24 # matching these patterns (see "gn help label_pattern" for format) will not have 25 # their includes checked for proper dependencies when you run either 26 # "gn check" or "gn gen --check". 27 no_check_targets = [ 28 "//third_party/icu/*", 29 30 # TODO: crbug/326607005 - GTEST_HAS_ABSL is broken 31 "//third_party/googletest:gmock", 32 "//third_party/googletest:gtest", 33 ] 34 35 # These are the list of GN files that run exec_script. This allowlist exists 36 # to force additional review for new uses of exec_script, which is strongly 37 # discouraged except for gypi_to_gn calls. 38 exec_script_allowlist = build_dotfile_settings.exec_script_allowlist + 39 [ "//build_overrides/build.gni" ] 40 41 # Normally, we'd use 'if (!build_with_mozilla)', but that flag isn't 42 # available yet. 43 #export_compile_commands = [ "*" ] 44 45 default_args = { 46 # Webrtc does not support component builds because we are not using the 47 # template "component" but we rely directly on "rtc_static_library" and 48 # "rtc_shared_library". This means that we cannot use the chromium default 49 # value for this argument. 50 # This also means that the user can override this value using --args or 51 # the args.gn file but this setting will be ignored because we don't support 52 # component builds. 53 is_component_build = false 54 55 mac_sdk_min = "10.12" 56 57 ios_deployment_target = "14.0" 58 59 # The SDK API level, in contrast, is set by build/android/AndroidManifest.xml. 60 android_ndk_api_level = 23 61 62 # WebRTC does not provide the gflags dependency. Because libyuv uses it only 63 # for unittests, it can be disabled (see third_party/libyuv/BUILD.gn) 64 libyuv_use_gflags = false 65 66 enable_libaom = true 67 68 gtest_enable_absl_printers = true 69 70 # Differently from Chromium, WebRTC still support SDK 21. 71 default_min_sdk_version = 23 72 73 # Prevent jsoncpp to pass -Wno-deprecated-declarations to users 74 jsoncpp_no_deprecated_declarations = false 75 76 use_custom_libcxx = false 77 78 # Fixes the abi-revision issue. 79 # TODO(https://bugs.webrtc.org/14437): Remove this section if general 80 # Chromium fix resolves the problem. 81 fuchsia_sdk_readelf_exec = 82 "//third_party/llvm-build/Release+Asserts/bin/llvm-readelf" 83 84 # WebRTC doesn't use jni_zero's multiplexing. Since this causes an error 85 # let's temporarily disable it. 86 enable_jni_multiplexing = false 87 88 # use_fuzztest_wrapper adds a dependency to //base so we have to disable it. 89 use_fuzztest_wrapper = false 90 91 # Enable Rust in WebRTC 92 enable_rust = false # Mozilla 93 enable_rust_cxx = true 94 enable_chromium_prelude = true 95 96 # See context on https://issues.chromium.org/issues/415076048. 97 enable_js_protobuf = false 98 99 # Use Siso instead of Ninja. 100 use_siso = true 101 }