blob: 2a6cab96af961d81ad8c8470f7a65f4b0dd95bcd [file] [log] [blame]
# 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.
declare_args() {
# The absolute path of the sysroot that is applied when compiling using
# the target toolchain.
target_sysroot = ""
# The type of sysroot to be used. Empty string means no sysroot.
# Supported sysroots: ["alpine","debian"]
dart_sysroot = ""
}
if (is_linux) {
if (dart_sysroot == "alpine") {
if (current_cpu == "x86") {
target_sysroot =
rebase_path("//buildtools/sysroot/alpine-linux-x86", root_build_dir)
} else if (current_cpu == "x64") {
target_sysroot = rebase_path("//buildtools/sysroot/alpine-linux-x86_64",
root_build_dir)
} else if (current_cpu == "arm") {
target_sysroot = rebase_path("//buildtools/sysroot/alpine-linux-armv7",
root_build_dir)
} else if (current_cpu == "arm64") {
target_sysroot = rebase_path("//buildtools/sysroot/alpine-linux-aarch64",
root_build_dir)
} else if (current_cpu == "riscv64") {
target_sysroot = rebase_path("//buildtools/sysroot/alpine-linux-riscv64",
root_build_dir)
} else {
print("There is no $dart_sysroot sysroot present for $current_cpu")
assert(false)
}
} else if (dart_sysroot == "debian") {
if (current_cpu == "riscv64") {
target_sysroot = rebase_path("//buildtools/sysroot/focal", root_build_dir)
} else {
# Updating to focal would increase the required libc from 2.17 to 2.28.
target_sysroot = rebase_path("//buildtools/sysroot/linux", root_build_dir)
}
} else if (dart_sysroot != "") {
print("There is no $dart_sysroot sysroot support")
assert(false)
}
}
if ((current_toolchain == host_toolchain ||
current_toolchain == default_toolchain) && target_sysroot != "") {
sysroot = target_sysroot
} else if (is_android) {
import("//build/config/android/config.gni")
sysroot = rebase_path("$android_toolchain_root/sysroot", root_build_dir)
} else if (is_mac) {
import("//build/config/mac/mac_sdk.gni")
sysroot = mac_sdk_path
} else {
sysroot = ""
}