From 9384af41986da8c1697acde643b3f899d7becaf2 Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Sun, 31 Jan 2021 12:46:17 +0100 Subject: [PATCH] Link examples to the correct libc when targeting Windows --- example/alloc_example.rs | 3 ++- example/mini_core.rs | 4 ++-- example/mod_bench.rs | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/example/alloc_example.rs b/example/alloc_example.rs index dc2ad4c676e8..f59600ebb330 100644 --- a/example/alloc_example.rs +++ b/example/alloc_example.rs @@ -11,7 +11,8 @@ use alloc_system::System; #[global_allocator] static ALLOC: System = System; -#[link(name = "c")] +#[cfg_attr(unix, link(name = "c"))] +#[cfg_attr(target_env = "msvc", link(name = "msvcrt"))] extern "C" { fn puts(s: *const u8) -> i32; } diff --git a/example/mini_core.rs b/example/mini_core.rs index 10cba9920562..002ec7e2e3d7 100644 --- a/example/mini_core.rs +++ b/example/mini_core.rs @@ -532,8 +532,8 @@ pub mod intrinsics { } pub mod libc { - #[cfg_attr(not(windows), link(name = "c"))] - #[cfg_attr(windows, link(name = "msvcrt"))] + #[cfg_attr(unix, link(name = "c"))] + #[cfg_attr(target_env = "msvc", link(name = "msvcrt"))] extern "C" { pub fn puts(s: *const i8) -> i32; pub fn printf(format: *const i8, ...) -> i32; diff --git a/example/mod_bench.rs b/example/mod_bench.rs index bc6522136234..152041aa9ed0 100644 --- a/example/mod_bench.rs +++ b/example/mod_bench.rs @@ -1,7 +1,8 @@ #![feature(start, box_syntax, core_intrinsics, lang_items)] #![no_std] -#[link(name = "c")] +#[cfg_attr(unix, link(name = "c"))] +#[cfg_attr(target_env = "msvc", link(name = "msvcrt"))] extern {} #[panic_handler]