|
@@ -378,7 +378,7 @@ gb_global TargetMetrics target_linux_arm32 = {
|
|
|
TargetArch_arm32,
|
|
|
4,
|
|
|
8,
|
|
|
- str_lit("aapcs-linux-gnu"),
|
|
|
+ str_lit("arm-linux-gnu"),
|
|
|
str_lit("e-m:o-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"),
|
|
|
};
|
|
|
|
|
@@ -1127,6 +1127,15 @@ void init_build_context(TargetMetrics *cross_target) {
|
|
|
bc->link_flags = str_lit("-arch x86 ");
|
|
|
break;
|
|
|
}
|
|
|
+ } else if (bc->metrics.arch == TargetArch_arm32) {
|
|
|
+ switch (bc->metrics.os) {
|
|
|
+ case TargetOs_linux:
|
|
|
+ bc->link_flags = str_lit("-arch arm ");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ gb_printf_err("Compiler Error: Unsupported architecture\n");
|
|
|
+ gb_exit(1);
|
|
|
+ }
|
|
|
} else if (bc->metrics.arch == TargetArch_arm64) {
|
|
|
switch (bc->metrics.os) {
|
|
|
case TargetOs_darwin:
|
|
@@ -1214,27 +1223,28 @@ bool init_build_paths(String init_filename) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- GB_ASSERT(find_result.windows_sdk_um_library_path.len > 0);
|
|
|
- GB_ASSERT(find_result.windows_sdk_ucrt_library_path.len > 0);
|
|
|
+ if (find_result.windows_sdk_um_library_path.len > 0) {
|
|
|
+ GB_ASSERT(find_result.windows_sdk_ucrt_library_path.len > 0);
|
|
|
|
|
|
- if (find_result.windows_sdk_root.len > 0) {
|
|
|
- bc->build_paths[BuildPath_Win_SDK_Root] = path_from_string(ha, find_result.windows_sdk_root);
|
|
|
- }
|
|
|
+ if (find_result.windows_sdk_root.len > 0) {
|
|
|
+ bc->build_paths[BuildPath_Win_SDK_Root] = path_from_string(ha, find_result.windows_sdk_root);
|
|
|
+ }
|
|
|
|
|
|
- if (find_result.windows_sdk_um_library_path.len > 0) {
|
|
|
- bc->build_paths[BuildPath_Win_SDK_UM_Lib] = path_from_string(ha, find_result.windows_sdk_um_library_path);
|
|
|
- }
|
|
|
+ if (find_result.windows_sdk_um_library_path.len > 0) {
|
|
|
+ bc->build_paths[BuildPath_Win_SDK_UM_Lib] = path_from_string(ha, find_result.windows_sdk_um_library_path);
|
|
|
+ }
|
|
|
|
|
|
- if (find_result.windows_sdk_ucrt_library_path.len > 0) {
|
|
|
- bc->build_paths[BuildPath_Win_SDK_UCRT_Lib] = path_from_string(ha, find_result.windows_sdk_ucrt_library_path);
|
|
|
- }
|
|
|
+ if (find_result.windows_sdk_ucrt_library_path.len > 0) {
|
|
|
+ bc->build_paths[BuildPath_Win_SDK_UCRT_Lib] = path_from_string(ha, find_result.windows_sdk_ucrt_library_path);
|
|
|
+ }
|
|
|
|
|
|
- if (find_result.vs_exe_path.len > 0) {
|
|
|
- bc->build_paths[BuildPath_VS_EXE] = path_from_string(ha, find_result.vs_exe_path);
|
|
|
- }
|
|
|
+ if (find_result.vs_exe_path.len > 0) {
|
|
|
+ bc->build_paths[BuildPath_VS_EXE] = path_from_string(ha, find_result.vs_exe_path);
|
|
|
+ }
|
|
|
|
|
|
- if (find_result.vs_library_path.len > 0) {
|
|
|
- bc->build_paths[BuildPath_VS_LIB] = path_from_string(ha, find_result.vs_library_path);
|
|
|
+ if (find_result.vs_library_path.len > 0) {
|
|
|
+ bc->build_paths[BuildPath_VS_LIB] = path_from_string(ha, find_result.vs_library_path);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
gb_free(ha, find_result.windows_sdk_root.text);
|