From 196b35668ca827732c93cc484426d70500ee3a41 Mon Sep 17 00:00:00 2001 From: gerigk Date: Thu, 21 Mar 2024 19:19:04 +0100 Subject: [PATCH 1/4] Add ODIN_CRT_MD flag for core:c/libc on windows --- core/c/libc/complex.odin | 6 +++++- core/c/libc/ctype.odin | 6 +++++- core/c/libc/errno.odin | 6 +++++- core/c/libc/math.odin | 6 +++++- core/c/libc/setjmp.odin | 6 +++++- core/c/libc/signal.odin | 6 +++++- core/c/libc/stdio.odin | 13 ++++++++++--- core/c/libc/stdlib.odin | 9 ++++++++- core/c/libc/string.odin | 6 +++++- core/c/libc/threads.odin | 13 ++++++++++--- core/c/libc/time.odin | 6 +++++- core/c/libc/uchar.odin | 6 +++++- core/c/libc/wchar.odin | 6 +++++- core/c/libc/wctype.odin | 6 +++++- 14 files changed, 83 insertions(+), 18 deletions(-) diff --git a/core/c/libc/complex.odin b/core/c/libc/complex.odin index 81d2b75be08..9da6c5dcdb0 100644 --- a/core/c/libc/complex.odin +++ b/core/c/libc/complex.odin @@ -3,7 +3,11 @@ package libc // 7.3 Complex arithmetic when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/ctype.odin b/core/c/libc/ctype.odin index 185385a5e7b..13a76539599 100644 --- a/core/c/libc/ctype.odin +++ b/core/c/libc/ctype.odin @@ -1,7 +1,11 @@ package libc when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/errno.odin b/core/c/libc/errno.odin index 7af7637067f..736dc4a4377 100644 --- a/core/c/libc/errno.odin +++ b/core/c/libc/errno.odin @@ -3,7 +3,11 @@ package libc // 7.5 Errors when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/math.odin b/core/c/libc/math.odin index 81d51728dcf..a22936aeefc 100644 --- a/core/c/libc/math.odin +++ b/core/c/libc/math.odin @@ -5,7 +5,11 @@ package libc import "base:intrinsics" when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/setjmp.odin b/core/c/libc/setjmp.odin index 68f5ac01057..3be7820eacd 100644 --- a/core/c/libc/setjmp.odin +++ b/core/c/libc/setjmp.odin @@ -3,7 +3,11 @@ package libc // 7.13 Nonlocal jumps when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/signal.odin b/core/c/libc/signal.odin index 186b74d8c4e..d0cdf84a350 100644 --- a/core/c/libc/signal.odin +++ b/core/c/libc/signal.odin @@ -3,7 +3,11 @@ package libc // 7.14 Signal handling when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/stdio.odin b/core/c/libc/stdio.odin index b83ddecc89f..c24752b1476 100644 --- a/core/c/libc/stdio.odin +++ b/core/c/libc/stdio.odin @@ -3,9 +3,16 @@ package libc import "core:io" when ODIN_OS == .Windows { - foreign import libc { - "system:libucrt.lib", - "system:legacy_stdio_definitions.lib", + when ODIN_CRT_MD { + foreign import libc { + "system:ucrt.lib", + "system:legacy_stdio_definitions.lib" + } + } else { + foreign import libc { + "system:libucrt.lib", + "system:legacy_stdio_definitions.lib" + } } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" diff --git a/core/c/libc/stdlib.odin b/core/c/libc/stdlib.odin index d797b874668..b4a330543fb 100644 --- a/core/c/libc/stdlib.odin +++ b/core/c/libc/stdlib.odin @@ -2,8 +2,15 @@ package libc // 7.22 General utilities +// Link ucrt.lib (/MD) instead of libucrt.lib (/MT) on windows +ODIN_CRT_MD :: #config(ODIN_CRT_MD, false) + when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/string.odin b/core/c/libc/string.odin index e6a959f7bbc..b9a3ea68c17 100644 --- a/core/c/libc/string.odin +++ b/core/c/libc/string.odin @@ -5,7 +5,11 @@ import "base:runtime" // 7.24 String handling when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/threads.odin b/core/c/libc/threads.odin index 8e33432346e..1b337cc4d53 100644 --- a/core/c/libc/threads.odin +++ b/core/c/libc/threads.odin @@ -6,9 +6,16 @@ thrd_start_t :: proc "c" (rawptr) -> int tss_dtor_t :: proc "c" (rawptr) when ODIN_OS == .Windows { - foreign import libc { - "system:libucrt.lib", - "system:msvcprt.lib", + when ODIN_CRT_MD { + foreign import libc { + "system:ucrt.lib", + "system:msvcprt.lib" + } + } else { + foreign import libc { + "system:libucrt.lib", + "system:msvcprt.lib" + } } thrd_success :: 0 // _Thrd_success diff --git a/core/c/libc/time.odin b/core/c/libc/time.odin index 4c4280f302e..2207c101c10 100644 --- a/core/c/libc/time.odin +++ b/core/c/libc/time.odin @@ -3,7 +3,11 @@ package libc // 7.27 Date and time when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/uchar.odin b/core/c/libc/uchar.odin index a10969ceb4f..3bced3c9e04 100644 --- a/core/c/libc/uchar.odin +++ b/core/c/libc/uchar.odin @@ -3,7 +3,11 @@ package libc // 7.28 Unicode utilities when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/wchar.odin b/core/c/libc/wchar.odin index f0dae720e67..16e208d4cb9 100644 --- a/core/c/libc/wchar.odin +++ b/core/c/libc/wchar.odin @@ -3,7 +3,11 @@ package libc // 7.29 Extended multibyte and wide character utilities when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { diff --git a/core/c/libc/wctype.odin b/core/c/libc/wctype.odin index cbce220d4be..81ec8e6291b 100644 --- a/core/c/libc/wctype.odin +++ b/core/c/libc/wctype.odin @@ -3,7 +3,11 @@ package libc // 7.30 Wide character classification and mapping utilities when ODIN_OS == .Windows { - foreign import libc "system:libucrt.lib" + when ODIN_CRT_MD { + foreign import libc "system:ucrt.lib" + } else { + foreign import libc "system:libucrt.lib" + } } else when ODIN_OS == .Darwin { foreign import libc "system:System.framework" } else { From 9ac3f8c8f6c7d8d2d5ee5f073d245b7607c4d255 Mon Sep 17 00:00:00 2001 From: gerigk Date: Thu, 21 Mar 2024 19:38:44 +0100 Subject: [PATCH 2/4] Add missing trailing commas --- core/c/libc/stdio.odin | 4 ++-- core/c/libc/threads.odin | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/c/libc/stdio.odin b/core/c/libc/stdio.odin index c24752b1476..57eb2e07a04 100644 --- a/core/c/libc/stdio.odin +++ b/core/c/libc/stdio.odin @@ -6,12 +6,12 @@ when ODIN_OS == .Windows { when ODIN_CRT_MD { foreign import libc { "system:ucrt.lib", - "system:legacy_stdio_definitions.lib" + "system:legacy_stdio_definitions.lib", } } else { foreign import libc { "system:libucrt.lib", - "system:legacy_stdio_definitions.lib" + "system:legacy_stdio_definitions.lib", } } } else when ODIN_OS == .Darwin { diff --git a/core/c/libc/threads.odin b/core/c/libc/threads.odin index 1b337cc4d53..085cc1daf59 100644 --- a/core/c/libc/threads.odin +++ b/core/c/libc/threads.odin @@ -9,12 +9,12 @@ when ODIN_OS == .Windows { when ODIN_CRT_MD { foreign import libc { "system:ucrt.lib", - "system:msvcprt.lib" + "system:msvcprt.lib", } } else { foreign import libc { "system:libucrt.lib", - "system:msvcprt.lib" + "system:msvcprt.lib", } } From d39ea9146f1a9c4b7e485541d7ef8fae6f7614e1 Mon Sep 17 00:00:00 2001 From: gerigk Date: Fri, 22 Mar 2024 19:45:23 +0100 Subject: [PATCH 3/4] Change flag name from ODIN_CRT_MD to ODIN_DYNAMIC_CRT --- core/c/libc/complex.odin | 2 +- core/c/libc/ctype.odin | 2 +- core/c/libc/errno.odin | 2 +- core/c/libc/math.odin | 2 +- core/c/libc/setjmp.odin | 2 +- core/c/libc/signal.odin | 2 +- core/c/libc/stdio.odin | 2 +- core/c/libc/stdlib.odin | 4 ++-- core/c/libc/string.odin | 2 +- core/c/libc/threads.odin | 2 +- core/c/libc/time.odin | 2 +- core/c/libc/uchar.odin | 2 +- core/c/libc/wchar.odin | 2 +- core/c/libc/wctype.odin | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/core/c/libc/complex.odin b/core/c/libc/complex.odin index 9da6c5dcdb0..a85106429c1 100644 --- a/core/c/libc/complex.odin +++ b/core/c/libc/complex.odin @@ -3,7 +3,7 @@ package libc // 7.3 Complex arithmetic when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/ctype.odin b/core/c/libc/ctype.odin index 13a76539599..e1e8ed5a44e 100644 --- a/core/c/libc/ctype.odin +++ b/core/c/libc/ctype.odin @@ -1,7 +1,7 @@ package libc when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/errno.odin b/core/c/libc/errno.odin index 736dc4a4377..d76bae590d0 100644 --- a/core/c/libc/errno.odin +++ b/core/c/libc/errno.odin @@ -3,7 +3,7 @@ package libc // 7.5 Errors when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/math.odin b/core/c/libc/math.odin index a22936aeefc..9ff941c0a23 100644 --- a/core/c/libc/math.odin +++ b/core/c/libc/math.odin @@ -5,7 +5,7 @@ package libc import "base:intrinsics" when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/setjmp.odin b/core/c/libc/setjmp.odin index 3be7820eacd..aebda6dc8d8 100644 --- a/core/c/libc/setjmp.odin +++ b/core/c/libc/setjmp.odin @@ -3,7 +3,7 @@ package libc // 7.13 Nonlocal jumps when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/signal.odin b/core/c/libc/signal.odin index d0cdf84a350..3923424dd53 100644 --- a/core/c/libc/signal.odin +++ b/core/c/libc/signal.odin @@ -3,7 +3,7 @@ package libc // 7.14 Signal handling when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/stdio.odin b/core/c/libc/stdio.odin index 57eb2e07a04..046a0c241c2 100644 --- a/core/c/libc/stdio.odin +++ b/core/c/libc/stdio.odin @@ -3,7 +3,7 @@ package libc import "core:io" when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc { "system:ucrt.lib", "system:legacy_stdio_definitions.lib", diff --git a/core/c/libc/stdlib.odin b/core/c/libc/stdlib.odin index b4a330543fb..9906872b205 100644 --- a/core/c/libc/stdlib.odin +++ b/core/c/libc/stdlib.odin @@ -3,10 +3,10 @@ package libc // 7.22 General utilities // Link ucrt.lib (/MD) instead of libucrt.lib (/MT) on windows -ODIN_CRT_MD :: #config(ODIN_CRT_MD, false) +ODIN_DYNAMIC_CRT :: #config(ODIN_DYNAMIC_CRT, false) when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/string.odin b/core/c/libc/string.odin index b9a3ea68c17..47a959ebac1 100644 --- a/core/c/libc/string.odin +++ b/core/c/libc/string.odin @@ -5,7 +5,7 @@ import "base:runtime" // 7.24 String handling when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/threads.odin b/core/c/libc/threads.odin index 085cc1daf59..6edf0dad126 100644 --- a/core/c/libc/threads.odin +++ b/core/c/libc/threads.odin @@ -6,7 +6,7 @@ thrd_start_t :: proc "c" (rawptr) -> int tss_dtor_t :: proc "c" (rawptr) when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc { "system:ucrt.lib", "system:msvcprt.lib", diff --git a/core/c/libc/time.odin b/core/c/libc/time.odin index 2207c101c10..37aa9cd2616 100644 --- a/core/c/libc/time.odin +++ b/core/c/libc/time.odin @@ -3,7 +3,7 @@ package libc // 7.27 Date and time when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/uchar.odin b/core/c/libc/uchar.odin index 3bced3c9e04..8b32203174a 100644 --- a/core/c/libc/uchar.odin +++ b/core/c/libc/uchar.odin @@ -3,7 +3,7 @@ package libc // 7.28 Unicode utilities when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/wchar.odin b/core/c/libc/wchar.odin index 16e208d4cb9..4651e0b7e8b 100644 --- a/core/c/libc/wchar.odin +++ b/core/c/libc/wchar.odin @@ -3,7 +3,7 @@ package libc // 7.29 Extended multibyte and wide character utilities when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/wctype.odin b/core/c/libc/wctype.odin index 81ec8e6291b..ffe56dd94b5 100644 --- a/core/c/libc/wctype.odin +++ b/core/c/libc/wctype.odin @@ -3,7 +3,7 @@ package libc // 7.30 Wide character classification and mapping utilities when ODIN_OS == .Windows { - when ODIN_CRT_MD { + when ODIN_DYNAMIC_CRT { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" From 101993c04d9b8a5a7fe3abf63a48d3b1bdea9b6a Mon Sep 17 00:00:00 2001 From: gerigk Date: Sun, 24 Mar 2024 15:58:22 +0100 Subject: [PATCH 4/4] Rename ODIN_DYNAMIC_CRT to WINDOWS_DYNAMIC_CRT --- core/c/libc/complex.odin | 2 +- core/c/libc/ctype.odin | 2 +- core/c/libc/errno.odin | 2 +- core/c/libc/math.odin | 2 +- core/c/libc/setjmp.odin | 2 +- core/c/libc/signal.odin | 2 +- core/c/libc/stdio.odin | 2 +- core/c/libc/stdlib.odin | 5 +---- core/c/libc/string.odin | 2 +- core/c/libc/threads.odin | 2 +- core/c/libc/time.odin | 2 +- core/c/libc/uchar.odin | 2 +- core/c/libc/wchar.odin | 2 +- core/c/libc/wctype.odin | 2 +- 14 files changed, 14 insertions(+), 17 deletions(-) diff --git a/core/c/libc/complex.odin b/core/c/libc/complex.odin index a85106429c1..77b3c320009 100644 --- a/core/c/libc/complex.odin +++ b/core/c/libc/complex.odin @@ -3,7 +3,7 @@ package libc // 7.3 Complex arithmetic when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/ctype.odin b/core/c/libc/ctype.odin index e1e8ed5a44e..b5ae6af2a53 100644 --- a/core/c/libc/ctype.odin +++ b/core/c/libc/ctype.odin @@ -1,7 +1,7 @@ package libc when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/errno.odin b/core/c/libc/errno.odin index d76bae590d0..35e2c5b1e82 100644 --- a/core/c/libc/errno.odin +++ b/core/c/libc/errno.odin @@ -3,7 +3,7 @@ package libc // 7.5 Errors when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/math.odin b/core/c/libc/math.odin index 9ff941c0a23..fa41f46df72 100644 --- a/core/c/libc/math.odin +++ b/core/c/libc/math.odin @@ -5,7 +5,7 @@ package libc import "base:intrinsics" when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/setjmp.odin b/core/c/libc/setjmp.odin index aebda6dc8d8..7cbd18384af 100644 --- a/core/c/libc/setjmp.odin +++ b/core/c/libc/setjmp.odin @@ -3,7 +3,7 @@ package libc // 7.13 Nonlocal jumps when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/signal.odin b/core/c/libc/signal.odin index 3923424dd53..c7c5b646459 100644 --- a/core/c/libc/signal.odin +++ b/core/c/libc/signal.odin @@ -3,7 +3,7 @@ package libc // 7.14 Signal handling when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/stdio.odin b/core/c/libc/stdio.odin index 046a0c241c2..41c7eceb3bf 100644 --- a/core/c/libc/stdio.odin +++ b/core/c/libc/stdio.odin @@ -3,7 +3,7 @@ package libc import "core:io" when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc { "system:ucrt.lib", "system:legacy_stdio_definitions.lib", diff --git a/core/c/libc/stdlib.odin b/core/c/libc/stdlib.odin index 9906872b205..7eb18544628 100644 --- a/core/c/libc/stdlib.odin +++ b/core/c/libc/stdlib.odin @@ -2,11 +2,8 @@ package libc // 7.22 General utilities -// Link ucrt.lib (/MD) instead of libucrt.lib (/MT) on windows -ODIN_DYNAMIC_CRT :: #config(ODIN_DYNAMIC_CRT, false) - when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/string.odin b/core/c/libc/string.odin index 47a959ebac1..3e356055157 100644 --- a/core/c/libc/string.odin +++ b/core/c/libc/string.odin @@ -5,7 +5,7 @@ import "base:runtime" // 7.24 String handling when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/threads.odin b/core/c/libc/threads.odin index 6edf0dad126..ed1defc752f 100644 --- a/core/c/libc/threads.odin +++ b/core/c/libc/threads.odin @@ -6,7 +6,7 @@ thrd_start_t :: proc "c" (rawptr) -> int tss_dtor_t :: proc "c" (rawptr) when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc { "system:ucrt.lib", "system:msvcprt.lib", diff --git a/core/c/libc/time.odin b/core/c/libc/time.odin index 37aa9cd2616..f4e87f4cba7 100644 --- a/core/c/libc/time.odin +++ b/core/c/libc/time.odin @@ -3,7 +3,7 @@ package libc // 7.27 Date and time when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/uchar.odin b/core/c/libc/uchar.odin index 8b32203174a..0d319f39768 100644 --- a/core/c/libc/uchar.odin +++ b/core/c/libc/uchar.odin @@ -3,7 +3,7 @@ package libc // 7.28 Unicode utilities when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/wchar.odin b/core/c/libc/wchar.odin index 4651e0b7e8b..dee7db47630 100644 --- a/core/c/libc/wchar.odin +++ b/core/c/libc/wchar.odin @@ -3,7 +3,7 @@ package libc // 7.29 Extended multibyte and wide character utilities when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib" diff --git a/core/c/libc/wctype.odin b/core/c/libc/wctype.odin index ffe56dd94b5..eaa9a810de5 100644 --- a/core/c/libc/wctype.odin +++ b/core/c/libc/wctype.odin @@ -3,7 +3,7 @@ package libc // 7.30 Wide character classification and mapping utilities when ODIN_OS == .Windows { - when ODIN_DYNAMIC_CRT { + when #config(WINDOWS_DYNAMIC_CRT, false) { foreign import libc "system:ucrt.lib" } else { foreign import libc "system:libucrt.lib"