stage1: make get_native_target go through self-hosted
This commit is contained in:
100
src/target.cpp
100
src/target.cpp
@@ -287,83 +287,6 @@ ZigLLVM_OSType get_llvm_os_type(Os os_type) {
|
||||
zig_unreachable();
|
||||
}
|
||||
|
||||
static Os get_zig_os_type(ZigLLVM_OSType os_type) {
|
||||
switch (os_type) {
|
||||
case ZigLLVM_UnknownOS:
|
||||
return OsFreestanding;
|
||||
case ZigLLVM_Ananas:
|
||||
return OsAnanas;
|
||||
case ZigLLVM_CloudABI:
|
||||
return OsCloudABI;
|
||||
case ZigLLVM_DragonFly:
|
||||
return OsDragonFly;
|
||||
case ZigLLVM_FreeBSD:
|
||||
return OsFreeBSD;
|
||||
case ZigLLVM_Fuchsia:
|
||||
return OsFuchsia;
|
||||
case ZigLLVM_IOS:
|
||||
return OsIOS;
|
||||
case ZigLLVM_KFreeBSD:
|
||||
return OsKFreeBSD;
|
||||
case ZigLLVM_Linux:
|
||||
return OsLinux;
|
||||
case ZigLLVM_Lv2:
|
||||
return OsLv2;
|
||||
case ZigLLVM_Darwin:
|
||||
case ZigLLVM_MacOSX:
|
||||
return OsMacOSX;
|
||||
case ZigLLVM_NetBSD:
|
||||
return OsNetBSD;
|
||||
case ZigLLVM_OpenBSD:
|
||||
return OsOpenBSD;
|
||||
case ZigLLVM_Solaris:
|
||||
return OsSolaris;
|
||||
case ZigLLVM_Win32:
|
||||
return OsWindows;
|
||||
case ZigLLVM_Haiku:
|
||||
return OsHaiku;
|
||||
case ZigLLVM_Minix:
|
||||
return OsMinix;
|
||||
case ZigLLVM_RTEMS:
|
||||
return OsRTEMS;
|
||||
case ZigLLVM_NaCl:
|
||||
return OsNaCl;
|
||||
case ZigLLVM_CNK:
|
||||
return OsCNK;
|
||||
case ZigLLVM_AIX:
|
||||
return OsAIX;
|
||||
case ZigLLVM_CUDA:
|
||||
return OsCUDA;
|
||||
case ZigLLVM_NVCL:
|
||||
return OsNVCL;
|
||||
case ZigLLVM_AMDHSA:
|
||||
return OsAMDHSA;
|
||||
case ZigLLVM_PS4:
|
||||
return OsPS4;
|
||||
case ZigLLVM_ELFIAMCU:
|
||||
return OsELFIAMCU;
|
||||
case ZigLLVM_TvOS:
|
||||
return OsTvOS;
|
||||
case ZigLLVM_WatchOS:
|
||||
return OsWatchOS;
|
||||
case ZigLLVM_Mesa3D:
|
||||
return OsMesa3D;
|
||||
case ZigLLVM_Contiki:
|
||||
return OsContiki;
|
||||
case ZigLLVM_AMDPAL:
|
||||
return OsAMDPAL;
|
||||
case ZigLLVM_HermitCore:
|
||||
return OsHermitCore;
|
||||
case ZigLLVM_Hurd:
|
||||
return OsHurd;
|
||||
case ZigLLVM_WASI:
|
||||
return OsWASI;
|
||||
case ZigLLVM_Emscripten:
|
||||
return OsEmscripten;
|
||||
}
|
||||
zig_unreachable();
|
||||
}
|
||||
|
||||
const char *target_os_name(Os os_type) {
|
||||
switch (os_type) {
|
||||
case OsFreestanding:
|
||||
@@ -447,29 +370,6 @@ Error target_parse_glibc_version(ZigGLibCVersion *glibc_ver, const char *text) {
|
||||
return ErrorNone;
|
||||
}
|
||||
|
||||
void get_native_target(ZigTarget *target) {
|
||||
// first zero initialize
|
||||
*target = {};
|
||||
|
||||
ZigLLVM_OSType os_type;
|
||||
ZigLLVM_ObjectFormatType oformat; // ignored; based on arch/os
|
||||
ZigLLVMGetNativeTarget(
|
||||
&target->arch,
|
||||
&target->vendor,
|
||||
&os_type,
|
||||
&target->abi,
|
||||
&oformat);
|
||||
target->os = get_zig_os_type(os_type);
|
||||
target->is_native = true;
|
||||
if (target->abi == ZigLLVM_UnknownEnvironment) {
|
||||
target->abi = target_default_abi(target->arch, target->os);
|
||||
}
|
||||
if (target_is_glibc(target)) {
|
||||
target->glibc_version = heap::c_allocator.create<ZigGLibCVersion>();
|
||||
target_init_default_glibc_version(target);
|
||||
}
|
||||
}
|
||||
|
||||
void target_init_default_glibc_version(ZigTarget *target) {
|
||||
*target->glibc_version = {2, 17, 0};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user