| # 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 = "" |
| } |