Browse Source

Replace `#if` with `if` where possible

gingerBill 3 years ago
parent
commit
ff60b752bd
1 changed files with 16 additions and 16 deletions
  1. 16 16
      src/main.cpp

+ 16 - 16
src/main.cpp

@@ -384,7 +384,7 @@ i32 linker_stage(lbGenerator *gen) {
 			// NOTE(zangent): Sometimes, you have to use -framework on MacOS.
 			//   This allows you to specify '-f' in a #foreign_system_library,
 			//   without having to implement any new syntax specifically for MacOS.
-			#if defined(GB_SYSTEM_OSX)
+			if (build_context.metrics.os == TargetOs_darwin) {
 				if (string_ends_with(lib, str_lit(".framework"))) {
 					// framework thingie
 					String lib_name = lib;
@@ -400,7 +400,7 @@ i32 linker_stage(lbGenerator *gen) {
 					// dynamic or static system lib, just link regularly searching system library paths
 					lib_str = gb_string_append_fmt(lib_str, " -l%.*s ", LIT(lib));
 				}
-			#else
+			} else {
 				// NOTE(vassvik): static libraries (.a files) in linux can be linked to directly using the full path,
 				//                since those are statically linked to at link time. shared libraries (.so) has to be
 				//                available at runtime wherever the executable is run, so we make require those to be
@@ -418,7 +418,7 @@ i32 linker_stage(lbGenerator *gen) {
 					// dynamic or static system lib, just link regularly searching system library paths
 					lib_str = gb_string_append_fmt(lib_str, " -l%.*s ", LIT(lib));
 				}
-			#endif
+			}
 		}
 
 		gbString object_files = gb_string_make(heap_allocator(), "");
@@ -456,11 +456,11 @@ i32 linker_stage(lbGenerator *gen) {
 			// line arguments prepared previously are incompatible with ld.
 			//
 			// Shared libraries are .dylib on MacOS and .so on Linux.
-			#if defined(GB_SYSTEM_OSX)
+			if (build_context.metrics.os == TargetOs_darwin) {
 				output_ext = STR_LIT(".dylib");
-			#else
+			} else {
 				output_ext = STR_LIT(".so");
-			#endif
+			}
 			link_settings = gb_string_appendc(link_settings, "-Wl,-init,'_odin_entry_point' ");
 			link_settings = gb_string_appendc(link_settings, "-Wl,-fini,'_odin_exit_point' ");
 		} else if (build_context.metrics.os != TargetOs_openbsd) {
@@ -477,24 +477,24 @@ i32 linker_stage(lbGenerator *gen) {
 
 		gbString platform_lib_str = gb_string_make(heap_allocator(), "");
 		defer (gb_string_free(platform_lib_str));
-		#if defined(GB_SYSTEM_OSX)
+		if (build_context.metrics.os == TargetOs_darwin) {
 			platform_lib_str = gb_string_appendc(platform_lib_str, "-lSystem -lm -Wl,-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -L/usr/local/lib");
-		#else
+		} else {
 			platform_lib_str = gb_string_appendc(platform_lib_str, "-lc -lm");
-		#endif
+		}
 
-		#if defined(GB_SYSTEM_OSX)
+		if (build_context.metrics.arch == TargetOs_darwin) {
 			// This sets a requirement of Mountain Lion and up, but the compiler doesn't work without this limit.
 			// NOTE: If you change this (although this minimum is as low as you can go with Odin working)
 			//       make sure to also change the 'mtriple' param passed to 'opt'
-			#if defined(GB_CPU_ARM)
-			link_settings = gb_string_appendc(link_settings, " -mmacosx-version-min=12.0.0 ");
-			#else
-			link_settings = gb_string_appendc(link_settings, " -mmacosx-version-min=10.8.0 ");
-			#endif
+			if (build_context.metrics.arch == TargetArch_amd64) {
+				link_settings = gb_string_appendc(link_settings, " -mmacosx-version-min=12.0.0 ");
+			} else {
+				link_settings = gb_string_appendc(link_settings, " -mmacosx-version-min=10.8.0 ");
+			}
 			// This points the linker to where the entry point is
 			link_settings = gb_string_appendc(link_settings, " -e _main ");
-		#endif
+		}
 
 		gbString link_command_line = gb_string_make(heap_allocator(), "clang -Wno-unused-command-line-argument ");
 		defer (gb_string_free(link_command_line));