From e1a88f190cee1daf2fb69b5c68293ea5ab7955ba Mon Sep 17 00:00:00 2001 From: Richard Feldman Date: Wed, 13 Apr 2022 00:45:22 -0400 Subject: [PATCH] Add a target triple for 32-bit musl linux --- cli/src/lib.rs | 2 +- compiler/build/src/target.rs | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cli/src/lib.rs b/cli/src/lib.rs index 36d89a5a9e..1b1fdeec80 100644 --- a/cli/src/lib.rs +++ b/cli/src/lib.rs @@ -558,7 +558,7 @@ impl Target { architecture: Architecture::X86_64, vendor: Vendor::Unknown, operating_system: OperatingSystem::Linux, - environment: Environment::Gnu, + environment: Environment::Musl, binary_format: BinaryFormat::Elf, }, Wasm32 => Triple { diff --git a/compiler/build/src/target.rs b/compiler/build/src/target.rs index cf79283410..398eec6316 100644 --- a/compiler/build/src/target.rs +++ b/compiler/build/src/target.rs @@ -5,7 +5,7 @@ use inkwell::{ }; #[cfg(feature = "llvm")] use roc_mono::ir::OptLevel; -use target_lexicon::{Architecture, OperatingSystem, Triple}; +use target_lexicon::{Architecture, Environment, OperatingSystem, Triple}; pub fn target_triple_str(target: &Triple) -> &'static str { // Best guide I've found on how to determine these magic strings: @@ -62,6 +62,12 @@ pub fn target_zig_str(target: &Triple) -> &'static str { operating_system: OperatingSystem::Linux, .. } => "x86_64-linux-gnu", + Triple { + architecture: Architecture::X86_32(target_lexicon::X86_32Architecture::I386), + operating_system: OperatingSystem::Linux, + environment: Environment::Musl, + .. + } => "i386-linux-musl", Triple { architecture: Architecture::X86_32(target_lexicon::X86_32Architecture::I386), operating_system: OperatingSystem::Linux,