about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec/base/linux_musl.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_target/src/spec/base/linux_musl.rs')
-rw-r--r--compiler/rustc_target/src/spec/base/linux_musl.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/compiler/rustc_target/src/spec/base/linux_musl.rs b/compiler/rustc_target/src/spec/base/linux_musl.rs
new file mode 100644
index 00000000000..5117cadbee0
--- /dev/null
+++ b/compiler/rustc_target/src/spec/base/linux_musl.rs
@@ -0,0 +1,16 @@
+use crate::spec::crt_objects;
+use crate::spec::{base, LinkSelfContainedDefault, TargetOptions};
+
+pub fn opts() -> TargetOptions {
+    let mut base = base::linux::opts();
+
+    base.env = "musl".into();
+    base.pre_link_objects_self_contained = crt_objects::pre_musl_self_contained();
+    base.post_link_objects_self_contained = crt_objects::post_musl_self_contained();
+    base.link_self_contained = LinkSelfContainedDefault::InferredForMusl;
+
+    // These targets statically link libc by default
+    base.crt_static_default = true;
+
+    base
+}