| ... | ... | @@ -697,57 +697,6 @@ pub const Os = struct { |
| 697 | 697 | => |field| @field(os.version_range, @tagName(field)).isAtLeast(ver), |
| 698 | 698 | }; |
| 699 | 699 | } |
| 700 | | |
| 701 | | /// On Darwin, we always link libSystem which contains libc. |
| 702 | | /// Similarly on FreeBSD and NetBSD we always link system libc |
| 703 | | /// since this is the stable syscall interface. |
| 704 | | pub fn requiresLibC(os: Os) bool { |
| 705 | | return switch (os.tag) { |
| 706 | | .aix, |
| 707 | | .driverkit, |
| 708 | | .macos, |
| 709 | | .ios, |
| 710 | | .tvos, |
| 711 | | .watchos, |
| 712 | | .visionos, |
| 713 | | .dragonfly, |
| 714 | | .openbsd, |
| 715 | | .haiku, |
| 716 | | .solaris, |
| 717 | | .illumos, |
| 718 | | .serenity, |
| 719 | | => true, |
| 720 | | |
| 721 | | .linux, |
| 722 | | .windows, |
| 723 | | .freebsd, |
| 724 | | .netbsd, |
| 725 | | .freestanding, |
| 726 | | .fuchsia, |
| 727 | | .ps3, |
| 728 | | .zos, |
| 729 | | .rtems, |
| 730 | | .cuda, |
| 731 | | .nvcl, |
| 732 | | .amdhsa, |
| 733 | | .ps4, |
| 734 | | .ps5, |
| 735 | | .mesa3d, |
| 736 | | .contiki, |
| 737 | | .amdpal, |
| 738 | | .hermit, |
| 739 | | .hurd, |
| 740 | | .wasi, |
| 741 | | .emscripten, |
| 742 | | .uefi, |
| 743 | | .opencl, |
| 744 | | .opengl, |
| 745 | | .vulkan, |
| 746 | | .plan9, |
| 747 | | .other, |
| 748 | | => false, |
| 749 | | }; |
| 750 | | } |
| 751 | 700 | }; |
| 752 | 701 | |
| 753 | 702 | pub const aarch64 = @import("Target/aarch64.zig"); |
| ... | ... | @@ -2055,6 +2004,56 @@ pub inline fn isWasiLibC(target: *const Target) bool { |
| 2055 | 2004 | return target.os.tag == .wasi and target.abi.isMusl(); |
| 2056 | 2005 | } |
| 2057 | 2006 | |
| 2007 | /// Does this target require linking libc? This may be the case if the target has an unstable |
| 2008 | /// syscall interface, for example. |
| 2009 | pub fn requiresLibC(target: *const Target) bool { |
| 2010 | return switch (target.os.tag) { |
| 2011 | .aix, |
| 2012 | .driverkit, |
| 2013 | .macos, |
| 2014 | .ios, |
| 2015 | .tvos, |
| 2016 | .watchos, |
| 2017 | .visionos, |
| 2018 | .dragonfly, |
| 2019 | .openbsd, |
| 2020 | .haiku, |
| 2021 | .solaris, |
| 2022 | .illumos, |
| 2023 | .serenity, |
| 2024 | => true, |
| 2025 | |
| 2026 | .linux |
| 2027 | .windows, |
| 2028 | .freebsd, |
| 2029 | .netbsd, |
| 2030 | .freestanding, |
| 2031 | .fuchsia, |
| 2032 | .ps3, |
| 2033 | .zos, |
| 2034 | .rtems, |
| 2035 | .cuda, |
| 2036 | .nvcl, |
| 2037 | .amdhsa, |
| 2038 | .ps4, |
| 2039 | .ps5, |
| 2040 | .mesa3d, |
| 2041 | .contiki, |
| 2042 | .amdpal, |
| 2043 | .hermit, |
| 2044 | .hurd, |
| 2045 | .wasi, |
| 2046 | .emscripten, |
| 2047 | .uefi, |
| 2048 | .opencl, |
| 2049 | .opengl, |
| 2050 | .vulkan, |
| 2051 | .plan9, |
| 2052 | .other, |
| 2053 | => false, |
| 2054 | }; |
| 2055 | } |
| 2056 | |
| 2058 | 2057 | pub const DynamicLinker = struct { |
| 2059 | 2058 | /// Contains the memory used to store the dynamic linker path. This field |
| 2060 | 2059 | /// should not be used directly. See `get` and `set`. This field exists so |