From 375619820ecb8e34d38749fb4dc339258b2766a6 Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Tue, 7 Sep 2021 14:27:50 -0600 Subject: changes to build zig-bootstrap aarch64-windows --- src/windows_sdk.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src/windows_sdk.cpp') diff --git a/src/windows_sdk.cpp b/src/windows_sdk.cpp index fd88374311..305e3b9e54 100644 --- a/src/windows_sdk.cpp +++ b/src/windows_sdk.cpp @@ -23,16 +23,19 @@ enum NativeArch { NativeArchArm, NativeArchi386, NativeArchx86_64, + NativeArchAarch64, }; #if defined(_M_ARM) || defined(__arm_) static const NativeArch native_arch = NativeArchArm; -#endif -#if defined(_M_IX86) || defined(__i386__) +#elif defined(_M_IX86) || defined(__i386__) static const NativeArch native_arch = NativeArchi386; -#endif -#if defined(_M_X64) || defined(__x86_64__) +#elif defined(_M_X64) || defined(__x86_64__) static const NativeArch native_arch = NativeArchx86_64; +#elif defined(__aarch64__) +static const NativeArch native_arch = NativeArchAarch64; +#else +#error unsupported architecture #endif void zig_free_windows_sdk(struct ZigWindowsSDK *sdk) { @@ -116,6 +119,10 @@ static ZigFindWindowsSdkError find_msvc_lib_dir(ZigWindowsSDKPrivate *priv) { case NativeArchArm: out_append_ptr += sprintf(out_append_ptr, "arm\\"); break; + case NativeArchAarch64: + // TODO: is this right? + out_append_ptr += sprintf(out_append_ptr, "aarch64\\"); + break; } sprintf(tmp_buf, "%s%s", output_path, "vcruntime.lib"); @@ -161,6 +168,10 @@ com_done:; case NativeArchArm: tmp_buf_append_ptr += sprintf(tmp_buf_append_ptr, "arm\\"); break; + case NativeArchAarch64: + // TODO: is this right? + tmp_buf_append_ptr += sprintf(tmp_buf_append_ptr, "aarch64\\"); + break; } char *output_path = strdup(tmp_buf); @@ -204,6 +215,10 @@ static ZigFindWindowsSdkError find_10_version(ZigWindowsSDKPrivate *priv) { case NativeArchArm: option_name = "OptionId.DesktopCPParm"; break; + case NativeArchAarch64: + // TODO: is this right? + option_name = "OptionId.DesktopCPParm64"; + break; case NativeArchx86_64: option_name = "OptionId.DesktopCPPx64"; break; -- cgit v1.2.3 From 343547d4a4cf8a98b6380881aa310fa7868e7486 Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Tue, 7 Sep 2021 21:49:08 -0600 Subject: finalize windows_sdk paths based on snickler suggestions --- src/windows_sdk.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/windows_sdk.cpp') diff --git a/src/windows_sdk.cpp b/src/windows_sdk.cpp index 305e3b9e54..25620805cd 100644 --- a/src/windows_sdk.cpp +++ b/src/windows_sdk.cpp @@ -32,7 +32,7 @@ static const NativeArch native_arch = NativeArchArm; static const NativeArch native_arch = NativeArchi386; #elif defined(_M_X64) || defined(__x86_64__) static const NativeArch native_arch = NativeArchx86_64; -#elif defined(__aarch64__) +#elif defined(_M_ARM64) || defined(__aarch64__) static const NativeArch native_arch = NativeArchAarch64; #else #error unsupported architecture @@ -120,8 +120,7 @@ static ZigFindWindowsSdkError find_msvc_lib_dir(ZigWindowsSDKPrivate *priv) { out_append_ptr += sprintf(out_append_ptr, "arm\\"); break; case NativeArchAarch64: - // TODO: is this right? - out_append_ptr += sprintf(out_append_ptr, "aarch64\\"); + out_append_ptr += sprintf(out_append_ptr, "arm64\\"); break; } sprintf(tmp_buf, "%s%s", output_path, "vcruntime.lib"); @@ -169,8 +168,7 @@ com_done:; tmp_buf_append_ptr += sprintf(tmp_buf_append_ptr, "arm\\"); break; case NativeArchAarch64: - // TODO: is this right? - tmp_buf_append_ptr += sprintf(tmp_buf_append_ptr, "aarch64\\"); + tmp_buf_append_ptr += sprintf(tmp_buf_append_ptr, "arm64\\"); break; } @@ -216,7 +214,6 @@ static ZigFindWindowsSdkError find_10_version(ZigWindowsSDKPrivate *priv) { option_name = "OptionId.DesktopCPParm"; break; case NativeArchAarch64: - // TODO: is this right? option_name = "OptionId.DesktopCPParm64"; break; case NativeArchx86_64: -- cgit v1.2.3