authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-10-26 15:48:48-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-10-26 15:48:48-07:00
logc1ae9f40c728e769e804eabfcab0b40d6c0f67f2
tree7c7c82dc0c57213b588a9bd6f4580dec0b8776a1
parente83334274f1d35690e4546938aff065397347943

stage1: support "native" as the OS string in -target

This should help for bootstrapping purposes, intending to fix the macOS CI.

1 files changed, 27 insertions(+), 0 deletions(-)

src/stage1/target.cpp+27
...@@ -357,6 +357,33 @@ Error target_parse_arch(ZigLLVM_ArchType *out_arch, const char *arch_ptr, size_t...@@ -357,6 +357,33 @@ Error target_parse_arch(ZigLLVM_ArchType *out_arch, const char *arch_ptr, size_t
357}357}
358358
359Error target_parse_os(Os *out_os, const char *os_ptr, size_t os_len) {359Error target_parse_os(Os *out_os, const char *os_ptr, size_t os_len) {
360 if (mem_eql_str(os_ptr, os_len, "native")) {
361#if defined(ZIG_OS_DARWIN)
362 *out_os = OsMacOSX;
363 return ErrorNone;
364#elif defined(ZIG_OS_WINDOWS)
365 *out_os = OsWindows;
366 return ErrorNone;
367#elif defined(ZIG_OS_LINUX)
368 *out_os = OsLinux;
369 return ErrorNone;
370#elif defined(ZIG_OS_FREEBSD)
371 *out_os = OsFreeBSD;
372 return ErrorNone;
373#elif defined(ZIG_OS_NETBSD)
374 *out_os = OsNetBSD;
375 return ErrorNone;
376#elif defined(ZIG_OS_DRAGONFLY)
377 *out_os = OsDragonFly;
378 return ErrorNone;
379#elif defined(ZIG_OS_OPENBSD)
380 *out_os = OsOpenBSD;
381 return ErrorNone;
382#else
383 zig_panic("stage1 is unable to detect native target for this OS");
384#endif
385 }
386
360 for (size_t i = 0; i < array_length(os_list); i += 1) {387 for (size_t i = 0; i < array_length(os_list); i += 1) {
361 Os os = os_list[i];388 Os os = os_list[i];
362 const char *os_name = target_os_name(os);389 const char *os_name = target_os_name(os);