mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
There is no straightforward way for the Zig team to access the Solaris system headers; to do this, one has to create an Oracle account, accept their EULA to download the installer ISO, and finally install it on a machine or VM. We do not have to jump through hoops like this for any other OS that we support, and no one on the team has expressed willingness to do it. As a result, we cannot audit any Solaris contributions to std.c or other similarly sensitive parts of the standard library. The best we would be able to do is assume that Solaris and illumos are 100% compatible with no way to verify that assumption. But at that point, the solaris and illumos OS tags would be functionally identical anyway. For Solaris especially, any contributions that involve APIs introduced after the OS was made closed-source would also be inherently more risky than equivalent contributions for other proprietary OSs due to the case of Google LLC v. Oracle America, Inc., wherein Oracle clearly demonstrated its willingness to pursue legal action against entities that merely copy API declarations. Finally, Oracle laid off most of the Solaris team in 2017; the OS has been in maintenance mode since, presumably to be retired completely sometime in the 2030s. For these reasons, this commit removes all Oracle Solaris support. Anyone who still wishes to use Zig on Solaris can try their luck by simply using illumos instead of solaris in target triples - chances are it'll work. But there will be no effort from the Zig team to support this use case; we recommend that people move to illumos instead.
373 lines
20 KiB
Zig
373 lines
20 KiB
Zig
const std = @import("std");
|
|
const Cases = @import("src/Cases.zig");
|
|
|
|
const targets = [_]std.Target.Query{
|
|
.{ .cpu_arch = .aarch64, .os_tag = .driverkit, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .freebsd, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .fuchsia, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .haiku, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .hermit, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .hurd, .abi = .gnu },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .ios, .abi = .macabi },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .ios, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .ios, .abi = .simulator },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .android },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .musl },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .ohos },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .macos, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .netbsd, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .openbsd, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .rtems, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .serenity, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .tvos, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .tvos, .abi = .simulator },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .uefi, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .visionos, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .visionos, .abi = .simulator },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .watchos, .abi = .ilp32 },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .watchos, .abi = .none },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .watchos, .abi = .simulator },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .windows, .abi = .gnu },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .windows, .abi = .itanium },
|
|
.{ .cpu_arch = .aarch64, .os_tag = .windows, .abi = .msvc },
|
|
|
|
.{ .cpu_arch = .aarch64_be, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .aarch64_be, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .aarch64_be, .os_tag = .linux, .abi = .musl },
|
|
.{ .cpu_arch = .aarch64_be, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .aarch64_be, .os_tag = .netbsd, .abi = .none },
|
|
|
|
.{ .cpu_arch = .amdgcn, .os_tag = .amdhsa, .abi = .none },
|
|
// .{ .cpu_arch = .amdgcn, .os_tag = .amdpal, .abi = .none },
|
|
// .{ .cpu_arch = .amdgcn, .os_tag = .mesa3d, .abi = .none },
|
|
|
|
.{ .cpu_arch = .arc, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .arc, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .arc, .os_tag = .linux, .abi = .none },
|
|
|
|
.{ .cpu_arch = .arm, .os_tag = .@"3ds", .abi = .eabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .freebsd, .abi = .eabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .linux, .abi = .androideabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .linux, .abi = .eabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .linux, .abi = .eabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .linux, .abi = .gnueabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .linux, .abi = .gnueabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .linux, .abi = .musleabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .linux, .abi = .musleabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .linux, .abi = .ohoseabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .netbsd, .abi = .eabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .netbsd, .abi = .eabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .openbsd, .abi = .eabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .openbsd, .abi = .eabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .rtems, .abi = .eabi },
|
|
.{ .cpu_arch = .arm, .os_tag = .rtems, .abi = .eabihf },
|
|
// .{ .cpu_arch = .arm, .os_tag = .uefi, .abi = .eabi },
|
|
// .{ .cpu_arch = .arm, .os_tag = .uefi, .abi = .eabihf },
|
|
.{ .cpu_arch = .arm, .os_tag = .vita, .abi = .eabihf },
|
|
|
|
.{ .cpu_arch = .armeb, .os_tag = .freestanding, .abi = .eabi },
|
|
.{ .cpu_arch = .armeb, .os_tag = .freestanding, .abi = .eabihf },
|
|
.{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .eabi },
|
|
.{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .eabihf },
|
|
.{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .gnueabi },
|
|
.{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .gnueabihf },
|
|
.{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .musleabi },
|
|
.{ .cpu_arch = .armeb, .os_tag = .linux, .abi = .musleabihf },
|
|
.{ .cpu_arch = .armeb, .os_tag = .netbsd, .abi = .eabi },
|
|
.{ .cpu_arch = .armeb, .os_tag = .netbsd, .abi = .eabihf },
|
|
.{ .cpu_arch = .armeb, .os_tag = .rtems, .abi = .eabi },
|
|
.{ .cpu_arch = .armeb, .os_tag = .rtems, .abi = .eabihf },
|
|
|
|
.{ .cpu_arch = .avr, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .avr, .os_tag = .rtems, .abi = .none },
|
|
|
|
.{ .cpu_arch = .bpfeb, .os_tag = .freestanding, .abi = .none },
|
|
|
|
.{ .cpu_arch = .bpfel, .os_tag = .freestanding, .abi = .none },
|
|
|
|
// .{ .cpu_arch = .csky, .os_tag = .freestanding, .abi = .eabi },
|
|
// .{ .cpu_arch = .csky, .os_tag = .freestanding, .abi = .eabihf },
|
|
// .{ .cpu_arch = .csky, .os_tag = .linux, .abi = .eabi },
|
|
// .{ .cpu_arch = .csky, .os_tag = .linux, .abi = .eabihf },
|
|
// .{ .cpu_arch = .csky, .os_tag = .linux, .abi = .gnueabi },
|
|
// .{ .cpu_arch = .csky, .os_tag = .linux, .abi = .gnueabihf },
|
|
|
|
.{ .cpu_arch = .hexagon, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .hexagon, .os_tag = .linux, .abi = .none },
|
|
|
|
.{ .cpu_arch = .lanai, .os_tag = .freestanding, .abi = .none },
|
|
|
|
// .{ .cpu_arch = .loongarch32, .os_tag = .freestanding, .abi = .none },
|
|
// .{ .cpu_arch = .loongarch32, .os_tag = .linux, .abi = .none },
|
|
// .{ .cpu_arch = .loongarch32, .os_tag = .uefi, .abi = .none },
|
|
|
|
.{ .cpu_arch = .loongarch64, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .gnu },
|
|
// .{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .gnuf32 },
|
|
.{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .gnusf },
|
|
.{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .musl },
|
|
// .{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .muslf32 },
|
|
.{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .muslsf },
|
|
.{ .cpu_arch = .loongarch64, .os_tag = .linux, .abi = .none },
|
|
// .{ .cpu_arch = .loongarch64, .os_tag = .uefi, .abi = .none },
|
|
|
|
.{ .cpu_arch = .m68k, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .m68k, .os_tag = .haiku, .abi = .none },
|
|
.{ .cpu_arch = .m68k, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .m68k, .os_tag = .linux, .abi = .musl },
|
|
.{ .cpu_arch = .m68k, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .m68k, .os_tag = .netbsd, .abi = .none },
|
|
.{ .cpu_arch = .m68k, .os_tag = .rtems, .abi = .none },
|
|
|
|
.{ .cpu_arch = .mips, .os_tag = .freestanding, .abi = .eabi },
|
|
.{ .cpu_arch = .mips, .os_tag = .freestanding, .abi = .eabihf },
|
|
.{ .cpu_arch = .mips, .os_tag = .linux, .abi = .eabi },
|
|
.{ .cpu_arch = .mips, .os_tag = .linux, .abi = .eabihf },
|
|
.{ .cpu_arch = .mips, .os_tag = .linux, .abi = .gnueabi },
|
|
.{ .cpu_arch = .mips, .os_tag = .linux, .abi = .gnueabihf },
|
|
.{ .cpu_arch = .mips, .os_tag = .linux, .abi = .musleabi },
|
|
.{ .cpu_arch = .mips, .os_tag = .linux, .abi = .musleabihf },
|
|
.{ .cpu_arch = .mips, .os_tag = .netbsd, .abi = .eabi },
|
|
.{ .cpu_arch = .mips, .os_tag = .netbsd, .abi = .eabihf },
|
|
.{ .cpu_arch = .mips, .os_tag = .rtems, .abi = .eabi },
|
|
.{ .cpu_arch = .mips, .os_tag = .rtems, .abi = .eabihf },
|
|
|
|
.{ .cpu_arch = .mipsel, .os_tag = .freestanding, .abi = .eabi },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .freestanding, .abi = .eabihf },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .eabi },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .eabihf },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .gnueabi },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .gnueabihf },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .musleabi },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .linux, .abi = .musleabihf },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .netbsd, .abi = .eabi },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .netbsd, .abi = .eabihf },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .rtems, .abi = .eabi },
|
|
.{ .cpu_arch = .mipsel, .os_tag = .rtems, .abi = .eabihf },
|
|
|
|
.{ .cpu_arch = .mips64, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .gnuabi64 },
|
|
.{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .gnuabin32 },
|
|
.{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .muslabi64 },
|
|
.{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .muslabin32 },
|
|
.{ .cpu_arch = .mips64, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .mips64, .os_tag = .openbsd, .abi = .none },
|
|
|
|
.{ .cpu_arch = .mips64el, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .gnuabi64 },
|
|
.{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .gnuabin32 },
|
|
.{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .muslabi64 },
|
|
.{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .muslabin32 },
|
|
.{ .cpu_arch = .mips64el, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .mips64el, .os_tag = .openbsd, .abi = .none },
|
|
|
|
.{ .cpu_arch = .msp430, .os_tag = .freestanding, .abi = .none },
|
|
|
|
.{ .cpu_arch = .nvptx, .os_tag = .cuda, .abi = .none },
|
|
.{ .cpu_arch = .nvptx, .os_tag = .nvcl, .abi = .none },
|
|
.{ .cpu_arch = .nvptx64, .os_tag = .cuda, .abi = .none },
|
|
.{ .cpu_arch = .nvptx64, .os_tag = .nvcl, .abi = .none },
|
|
|
|
.{ .cpu_arch = .powerpc, .os_tag = .aix, .abi = .eabihf },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .freestanding, .abi = .eabi },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .freestanding, .abi = .eabihf },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .haiku, .abi = .eabi },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .haiku, .abi = .eabihf },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .eabi },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .eabihf },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .gnueabi },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .gnueabihf },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .musleabi },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .musleabihf },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .netbsd, .abi = .eabi },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .netbsd, .abi = .eabihf },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .openbsd, .abi = .eabi },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .openbsd, .abi = .eabihf },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .rtems, .abi = .eabi },
|
|
.{ .cpu_arch = .powerpc, .os_tag = .rtems, .abi = .eabihf },
|
|
|
|
.{ .cpu_arch = .powerpcle, .os_tag = .freestanding, .abi = .eabi },
|
|
.{ .cpu_arch = .powerpcle, .os_tag = .freestanding, .abi = .eabihf },
|
|
|
|
.{ .cpu_arch = .powerpc64, .os_tag = .aix, .abi = .none },
|
|
.{ .cpu_arch = .powerpc64, .os_tag = .freebsd, .abi = .none },
|
|
.{ .cpu_arch = .powerpc64, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .powerpc64, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .powerpc64, .os_tag = .linux, .abi = .musl },
|
|
.{ .cpu_arch = .powerpc64, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .powerpc64, .os_tag = .openbsd, .abi = .none },
|
|
.{ .cpu_arch = .powerpc64, .os_tag = .rtems, .abi = .none },
|
|
|
|
.{ .cpu_arch = .powerpc64le, .os_tag = .freebsd, .abi = .none },
|
|
.{ .cpu_arch = .powerpc64le, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .powerpc64le, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .powerpc64le, .os_tag = .linux, .abi = .musl },
|
|
.{ .cpu_arch = .powerpc64le, .os_tag = .linux, .abi = .none },
|
|
|
|
.{ .cpu_arch = .riscv32, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .riscv32, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .riscv32, .os_tag = .linux, .abi = .musl },
|
|
.{ .cpu_arch = .riscv32, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .riscv32, .os_tag = .rtems, .abi = .none },
|
|
// .{ .cpu_arch = .riscv32, .os_tag = .uefi, .abi = .none },
|
|
|
|
// .{ .cpu_arch = .riscv32be, .os_tag = .freestanding, .abi = .none },
|
|
|
|
.{ .cpu_arch = .riscv64, .os_tag = .freebsd, .abi = .none },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .fuchsia, .abi = .none },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .haiku, .abi = .none },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .hermit, .abi = .none },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .android },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .musl },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .openbsd, .abi = .none },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .rtems, .abi = .none },
|
|
.{ .cpu_arch = .riscv64, .os_tag = .serenity, .abi = .none },
|
|
// .{ .cpu_arch = .riscv64, .os_tag = .uefi, .abi = .none },
|
|
|
|
// .{ .cpu_arch = .riscv64, .os_tag = .freestanding, .abi = .none },
|
|
|
|
.{ .cpu_arch = .s390x, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .s390x, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .s390x, .os_tag = .linux, .abi = .none },
|
|
// .{ .cpu_arch = .s390x, .os_tag = .zos, .abi = .none },
|
|
|
|
.{ .cpu_arch = .sparc, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .sparc, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .sparc, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .sparc, .os_tag = .netbsd, .abi = .none },
|
|
.{ .cpu_arch = .sparc, .os_tag = .rtems, .abi = .none },
|
|
|
|
.{ .cpu_arch = .sparc64, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .sparc64, .os_tag = .haiku, .abi = .none },
|
|
.{ .cpu_arch = .sparc64, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .sparc64, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .sparc64, .os_tag = .netbsd, .abi = .none },
|
|
.{ .cpu_arch = .sparc64, .os_tag = .openbsd, .abi = .none },
|
|
.{ .cpu_arch = .sparc64, .os_tag = .rtems, .abi = .none },
|
|
|
|
.{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabi },
|
|
.{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabihf },
|
|
.{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabi },
|
|
.{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabihf },
|
|
.{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .musleabi },
|
|
.{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .musleabihf },
|
|
.{ .cpu_arch = .thumb, .os_tag = .rtems, .abi = .eabi },
|
|
.{ .cpu_arch = .thumb, .os_tag = .rtems, .abi = .eabihf },
|
|
.{ .cpu_arch = .thumb, .os_tag = .vita, .abi = .eabihf },
|
|
.{ .cpu_arch = .thumb, .os_tag = .windows, .abi = .gnu },
|
|
.{ .cpu_arch = .thumb, .os_tag = .windows, .abi = .itanium },
|
|
.{ .cpu_arch = .thumb, .os_tag = .windows, .abi = .msvc },
|
|
|
|
.{ .cpu_arch = .thumbeb, .os_tag = .freestanding, .abi = .eabi },
|
|
.{ .cpu_arch = .thumbeb, .os_tag = .freestanding, .abi = .eabihf },
|
|
.{ .cpu_arch = .thumbeb, .os_tag = .linux, .abi = .eabi },
|
|
.{ .cpu_arch = .thumbeb, .os_tag = .linux, .abi = .eabihf },
|
|
.{ .cpu_arch = .thumbeb, .os_tag = .linux, .abi = .musleabi },
|
|
.{ .cpu_arch = .thumbeb, .os_tag = .linux, .abi = .musleabihf },
|
|
.{ .cpu_arch = .thumbeb, .os_tag = .rtems, .abi = .eabi },
|
|
.{ .cpu_arch = .thumbeb, .os_tag = .rtems, .abi = .eabihf },
|
|
|
|
.{ .cpu_arch = .ve, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .ve, .os_tag = .linux, .abi = .none },
|
|
|
|
.{ .cpu_arch = .wasm32, .os_tag = .emscripten, .abi = .none },
|
|
.{ .cpu_arch = .wasm32, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .wasm32, .os_tag = .wasi, .abi = .musl },
|
|
.{ .cpu_arch = .wasm32, .os_tag = .wasi, .abi = .none },
|
|
|
|
.{ .cpu_arch = .wasm64, .os_tag = .emscripten, .abi = .none },
|
|
.{ .cpu_arch = .wasm64, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .wasm64, .os_tag = .wasi, .abi = .musl },
|
|
.{ .cpu_arch = .wasm64, .os_tag = .wasi, .abi = .none },
|
|
|
|
.{ .cpu_arch = .x86, .os_tag = .freestanding, .abi = .none },
|
|
.{ .cpu_arch = .x86, .os_tag = .haiku, .abi = .none },
|
|
.{ .cpu_arch = .x86, .os_tag = .hurd, .abi = .gnu },
|
|
.{ .cpu_arch = .x86, .os_tag = .illumos, .abi = .none },
|
|
.{ .cpu_arch = .x86, .os_tag = .linux, .abi = .android },
|
|
.{ .cpu_arch = .x86, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .x86, .os_tag = .linux, .abi = .musl },
|
|
.{ .cpu_arch = .x86, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .x86, .os_tag = .netbsd, .abi = .none },
|
|
.{ .cpu_arch = .x86, .os_tag = .openbsd, .abi = .none },
|
|
.{ .cpu_arch = .x86, .os_tag = .rtems, .abi = .none },
|
|
.{ .cpu_arch = .x86, .os_tag = .uefi, .abi = .none },
|
|
.{ .cpu_arch = .x86, .os_tag = .windows, .abi = .cygnus },
|
|
.{ .cpu_arch = .x86, .os_tag = .windows, .abi = .gnu },
|
|
.{ .cpu_arch = .x86, .os_tag = .windows, .abi = .itanium },
|
|
.{ .cpu_arch = .x86, .os_tag = .windows, .abi = .msvc },
|
|
|
|
.{ .cpu_arch = .x86_64, .os_tag = .freebsd, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .freestanding, .abi = .none },
|
|
.{
|
|
.cpu_arch = .x86_64,
|
|
.os_tag = .freestanding,
|
|
.abi = .none,
|
|
.cpu_features_add = std.Target.x86.featureSet(&.{.soft_float}),
|
|
.cpu_features_sub = std.Target.x86.featureSet(&.{ .mmx, .sse, .sse2, .avx, .avx2 }),
|
|
},
|
|
.{ .cpu_arch = .x86_64, .os_tag = .fuchsia, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .dragonfly, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .driverkit, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .haiku, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .hermit, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .hurd, .abi = .gnu },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .illumos, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .ios, .abi = .macabi },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .ios, .abi = .simulator },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .android },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .gnu },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .gnux32 },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .musl },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .muslx32 },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .ohos },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .macos, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .netbsd, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .openbsd, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .rtems, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .serenity, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .tvos, .abi = .simulator },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .uefi, .abi = .none },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .visionos, .abi = .simulator },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .watchos, .abi = .simulator },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .windows, .abi = .cygnus },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .windows, .abi = .gnu },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .windows, .abi = .itanium },
|
|
.{ .cpu_arch = .x86_64, .os_tag = .windows, .abi = .msvc },
|
|
|
|
.{ .cpu_arch = .xcore, .os_tag = .freestanding, .abi = .none },
|
|
|
|
// .{ .cpu_arch = .xtensa, .os_tag = .freestanding, .abi = .none },
|
|
// .{ .cpu_arch = .xtensa, .os_tag = .linux, .abi = .none },
|
|
};
|
|
|
|
pub fn addCases(
|
|
ctx: *Cases,
|
|
build_options: @import("cases.zig").BuildOptions,
|
|
b: *std.Build,
|
|
) !void {
|
|
if (!build_options.enable_llvm) return;
|
|
for (targets) |target_query| {
|
|
if (target_query.cpu_arch) |arch| switch (arch) {
|
|
.m68k => if (!build_options.llvm_has_m68k) continue,
|
|
.csky => if (!build_options.llvm_has_csky) continue,
|
|
.arc => if (!build_options.llvm_has_arc) continue,
|
|
.xtensa => if (!build_options.llvm_has_xtensa) continue,
|
|
else => {},
|
|
};
|
|
var case = ctx.addObjLlvm("llvm_targets", b.resolveTargetQuery(target_query));
|
|
case.addCompile("");
|
|
}
|
|
}
|