summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/config/sysroot.gni
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /third_party/libwebrtc/build/config/sysroot.gni
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/build/config/sysroot.gni')
-rw-r--r--third_party/libwebrtc/build/config/sysroot.gni81
1 files changed, 81 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/config/sysroot.gni b/third_party/libwebrtc/build/config/sysroot.gni
new file mode 100644
index 0000000000..9d2c828c63
--- /dev/null
+++ b/third_party/libwebrtc/build/config/sysroot.gni
@@ -0,0 +1,81 @@
+# Copyright (c) 2013 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.
+
+# This header file defines the "sysroot" variable which is the absolute path
+# of the sysroot. If no sysroot applies, the variable will be an empty string.
+
+import("//build/config/chrome_build.gni")
+
+declare_args() {
+ # The path of the sysroot that is applied when compiling using the target
+ # toolchain.
+ target_sysroot = ""
+
+ # The path to directory containing linux sysroot images.
+ target_sysroot_dir = "//build/linux"
+
+ # The path of the sysroot for the current toolchain. If empty, default
+ # sysroot is used.
+ sysroot = ""
+
+ # Controls default is_linux sysroot. If set to true, and sysroot
+ # is empty, default sysroot is calculated.
+ use_sysroot = target_cpu == "x86" || target_cpu == "x64" ||
+ target_cpu == "arm" || target_cpu == "arm64" ||
+ target_cpu == "mipsel" || target_cpu == "mips64el"
+}
+
+if (sysroot == "") {
+ if (current_os == target_os && target_cpu == target_cpu &&
+ target_sysroot != "") {
+ sysroot = target_sysroot
+ } else if (is_android) {
+ import("//build/config/android/config.gni")
+
+ # Android uses unified headers, and thus a single compile time sysroot
+ sysroot = "$android_toolchain_root/sysroot"
+ } else if ((is_linux || is_chromeos) && use_sysroot) {
+ # By default build against a sysroot image downloaded from Cloud Storage
+ # during gclient runhooks.
+ if (target_cpu == "x64") {
+ sysroot = "$target_sysroot_dir/debian_sid_amd64-sysroot"
+ } else if (target_cpu == "x86") {
+ sysroot = "$target_sysroot_dir/debian_sid_i386-sysroot"
+ } else if (target_cpu == "mipsel") {
+ sysroot = "$target_sysroot_dir/debian_sid_mips-sysroot"
+ } else if (target_cpu == "mips64el") {
+ sysroot = "$target_sysroot_dir/debian_sid_mips64el-sysroot"
+ } else if (target_cpu == "arm") {
+ sysroot = "$target_sysroot_dir/debian_sid_arm-sysroot"
+ } else if (target_cpu == "arm64") {
+ sysroot = "$target_sysroot_dir/debian_sid_arm64-sysroot"
+ } else {
+ assert(false, "No linux sysroot for cpu: $target_cpu")
+ }
+
+ if (sysroot != "") {
+ _script_arch = target_cpu
+ if (_script_arch == "x86") {
+ _script_arch = "i386"
+ } else if (_script_arch == "x64") {
+ _script_arch = "amd64"
+ }
+ #assert(
+ # exec_script("//build/dir_exists.py",
+ # [ rebase_path(sysroot) ],
+ # "string") == "True",
+ # "Missing sysroot ($sysroot). To fix, run: build/linux/sysroot_scripts/install-sysroot.py --arch=$_script_arch")
+ }
+ } else if (is_mac) {
+ import("//build/config/mac/mac_sdk.gni")
+ sysroot = mac_sdk_path
+ } else if (is_ios) {
+ import("//build/config/ios/ios_sdk.gni")
+ sysroot = ios_sdk_path
+ } else if (is_fuchsia) {
+ if (target_cpu == "arm64" || target_cpu == "x64") {
+ sysroot = "//third_party/fuchsia-sdk/sdk/arch/$target_cpu/sysroot"
+ }
+ }
+}