dart-sdk/build/config/sysroot.gni
なつき 67e9580b04 [infra] Add sysroot config for alpine linux riscv64
Closes https://github.com/dart-lang/sdk/pull/52680

GitOrigin-RevId: e78a58114f173c8de16c2c7ab27fd5f983286860
Change-Id: I666ba58c36185f7f543c507c07a9f5a7ef1f1a5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/308643
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-06-13 09:53:05 +00:00

74 lines
2.9 KiB
Plaintext

# 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("//build/linux/alpine-linux-x86-sysroot", root_build_dir)
} else if (current_cpu == "x64") {
target_sysroot = rebase_path("//build/linux/alpine-linux-x86_64-sysroot",
root_build_dir)
} else if (current_cpu == "arm") {
target_sysroot = rebase_path("//build/linux/alpine-linux-armv7-sysroot",
root_build_dir)
} else if (current_cpu == "arm64") {
target_sysroot = rebase_path("//build/linux/alpine-linux-aarch64-sysroot",
root_build_dir)
} else if (current_cpu == "riscv64") {
target_sysroot = rebase_path("//build/linux/alpine-linux-riscv64-sysroot",
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 == "x86") {
target_sysroot = rebase_path("//build/linux/debian_stretch_i386-sysroot",
root_build_dir)
} else if (current_cpu == "x64") {
target_sysroot = rebase_path("//build/linux/debian_stretch_amd64-sysroot",
root_build_dir)
} else if (current_cpu == "arm") {
target_sysroot = rebase_path("//build/linux/debian_stretch_arm-sysroot",
root_build_dir)
} else if (current_cpu == "arm64") {
target_sysroot = rebase_path("//build/linux/debian_stretch_arm64-sysroot",
root_build_dir)
} else {
print("There is no $dart_sysroot sysroot present for $current_cpu")
assert(false)
}
} 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("$llvm_android_toolchain_root/sysroot")
} else if (is_mac) {
import("//build/config/mac/mac_sdk.gni")
sysroot = mac_sdk_path
} else {
sysroot = ""
}