| author | |
| committer | |
| log | d45ea4d89d7232fc4bcf56a5e088d7d6b5004ebb |
| tree | 9111983824c5bb0bf2eb6481b3dcdfc52a632271 |
| parent | 3683ba87ac5e5dfb6ea65c21c9fb714ed0582124 |
| signature | Commit is signed but in an unrecognized format. |
6 files changed, 110 insertions(+), 105 deletions(-)
lib/std/special/init-exe/src/main.zig+1-1| ... | @@ -1,5 +1,5 @@ | ... | @@ -1,5 +1,5 @@ |
| 1 | const std = @import("std"); | 1 | const std = @import("std"); |
| 2 | 2 | ||
| 3 | pub fn main() anyerror!void { | 3 | pub fn main() anyerror!void { |
| 4 | std.debug.warn("All your base are belong to us.\n", .{}); | 4 | std.debug.warn("All your codebase are belong to us.\n", .{}); |
| 5 | } | 5 | } |
lib/std/target.zig+1-1| ... | @@ -1215,8 +1215,8 @@ pub const Target = struct { | ... | @@ -1215,8 +1215,8 @@ pub const Target = struct { |
| 1215 | .uefi, | 1215 | .uefi, |
| 1216 | .windows, | 1216 | .windows, |
| 1217 | .emscripten, | 1217 | .emscripten, |
| 1218 | .other, | ||
| 1219 | .wasi, | 1218 | .wasi, |
| 1219 | .other, | ||
| 1220 | => return null, | 1220 | => return null, |
| 1221 | 1221 | ||
| 1222 | // TODO go over each item in this list and either move it to the above list, or | 1222 | // TODO go over each item in this list and either move it to the above list, or |
src/main.cpp+8-2| ... | @@ -500,7 +500,10 @@ static int main0(int argc, char **argv) { | ... | @@ -500,7 +500,10 @@ static int main0(int argc, char **argv) { |
| 500 | os_path_join(get_zig_special_dir(zig_lib_dir), buf_create_from_str("build_runner.zig"), build_runner_path); | 500 | os_path_join(get_zig_special_dir(zig_lib_dir), buf_create_from_str("build_runner.zig"), build_runner_path); |
| 501 | 501 | ||
| 502 | ZigTarget target; | 502 | ZigTarget target; |
| 503 | get_native_target(&target); | 503 | if ((err = target_parse_triple(&target, "native", nullptr))) { |
| 504 | fprintf(stderr, "Unable to get native target: %s\n", err_str(err)); | ||
| 505 | return EXIT_FAILURE; | ||
| 506 | } | ||
| 504 | 507 | ||
| 505 | Buf *build_file_buf = buf_create_from_str((build_file != nullptr) ? build_file : "build.zig"); | 508 | Buf *build_file_buf = buf_create_from_str((build_file != nullptr) ? build_file : "build.zig"); |
| 506 | Buf build_file_abs = os_path_resolve(&build_file_buf, 1); | 509 | Buf build_file_abs = os_path_resolve(&build_file_buf, 1); |
| ... | @@ -1337,7 +1340,10 @@ static int main0(int argc, char **argv) { | ... | @@ -1337,7 +1340,10 @@ static int main0(int argc, char **argv) { |
| 1337 | return main_exit(root_progress_node, EXIT_SUCCESS); | 1340 | return main_exit(root_progress_node, EXIT_SUCCESS); |
| 1338 | } else if (cmd == CmdTest) { | 1341 | } else if (cmd == CmdTest) { |
| 1339 | ZigTarget native; | 1342 | ZigTarget native; |
| 1340 | get_native_target(&native); | 1343 | if ((err = target_parse_triple(&native, "native", nullptr))) { |
| 1344 | fprintf(stderr, "Unable to get native target: %s\n", err_str(err)); | ||
| 1345 | return EXIT_FAILURE; | ||
| 1346 | } | ||
| 1341 | 1347 | ||
| 1342 | g->enable_cache = get_cache_opt(enable_cache, output_dir == nullptr); | 1348 | g->enable_cache = get_cache_opt(enable_cache, output_dir == nullptr); |
| 1343 | codegen_build_and_link(g); | 1349 | codegen_build_and_link(g); |
src/stage2.cpp+100| ... | @@ -91,6 +91,106 @@ void stage2_progress_complete_one(Stage2ProgressNode *node) {} | ... | @@ -91,6 +91,106 @@ void stage2_progress_complete_one(Stage2ProgressNode *node) {} |
| 91 | void stage2_progress_disable_tty(Stage2Progress *progress) {} | 91 | void stage2_progress_disable_tty(Stage2Progress *progress) {} |
| 92 | void stage2_progress_update_node(Stage2ProgressNode *node, size_t completed_count, size_t estimated_total_items){} | 92 | void stage2_progress_update_node(Stage2ProgressNode *node, size_t completed_count, size_t estimated_total_items){} |
| 93 | 93 | ||
| 94 | static Os get_zig_os_type(ZigLLVM_OSType os_type) { | ||
| 95 | switch (os_type) { | ||
| 96 | case ZigLLVM_UnknownOS: | ||
| 97 | return OsFreestanding; | ||
| 98 | case ZigLLVM_Ananas: | ||
| 99 | return OsAnanas; | ||
| 100 | case ZigLLVM_CloudABI: | ||
| 101 | return OsCloudABI; | ||
| 102 | case ZigLLVM_DragonFly: | ||
| 103 | return OsDragonFly; | ||
| 104 | case ZigLLVM_FreeBSD: | ||
| 105 | return OsFreeBSD; | ||
| 106 | case ZigLLVM_Fuchsia: | ||
| 107 | return OsFuchsia; | ||
| 108 | case ZigLLVM_IOS: | ||
| 109 | return OsIOS; | ||
| 110 | case ZigLLVM_KFreeBSD: | ||
| 111 | return OsKFreeBSD; | ||
| 112 | case ZigLLVM_Linux: | ||
| 113 | return OsLinux; | ||
| 114 | case ZigLLVM_Lv2: | ||
| 115 | return OsLv2; | ||
| 116 | case ZigLLVM_Darwin: | ||
| 117 | case ZigLLVM_MacOSX: | ||
| 118 | return OsMacOSX; | ||
| 119 | case ZigLLVM_NetBSD: | ||
| 120 | return OsNetBSD; | ||
| 121 | case ZigLLVM_OpenBSD: | ||
| 122 | return OsOpenBSD; | ||
| 123 | case ZigLLVM_Solaris: | ||
| 124 | return OsSolaris; | ||
| 125 | case ZigLLVM_Win32: | ||
| 126 | return OsWindows; | ||
| 127 | case ZigLLVM_Haiku: | ||
| 128 | return OsHaiku; | ||
| 129 | case ZigLLVM_Minix: | ||
| 130 | return OsMinix; | ||
| 131 | case ZigLLVM_RTEMS: | ||
| 132 | return OsRTEMS; | ||
| 133 | case ZigLLVM_NaCl: | ||
| 134 | return OsNaCl; | ||
| 135 | case ZigLLVM_CNK: | ||
| 136 | return OsCNK; | ||
| 137 | case ZigLLVM_AIX: | ||
| 138 | return OsAIX; | ||
| 139 | case ZigLLVM_CUDA: | ||
| 140 | return OsCUDA; | ||
| 141 | case ZigLLVM_NVCL: | ||
| 142 | return OsNVCL; | ||
| 143 | case ZigLLVM_AMDHSA: | ||
| 144 | return OsAMDHSA; | ||
| 145 | case ZigLLVM_PS4: | ||
| 146 | return OsPS4; | ||
| 147 | case ZigLLVM_ELFIAMCU: | ||
| 148 | return OsELFIAMCU; | ||
| 149 | case ZigLLVM_TvOS: | ||
| 150 | return OsTvOS; | ||
| 151 | case ZigLLVM_WatchOS: | ||
| 152 | return OsWatchOS; | ||
| 153 | case ZigLLVM_Mesa3D: | ||
| 154 | return OsMesa3D; | ||
| 155 | case ZigLLVM_Contiki: | ||
| 156 | return OsContiki; | ||
| 157 | case ZigLLVM_AMDPAL: | ||
| 158 | return OsAMDPAL; | ||
| 159 | case ZigLLVM_HermitCore: | ||
| 160 | return OsHermitCore; | ||
| 161 | case ZigLLVM_Hurd: | ||
| 162 | return OsHurd; | ||
| 163 | case ZigLLVM_WASI: | ||
| 164 | return OsWASI; | ||
| 165 | case ZigLLVM_Emscripten: | ||
| 166 | return OsEmscripten; | ||
| 167 | } | ||
| 168 | zig_unreachable(); | ||
| 169 | } | ||
| 170 | |||
| 171 | static void get_native_target(ZigTarget *target) { | ||
| 172 | // first zero initialize | ||
| 173 | *target = {}; | ||
| 174 | |||
| 175 | ZigLLVM_OSType os_type; | ||
| 176 | ZigLLVM_ObjectFormatType oformat; // ignored; based on arch/os | ||
| 177 | ZigLLVMGetNativeTarget( | ||
| 178 | &target->arch, | ||
| 179 | &target->vendor, | ||
| 180 | &os_type, | ||
| 181 | &target->abi, | ||
| 182 | &oformat); | ||
| 183 | target->os = get_zig_os_type(os_type); | ||
| 184 | target->is_native = true; | ||
| 185 | if (target->abi == ZigLLVM_UnknownEnvironment) { | ||
| 186 | target->abi = target_default_abi(target->arch, target->os); | ||
| 187 | } | ||
| 188 | if (target_is_glibc(target)) { | ||
| 189 | target->glibc_version = heap::c_allocator.create<ZigGLibCVersion>(); | ||
| 190 | target_init_default_glibc_version(target); | ||
| 191 | } | ||
| 192 | } | ||
| 193 | |||
| 94 | Error stage2_target_parse(struct ZigTarget *target, const char *zig_triple, const char *mcpu) { | 194 | Error stage2_target_parse(struct ZigTarget *target, const char *zig_triple, const char *mcpu) { |
| 95 | Error err; | 195 | Error err; |
| 96 | 196 |
src/target.cpp-100| ... | @@ -287,83 +287,6 @@ ZigLLVM_OSType get_llvm_os_type(Os os_type) { | ... | @@ -287,83 +287,6 @@ ZigLLVM_OSType get_llvm_os_type(Os os_type) { |
| 287 | zig_unreachable(); | 287 | zig_unreachable(); |
| 288 | } | 288 | } |
| 289 | 289 | ||
| 290 | static Os get_zig_os_type(ZigLLVM_OSType os_type) { | ||
| 291 | switch (os_type) { | ||
| 292 | case ZigLLVM_UnknownOS: | ||
| 293 | return OsFreestanding; | ||
| 294 | case ZigLLVM_Ananas: | ||
| 295 | return OsAnanas; | ||
| 296 | case ZigLLVM_CloudABI: | ||
| 297 | return OsCloudABI; | ||
| 298 | case ZigLLVM_DragonFly: | ||
| 299 | return OsDragonFly; | ||
| 300 | case ZigLLVM_FreeBSD: | ||
| 301 | return OsFreeBSD; | ||
| 302 | case ZigLLVM_Fuchsia: | ||
| 303 | return OsFuchsia; | ||
| 304 | case ZigLLVM_IOS: | ||
| 305 | return OsIOS; | ||
| 306 | case ZigLLVM_KFreeBSD: | ||
| 307 | return OsKFreeBSD; | ||
| 308 | case ZigLLVM_Linux: | ||
| 309 | return OsLinux; | ||
| 310 | case ZigLLVM_Lv2: | ||
| 311 | return OsLv2; | ||
| 312 | case ZigLLVM_Darwin: | ||
| 313 | case ZigLLVM_MacOSX: | ||
| 314 | return OsMacOSX; | ||
| 315 | case ZigLLVM_NetBSD: | ||
| 316 | return OsNetBSD; | ||
| 317 | case ZigLLVM_OpenBSD: | ||
| 318 | return OsOpenBSD; | ||
| 319 | case ZigLLVM_Solaris: | ||
| 320 | return OsSolaris; | ||
| 321 | case ZigLLVM_Win32: | ||
| 322 | return OsWindows; | ||
| 323 | case ZigLLVM_Haiku: | ||
| 324 | return OsHaiku; | ||
| 325 | case ZigLLVM_Minix: | ||
| 326 | return OsMinix; | ||
| 327 | case ZigLLVM_RTEMS: | ||
| 328 | return OsRTEMS; | ||
| 329 | case ZigLLVM_NaCl: | ||
| 330 | return OsNaCl; | ||
| 331 | case ZigLLVM_CNK: | ||
| 332 | return OsCNK; | ||
| 333 | case ZigLLVM_AIX: | ||
| 334 | return OsAIX; | ||
| 335 | case ZigLLVM_CUDA: | ||
| 336 | return OsCUDA; | ||
| 337 | case ZigLLVM_NVCL: | ||
| 338 | return OsNVCL; | ||
| 339 | case ZigLLVM_AMDHSA: | ||
| 340 | return OsAMDHSA; | ||
| 341 | case ZigLLVM_PS4: | ||
| 342 | return OsPS4; | ||
| 343 | case ZigLLVM_ELFIAMCU: | ||
| 344 | return OsELFIAMCU; | ||
| 345 | case ZigLLVM_TvOS: | ||
| 346 | return OsTvOS; | ||
| 347 | case ZigLLVM_WatchOS: | ||
| 348 | return OsWatchOS; | ||
| 349 | case ZigLLVM_Mesa3D: | ||
| 350 | return OsMesa3D; | ||
| 351 | case ZigLLVM_Contiki: | ||
| 352 | return OsContiki; | ||
| 353 | case ZigLLVM_AMDPAL: | ||
| 354 | return OsAMDPAL; | ||
| 355 | case ZigLLVM_HermitCore: | ||
| 356 | return OsHermitCore; | ||
| 357 | case ZigLLVM_Hurd: | ||
| 358 | return OsHurd; | ||
| 359 | case ZigLLVM_WASI: | ||
| 360 | return OsWASI; | ||
| 361 | case ZigLLVM_Emscripten: | ||
| 362 | return OsEmscripten; | ||
| 363 | } | ||
| 364 | zig_unreachable(); | ||
| 365 | } | ||
| 366 | |||
| 367 | const char *target_os_name(Os os_type) { | 290 | const char *target_os_name(Os os_type) { |
| 368 | switch (os_type) { | 291 | switch (os_type) { |
| 369 | case OsFreestanding: | 292 | case OsFreestanding: |
| ... | @@ -447,29 +370,6 @@ Error target_parse_glibc_version(ZigGLibCVersion *glibc_ver, const char *text) { | ... | @@ -447,29 +370,6 @@ Error target_parse_glibc_version(ZigGLibCVersion *glibc_ver, const char *text) { |
| 447 | return ErrorNone; | 370 | return ErrorNone; |
| 448 | } | 371 | } |
| 449 | 372 | ||
| 450 | void get_native_target(ZigTarget *target) { | ||
| 451 | // first zero initialize | ||
| 452 | *target = {}; | ||
| 453 | |||
| 454 | ZigLLVM_OSType os_type; | ||
| 455 | ZigLLVM_ObjectFormatType oformat; // ignored; based on arch/os | ||
| 456 | ZigLLVMGetNativeTarget( | ||
| 457 | &target->arch, | ||
| 458 | &target->vendor, | ||
| 459 | &os_type, | ||
| 460 | &target->abi, | ||
| 461 | &oformat); | ||
| 462 | target->os = get_zig_os_type(os_type); | ||
| 463 | target->is_native = true; | ||
| 464 | if (target->abi == ZigLLVM_UnknownEnvironment) { | ||
| 465 | target->abi = target_default_abi(target->arch, target->os); | ||
| 466 | } | ||
| 467 | if (target_is_glibc(target)) { | ||
| 468 | target->glibc_version = heap::c_allocator.create<ZigGLibCVersion>(); | ||
| 469 | target_init_default_glibc_version(target); | ||
| 470 | } | ||
| 471 | } | ||
| 472 | |||
| 473 | void target_init_default_glibc_version(ZigTarget *target) { | 373 | void target_init_default_glibc_version(ZigTarget *target) { |
| 474 | *target->glibc_version = {2, 17, 0}; | 374 | *target->glibc_version = {2, 17, 0}; |
| 475 | } | 375 | } |
src/target.hpp-1| ... | @@ -73,7 +73,6 @@ ZigLLVM_ObjectFormatType target_oformat_enum(size_t index); | ... | @@ -73,7 +73,6 @@ ZigLLVM_ObjectFormatType target_oformat_enum(size_t index); |
| 73 | const char *target_oformat_name(ZigLLVM_ObjectFormatType oformat); | 73 | const char *target_oformat_name(ZigLLVM_ObjectFormatType oformat); |
| 74 | ZigLLVM_ObjectFormatType target_object_format(const ZigTarget *target); | 74 | ZigLLVM_ObjectFormatType target_object_format(const ZigTarget *target); |
| 75 | 75 | ||
| 76 | void get_native_target(ZigTarget *target); | ||
| 77 | void target_triple_llvm(Buf *triple, const ZigTarget *target); | 76 | void target_triple_llvm(Buf *triple, const ZigTarget *target); |
| 78 | void target_triple_zig(Buf *triple, const ZigTarget *target); | 77 | void target_triple_zig(Buf *triple, const ZigTarget *target); |
| 79 | 78 |