tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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