diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2021-09-13 23:12:19 +0200 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2021-09-13 23:40:38 +0200 |
| commit | a38b636045c0384faad1565d47dfbf774821021e (patch) | |
| tree | a78193473fd5b725feaf2762b10cfc189a26a325 /src/windows_sdk.cpp | |
| parent | 760241ce50eaa9031339f6b591358b53f5797486 (diff) | |
| parent | f011f13933b72f4d63a5f635c7646b68beee726e (diff) | |
| download | zig-a38b636045c0384faad1565d47dfbf774821021e.tar.gz zig-a38b636045c0384faad1565d47dfbf774821021e.zip | |
Merge remote-tracking branch 'origin/master' into zld-incr
Diffstat (limited to 'src/windows_sdk.cpp')
| -rw-r--r-- | src/windows_sdk.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/windows_sdk.cpp b/src/windows_sdk.cpp index fd88374311..25620805cd 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(_M_ARM64) || defined(__aarch64__) +static const NativeArch native_arch = NativeArchAarch64; +#else +#error unsupported architecture #endif void zig_free_windows_sdk(struct ZigWindowsSDK *sdk) { @@ -116,6 +119,9 @@ static ZigFindWindowsSdkError find_msvc_lib_dir(ZigWindowsSDKPrivate *priv) { case NativeArchArm: out_append_ptr += sprintf(out_append_ptr, "arm\\"); break; + case NativeArchAarch64: + out_append_ptr += sprintf(out_append_ptr, "arm64\\"); + break; } sprintf(tmp_buf, "%s%s", output_path, "vcruntime.lib"); @@ -161,6 +167,9 @@ com_done:; case NativeArchArm: tmp_buf_append_ptr += sprintf(tmp_buf_append_ptr, "arm\\"); break; + case NativeArchAarch64: + tmp_buf_append_ptr += sprintf(tmp_buf_append_ptr, "arm64\\"); + break; } char *output_path = strdup(tmp_buf); @@ -204,6 +213,9 @@ static ZigFindWindowsSdkError find_10_version(ZigWindowsSDKPrivate *priv) { case NativeArchArm: option_name = "OptionId.DesktopCPParm"; break; + case NativeArchAarch64: + option_name = "OptionId.DesktopCPParm64"; + break; case NativeArchx86_64: option_name = "OptionId.DesktopCPPx64"; break; |
