--- a/build/toolchain/toolchain.gni +++ b/build/toolchain/toolchain.gni @@ -51,6 +51,10 @@ } } +declare_args() { + is_musl = false +} + # Extension for shared library files (including leading dot). if (is_apple) { shlib_extension = ".dylib" --- a/build/config/rust.gni +++ b/build/config/rust.gni @@ -196,7 +196,18 @@ # a cargo project that dumps the `CARGO_CFG_TARGET_ABI` from its build.rs. See # https://issues.chromium.org/u/1/issues/372512092#comment5 for an example. rust_abi_target = "" -if (is_linux || is_chromeos) { +if (is_musl) { + if (current_cpu == "arm64") { + rust_abi_target = "aarch64-unknown-linux-musl" + cargo_target_abi = "" + } else if (current_cpu == "x86") { + rust_abi_target = "i686-unknown-linux-musl" + cargo_target_abi = "" + } else if (current_cpu == "x64") { + rust_abi_target = "x86_64-unknown-linux-musl" + cargo_target_abi = "" + } +} else if (is_linux || is_chromeos) { if (current_cpu == "arm64") { rust_abi_target = "aarch64-unknown-linux-gnu" cargo_target_abi = ""