From 8a7c2ea9d0e6b55bcfc5068ff2bf7c2a14ccfebf Mon Sep 17 00:00:00 2001 From: Laytan Laats Date: Tue, 2 Jan 2024 18:50:00 +0100 Subject: darwin: actually honor no-crt by not linking with `-lSystem -lm` --- src/linker.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/linker.cpp b/src/linker.cpp index ef9fa8e59..4ab4b2cd1 100644 --- a/src/linker.cpp +++ b/src/linker.cpp @@ -483,10 +483,13 @@ gb_internal i32 linker_stage(LinkerData *gen) { gbString platform_lib_str = gb_string_make(heap_allocator(), ""); defer (gb_string_free(platform_lib_str)); if (build_context.metrics.os == TargetOs_darwin) { - platform_lib_str = gb_string_appendc(platform_lib_str, "-lm -Wl,-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -L/usr/local/lib"); + platform_lib_str = gb_string_appendc(platform_lib_str, "-Wl,-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -L/usr/local/lib"); #if defined(GB_SYSTEM_OSX) - if(gen->needs_system_library_linked == 1) { - platform_lib_str = gb_string_appendc(platform_lib_str, " -lSystem "); + if(!build_context.no_crt) { + platform_lib_str = gb_string_appendc(platform_lib_str, " -lm "); + if(gen->needs_system_library_linked == 1) { + platform_lib_str = gb_string_appendc(platform_lib_str, " -lSystem "); + } } #endif } else { -- cgit v1.2.3