@zigc/lib 0.17.0-dev.76 → 0.17.0-dev.836
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-web/fuzz.zig +2 -2
- package/c/fcntl.zig +5 -0
- package/c/math.zig +56 -2
- package/c/pthread.zig +57 -0
- package/c/stdlib.zig +32 -22
- package/c/string.zig +20 -0
- package/c/unistd.zig +1 -0
- package/c/wchar.zig +10 -0
- package/c.zig +1 -0
- package/{std/Build → compiler/Maker}/Fuzz.zig +177 -89
- package/compiler/Maker/Graph.zig +85 -0
- package/compiler/Maker/PkgConfig.zig +122 -0
- package/compiler/Maker/ScannedConfig.zig +372 -0
- package/compiler/Maker/Step/CheckFile.zig +63 -0
- package/compiler/Maker/Step/Compile.zig +1393 -0
- package/compiler/Maker/Step/ConfigHeader.zig +610 -0
- package/compiler/Maker/Step/FindProgram.zig +120 -0
- package/compiler/Maker/Step/Fmt.zig +65 -0
- package/compiler/Maker/Step/InstallArtifact.zig +141 -0
- package/compiler/Maker/Step/InstallDir.zig +99 -0
- package/compiler/Maker/Step/InstallFile.zig +26 -0
- package/compiler/Maker/Step/ObjCopy.zig +173 -0
- package/compiler/Maker/Step/Options.zig +104 -0
- package/compiler/Maker/Step/Run.zig +2390 -0
- package/compiler/Maker/Step/TranslateC.zig +157 -0
- package/compiler/Maker/Step/UpdateSourceFiles.zig +89 -0
- package/compiler/Maker/Step/WriteFile.zig +294 -0
- package/compiler/Maker/Step.zig +894 -0
- package/{std/Build → compiler/Maker}/Watch/FsEvents.zig +36 -26
- package/{std/Build → compiler/Maker}/Watch.zig +89 -68
- package/{std/Build → compiler/Maker}/WebServer.zig +145 -118
- package/compiler/Maker.zig +2061 -0
- package/compiler/aro/aro/Attribute.zig +52 -51
- package/compiler/aro/aro/CodeGen.zig +7 -8
- package/compiler/aro/aro/Compilation.zig +22 -22
- package/compiler/aro/aro/Diagnostics.zig +7 -7
- package/compiler/aro/aro/Driver.zig +18 -16
- package/compiler/aro/aro/Parser.zig +22 -17
- package/compiler/aro/aro/Pragma.zig +3 -2
- package/compiler/aro/aro/Preprocessor.zig +11 -8
- package/compiler/aro/aro/Tree.zig +11 -11
- package/compiler/aro/aro/features.zig +4 -4
- package/compiler/aro/aro/pragmas/message.zig +3 -2
- package/compiler/aro/aro/text_literal.zig +5 -4
- package/compiler/aro/assembly_backend/x86_64.zig +4 -4
- package/compiler/aro/backend/Interner.zig +14 -13
- package/compiler/aro/backend/Ir/x86/Renderer.zig +3 -3
- package/compiler/configurer.zig +1403 -0
- package/compiler/reduce/Walk.zig +8 -13
- package/compiler/resinator/bmp.zig +3 -2
- package/compiler/resinator/code_pages.zig +14 -12
- package/compiler/resinator/compile.zig +1 -1
- package/compiler/resinator/cvtres.zig +15 -14
- package/compiler/resinator/errors.zig +25 -29
- package/compiler/resinator/ico.zig +4 -4
- package/compiler/resinator/lang.zig +7 -7
- package/compiler/resinator/parse.zig +3 -3
- package/compiler/resinator/res.zig +1 -1
- package/compiler/std-docs.zig +17 -38
- package/compiler/test_runner.zig +25 -15
- package/compiler/translate-c/MacroTranslator.zig +1 -1
- package/compiler/translate-c/Translator.zig +2 -2
- package/compiler/translate-c/ast.zig +22 -29
- package/compiler/translate-c/main.zig +1 -1
- package/compiler_rt/addf3.zig +1 -1
- package/compiler_rt/arm.zig +3 -3
- package/compiler_rt/atomics.zig +1 -1
- package/compiler_rt/comparef.zig +3 -3
- package/compiler_rt/cos.zig +1 -1
- package/compiler_rt/count0bits.zig +1 -1
- package/compiler_rt/divdf3.zig +14 -10
- package/compiler_rt/divsf3.zig +13 -8
- package/compiler_rt/divtf3.zig +1 -1
- package/compiler_rt/divxf3.zig +1 -1
- package/compiler_rt/extendf.zig +5 -5
- package/compiler_rt/fabs.zig +1 -1
- package/compiler_rt/float_from_int.zig +4 -5
- package/compiler_rt/fmax.zig +1 -1
- package/compiler_rt/fmin.zig +1 -1
- package/compiler_rt/fmod.zig +2 -2
- package/compiler_rt/int_from_float.zig +1 -1
- package/compiler_rt/limb64.zig +3 -34
- package/compiler_rt/log.zig +230 -3
- package/compiler_rt/log10.zig +228 -3
- package/compiler_rt/log2.zig +221 -3
- package/compiler_rt/log_f128.zig +173 -0
- package/compiler_rt/mulf3.zig +2 -2
- package/compiler_rt/rem_pio2l.zig +1 -1
- package/compiler_rt/sin.zig +1 -1
- package/compiler_rt/sincos.zig +1 -1
- package/compiler_rt/ssp.zig +2 -2
- package/compiler_rt/tan.zig +1 -1
- package/compiler_rt/truncf.zig +3 -3
- package/compiler_rt/trunctfhf2.zig +3 -0
- package/compiler_rt.zig +5 -26
- package/docs/main.js +8 -8
- package/docs/wasm/Walk.zig +1 -3
- package/docs/wasm/html_render.zig +1 -2
- package/docs/wasm/markdown/Document.zig +3 -3
- package/docs/wasm/markdown/Parser.zig +19 -23
- package/fuzzer.zig +5 -3
- package/include/__clang_spirv_builtins.h +12 -12
- package/include/__float_float.h +176 -0
- package/include/__float_header_macro.h +12 -0
- package/include/__float_infinity_nan.h +20 -0
- package/include/amo.h +131 -0
- package/include/amxavx512intrin.h +215 -1
- package/include/amxintrin.h +0 -2
- package/include/arm_acle.h +37 -27
- package/include/arm_neon.h +218 -82
- package/include/arm_sme.h +8 -8
- package/include/arm_sve.h +4162 -3782
- package/include/avx10_2_512bf16intrin.h +19 -12
- package/include/avx10_2_512convertintrin.h +1 -1
- package/include/avx10_2_512niintrin.h +31 -31
- package/include/avx10_2_512satcvtdsintrin.h +1 -1
- package/include/avx10_2bf16intrin.h +54 -45
- package/include/avx10_2convertintrin.h +2 -2
- package/include/avx10_2copyintrin.h +1 -1
- package/include/avx10_2niintrin.h +14 -14
- package/include/avx10_2satcvtdsintrin.h +2 -2
- package/include/avx2intrin.h +275 -377
- package/include/avx512bf16intrin.h +25 -16
- package/include/avx512bitalgintrin.h +19 -30
- package/include/avx512bwintrin.h +386 -505
- package/include/avx512cdintrin.h +42 -55
- package/include/avx512dqintrin.h +132 -161
- package/include/avx512fintrin.h +1015 -1424
- package/include/avx512fp16intrin.h +112 -110
- package/include/avx512ifmaintrin.h +32 -34
- package/include/avx512ifmavlintrin.h +73 -46
- package/include/avx512vbmi2intrin.h +43 -32
- package/include/avx512vbmiintrin.h +19 -27
- package/include/avx512vbmivlintrin.h +35 -49
- package/include/avx512vlbf16intrin.h +32 -22
- package/include/avx512vlbitalgintrin.h +37 -53
- package/include/avx512vlbwintrin.h +470 -573
- package/include/avx512vlcdintrin.h +74 -102
- package/include/avx512vldqintrin.h +110 -127
- package/include/avx512vlfp16intrin.h +130 -111
- package/include/avx512vlintrin.h +945 -1299
- package/include/avx512vlvbmi2intrin.h +78 -63
- package/include/avx512vlvnniintrin.h +21 -18
- package/include/avx512vlvp2intersectintrin.h +2 -2
- package/include/avx512vnniintrin.h +10 -10
- package/include/avx512vp2intersectintrin.h +1 -2
- package/include/avx512vpopcntdqintrin.h +8 -10
- package/include/avx512vpopcntdqvlintrin.h +17 -15
- package/include/avxifmaintrin.h +16 -0
- package/include/avxintrin.h +165 -241
- package/include/avxvnniint16intrin.h +118 -99
- package/include/avxvnniint8intrin.h +56 -32
- package/include/avxvnniintrin.h +16 -8
- package/include/cpuid.h +101 -4
- package/include/emmintrin.h +168 -168
- package/include/f16cintrin.h +23 -9
- package/include/float.h +16 -155
- package/include/fma4intrin.h +98 -96
- package/include/fmaintrin.h +96 -66
- package/include/gfniintrin.h +21 -16
- package/include/hexagon_types.h +23 -20
- package/include/hvx_hexagon_protos.h +649 -860
- package/include/immintrin.h +0 -12
- package/include/intrin.h +4 -0
- package/include/lasxintrin.h +113 -0
- package/include/llvm_libc_wrappers/assert.h +3 -5
- package/include/llvm_libc_wrappers/ctype.h +3 -115
- package/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/include/llvm_libc_wrappers/stdio.h +10 -38
- package/include/llvm_libc_wrappers/stdlib.h +3 -24
- package/include/llvm_libc_wrappers/string.h +2 -70
- package/include/llvm_libc_wrappers/time.h +4 -10
- package/include/mmintrin.h +188 -257
- package/include/module.modulemap +23 -4
- package/include/movrs_avx10_2_512intrin.h +2 -2
- package/include/movrs_avx10_2intrin.h +4 -4
- package/include/pmmintrin.h +12 -24
- package/include/ptrauth.h +16 -2
- package/include/riscv_mips.h +34 -0
- package/include/riscv_nds.h +89 -0
- package/include/sifive_vector.h +58 -2
- package/include/sm4evexintrin.h +2 -2
- package/include/smmintrin.h +77 -59
- package/include/spirvintrin.h +194 -0
- package/include/stddefer.h +19 -0
- package/include/tmmintrin.h +116 -147
- package/include/vaesintrin.h +1 -2
- package/include/xmmintrin.h +44 -70
- package/include/xopintrin.h +20 -10
- package/init/build.zig +1 -3
- package/libc/darwin/SDKSettings.json +1 -1
- package/libc/darwin/libSystem.tbd +88 -87
- package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
- package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/aarch64-netbsd-none/aarch64/armreg.h +259 -22
- package/libc/include/aarch64-netbsd-none/aarch64/byte_swap.h +3 -2
- package/libc/include/aarch64-netbsd-none/aarch64/cpu.h +26 -1
- package/libc/include/aarch64-netbsd-none/aarch64/lwp_private.h +3 -0
- package/libc/include/aarch64-netbsd-none/aarch64/pmap.h +7 -33
- package/libc/include/aarch64-netbsd-none/aarch64/sljit_machdep.h +1 -1
- package/libc/include/aarch64-netbsd-none/aarch64/vmparam.h +4 -4
- package/libc/include/aarch64-netbsd-none/machine/armreg.h +259 -22
- package/libc/include/aarch64-netbsd-none/machine/byte_swap.h +3 -2
- package/libc/include/aarch64-netbsd-none/machine/cpu.h +26 -1
- package/libc/include/aarch64-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/aarch64-netbsd-none/machine/pmap.h +7 -33
- package/libc/include/aarch64-netbsd-none/machine/sljit_machdep.h +1 -1
- package/libc/include/aarch64-netbsd-none/machine/vmparam.h +4 -4
- package/libc/include/aarch64-openbsd-none/arm64/cpu.h +7 -1
- package/libc/include/aarch64-openbsd-none/arm64/intr.h +9 -1
- package/libc/include/aarch64-openbsd-none/machine/cpu.h +7 -1
- package/libc/include/aarch64-openbsd-none/machine/intr.h +9 -1
- package/libc/include/any-darwin-any/AvailabilityInternal.h +10 -10
- package/libc/include/any-darwin-any/AvailabilityVersions.h +8 -0
- package/libc/include/any-darwin-any/mach/host_info.h +3 -1
- package/libc/include/any-darwin-any/mach/mach_voucher_types.h +2 -0
- package/libc/include/any-darwin-any/mach/vm_statistics.h +33 -2
- package/libc/include/any-darwin-any/spawn.h +3 -1
- package/libc/include/any-darwin-any/sys/_symbol_aliasing.h +12 -0
- package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
- package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
- package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
- package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
- package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
- package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
- package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
- package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
- package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
- package/libc/include/any-linux-any/linux/android/binder.h +1 -1
- package/libc/include/any-linux-any/linux/bpf.h +28 -0
- package/libc/include/any-linux-any/linux/btrfs.h +1 -0
- package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
- package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
- package/libc/include/any-linux-any/linux/dpll.h +1 -0
- package/libc/include/any-linux-any/linux/elf.h +2 -0
- package/libc/include/any-linux-any/linux/ethtool.h +21 -5
- package/libc/include/any-linux-any/linux/fs.h +1 -0
- package/libc/include/any-linux-any/linux/hyperv.h +1 -1
- package/libc/include/any-linux-any/linux/idxd.h +134 -134
- package/libc/include/any-linux-any/linux/if_alg.h +1 -1
- package/libc/include/any-linux-any/linux/if_link.h +1 -0
- package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
- package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
- package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
- package/libc/include/any-linux-any/linux/io_uring.h +33 -2
- package/libc/include/any-linux-any/linux/iommufd.h +39 -0
- package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
- package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
- package/libc/include/any-linux-any/linux/kvm.h +30 -6
- package/libc/include/any-linux-any/linux/landlock.h +22 -8
- package/libc/include/any-linux-any/linux/magic.h +1 -0
- package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
- package/libc/include/any-linux-any/linux/mount.h +11 -2
- package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
- package/libc/include/any-linux-any/linux/mshv.h +2 -0
- package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
- package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
- package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
- package/libc/include/any-linux-any/linux/nfs.h +1 -1
- package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
- package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
- package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
- package/libc/include/any-linux-any/linux/nl80211.h +104 -3
- package/libc/include/any-linux-any/linux/pci.h +7 -0
- package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
- package/libc/include/any-linux-any/linux/pcitest.h +1 -0
- package/libc/include/any-linux-any/linux/perf_event.h +24 -3
- package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
- package/libc/include/any-linux-any/linux/prctl.h +30 -0
- package/libc/include/any-linux-any/linux/rseq.h +62 -5
- package/libc/include/any-linux-any/linux/shm.h +0 -1
- package/libc/include/any-linux-any/linux/stddef.h +4 -0
- package/libc/include/any-linux-any/linux/sysctl.h +1 -2
- package/libc/include/any-linux-any/linux/taskstats.h +12 -1
- package/libc/include/any-linux-any/linux/tcp.h +23 -3
- package/libc/include/any-linux-any/linux/typelimits.h +8 -0
- package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
- package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
- package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
- package/libc/include/any-linux-any/linux/vduse.h +80 -5
- package/libc/include/any-linux-any/linux/version.h +3 -3
- package/libc/include/any-linux-any/linux/vfio.h +4 -0
- package/libc/include/any-linux-any/linux/videodev2.h +3 -0
- package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
- package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
- package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
- package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
- package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
- package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
- package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
- package/libc/include/arc-linux-any/asm/swab.h +0 -63
- package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
- package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
- package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
- package/libc/include/arm-netbsd-eabi/float.h +2 -1
- package/libc/include/arm-netbsd-eabi/machine/asm.h +48 -19
- package/libc/include/arm-netbsd-eabi/machine/byte_swap.h +121 -0
- package/libc/include/arm-netbsd-eabi/machine/cpu.h +1 -3
- package/libc/include/arm-netbsd-eabi/machine/float.h +2 -1
- package/libc/include/arm-netbsd-eabi/machine/lwp_private.h +81 -0
- package/libc/include/arm-netbsd-eabi/machine/mcontext.h +5 -51
- package/libc/include/arm-netbsd-eabi/machine/mutex.h +1 -1
- package/libc/include/arm-netbsd-eabi/machine/proc.h +2 -2
- package/libc/include/arm-netbsd-eabi/machine/profile.h +28 -96
- package/libc/include/arm-netbsd-eabi/machine/setjmp.h +7 -6
- package/libc/include/arm-netbsd-eabi/machine/sysarch.h +85 -0
- package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/generic-netbsd/altq/altq.h +2 -2
- package/libc/include/generic-netbsd/altq/altq_afmap.h +2 -1
- package/libc/include/generic-netbsd/altq/altq_classq.h +8 -6
- package/libc/include/generic-netbsd/altq/altq_jobs.h +37 -37
- package/libc/include/generic-netbsd/altq/altq_rmclass.h +8 -8
- package/libc/include/generic-netbsd/altq/altq_var.h +2 -2
- package/libc/include/generic-netbsd/arm/arm32/pmap.h +8 -32
- package/libc/include/generic-netbsd/arm/arm32/vmparam.h +5 -5
- package/libc/include/generic-netbsd/arm/asm.h +48 -19
- package/libc/include/generic-netbsd/arm/byte_swap.h +2 -2
- package/libc/include/generic-netbsd/arm/cpu.h +1 -3
- package/libc/include/generic-netbsd/arm/cputypes.h +12 -1
- package/libc/include/generic-netbsd/arm/float.h +2 -1
- package/libc/include/generic-netbsd/arm/lwp_private.h +81 -0
- package/libc/include/generic-netbsd/arm/mcontext.h +5 -51
- package/libc/include/generic-netbsd/arm/mutex.h +1 -1
- package/libc/include/generic-netbsd/arm/proc.h +2 -2
- package/libc/include/generic-netbsd/arm/profile.h +28 -96
- package/libc/include/generic-netbsd/arm/setjmp.h +7 -6
- package/libc/include/generic-netbsd/arpa/nameser.h +3 -3
- package/libc/include/generic-netbsd/arpa/nameser_compat.h +3 -3
- package/libc/include/generic-netbsd/assert.h +12 -22
- package/libc/include/generic-netbsd/bitstring.h +5 -5
- package/libc/include/generic-netbsd/cdbw.h +2 -2
- package/libc/include/generic-netbsd/crypto/cryptodev.h +99 -92
- package/libc/include/generic-netbsd/dev/i2c/emcfaninfo.h +234 -0
- package/libc/include/generic-netbsd/dev/i2c/emcfanreg.h +127 -0
- package/libc/include/generic-netbsd/dev/i2o/i2o.h +3 -366
- package/libc/include/generic-netbsd/dev/ic/hd44780var.h +3 -1
- package/libc/include/generic-netbsd/dev/ic/scmdreg.h +2 -2
- package/libc/include/generic-netbsd/dev/ic/stireg.h +777 -0
- package/libc/include/generic-netbsd/dev/ic/summitreg.h +214 -0
- package/libc/include/generic-netbsd/dev/iscsi/iscsi.h +1 -1
- package/libc/include/generic-netbsd/dev/pci/amrreg.h +2 -2
- package/libc/include/generic-netbsd/dev/pci/mlyreg.h +2 -2
- package/libc/include/generic-netbsd/dev/pci/pcidevs.h +177 -22
- package/libc/include/generic-netbsd/dev/pci/pcidevs_data.h +14971 -14588
- package/libc/include/generic-netbsd/dev/pci/pcireg.h +14 -14
- package/libc/include/generic-netbsd/dev/pckbc/pckbdreg.h +2 -1
- package/libc/include/generic-netbsd/dev/pcmcia/if_rayreg.h +2 -2
- package/libc/include/generic-netbsd/dev/raidframe/raidframeio.h +1 -1
- package/libc/include/generic-netbsd/dev/scsipi/scsi_disk.h +42 -7
- package/libc/include/generic-netbsd/dev/scsipi/scsi_spc.h +2 -2
- package/libc/include/generic-netbsd/dev/scsipi/scsipi_all.h +83 -2
- package/libc/include/generic-netbsd/dev/scsipi/scsipiconf.h +3 -1
- package/libc/include/generic-netbsd/dev/tc/sfbreg.h +3 -3
- package/libc/include/generic-netbsd/dev/tc/sticio.h +2 -2
- package/libc/include/generic-netbsd/dev/usb/umcpmio_hid_reports.h +499 -0
- package/libc/include/generic-netbsd/dev/usb/umcpmio_io.h +45 -0
- package/libc/include/generic-netbsd/dev/usb/usb.h +44 -6
- package/libc/include/generic-netbsd/dev/vndvar.h +2 -2
- package/libc/include/generic-netbsd/dev/wscons/wsconsio.h +19 -1
- package/libc/include/generic-netbsd/dev/wscons/wsksymdef.h +2 -2
- package/libc/include/generic-netbsd/dirent.h +1 -1
- package/libc/include/generic-netbsd/dlfcn.h +4 -2
- package/libc/include/generic-netbsd/elf.h +32 -20
- package/libc/include/generic-netbsd/elfdefinitions.h +1 -1
- package/libc/include/generic-netbsd/evbarm/intr.h +1 -1
- package/libc/include/generic-netbsd/evbmips/lwp_private.h +3 -0
- package/libc/include/generic-netbsd/execinfo.h +4 -2
- package/libc/include/generic-netbsd/fcntl.h +26 -2
- package/libc/include/generic-netbsd/float.h +58 -2
- package/libc/include/generic-netbsd/fmtmsg.h +2 -2
- package/libc/include/generic-netbsd/fs/hfs/libhfs.h +1 -1
- package/libc/include/generic-netbsd/fs/nilfs/nilfs_fs.h +2 -2
- package/libc/include/generic-netbsd/gelf.h +2 -2
- package/libc/include/generic-netbsd/i386/asm.h +12 -4
- package/libc/include/generic-netbsd/i386/byte_swap.h +2 -2
- package/libc/include/generic-netbsd/i386/cpu.h +15 -4
- package/libc/include/generic-netbsd/i386/elf_machdep.h +2 -1
- package/libc/include/generic-netbsd/i386/lwp_private.h +3 -0
- package/libc/include/generic-netbsd/i386/mcontext.h +6 -24
- package/libc/include/generic-netbsd/i386/param.h +9 -1
- package/libc/include/generic-netbsd/i386/pcb.h +6 -2
- package/libc/include/generic-netbsd/i386/ptrace.h +2 -2
- package/libc/include/generic-netbsd/i386/types.h +2 -1
- package/libc/include/generic-netbsd/i386/wchar_limits.h +1 -1
- package/libc/include/generic-netbsd/isofs/cd9660/cd9660_extern.h +6 -1
- package/libc/include/generic-netbsd/isofs/cd9660/cd9660_mount.h +7 -1
- package/libc/include/generic-netbsd/langinfo.h +2 -1
- package/libc/include/generic-netbsd/lauxlib.h +1 -1
- package/libc/include/generic-netbsd/libelf.h +6 -15
- package/libc/include/generic-netbsd/limits.h +1 -1
- package/libc/include/generic-netbsd/lua.h +1 -1
- package/libc/include/generic-netbsd/luaconf.h +1 -1
- package/libc/include/generic-netbsd/lualib.h +1 -1
- package/libc/include/generic-netbsd/lwp.h +1 -1
- package/libc/include/generic-netbsd/machine/ansi.h +2 -2
- package/libc/include/generic-netbsd/machine/aout_machdep.h +39 -2
- package/libc/include/generic-netbsd/machine/arm32/pmap.h +8 -32
- package/libc/include/generic-netbsd/machine/arm32/vmparam.h +5 -5
- package/libc/include/generic-netbsd/machine/asm.h +271 -2
- package/libc/include/generic-netbsd/machine/bswap.h +9 -1
- package/libc/include/generic-netbsd/machine/byte_swap.h +42 -64
- package/libc/include/generic-netbsd/machine/cdefs.h +7 -2
- package/libc/include/generic-netbsd/machine/cpu.h +207 -30
- package/libc/include/generic-netbsd/machine/cputypes.h +12 -1
- package/libc/include/generic-netbsd/machine/disklabel.h +41 -42
- package/libc/include/generic-netbsd/machine/elf_machdep.h +143 -2
- package/libc/include/generic-netbsd/machine/endian.h +1 -1
- package/libc/include/generic-netbsd/machine/fenv.h +35 -2
- package/libc/include/generic-netbsd/machine/float.h +58 -2
- package/libc/include/generic-netbsd/machine/frame.h +129 -2
- package/libc/include/generic-netbsd/machine/ieee.h +3 -2
- package/libc/include/generic-netbsd/machine/ieeefp.h +43 -2
- package/libc/include/generic-netbsd/machine/int_const.h +32 -2
- package/libc/include/generic-netbsd/machine/int_fmtio.h +380 -2
- package/libc/include/generic-netbsd/machine/int_limits.h +2 -2
- package/libc/include/generic-netbsd/machine/int_mwgwtypes.h +2 -2
- package/libc/include/generic-netbsd/machine/int_types.h +2 -2
- package/libc/include/generic-netbsd/machine/kcore.h +39 -2
- package/libc/include/generic-netbsd/machine/limits.h +2 -2
- package/libc/include/generic-netbsd/machine/lock.h +2 -2
- package/libc/include/generic-netbsd/machine/lwp_private.h +83 -0
- package/libc/include/generic-netbsd/machine/math.h +3 -2
- package/libc/include/generic-netbsd/machine/mcontext.h +149 -2
- package/libc/include/generic-netbsd/machine/mutex.h +127 -2
- package/libc/include/generic-netbsd/machine/param.h +90 -23
- package/libc/include/generic-netbsd/machine/pcb.h +54 -2
- package/libc/include/generic-netbsd/machine/pmap.h +262 -2
- package/libc/include/generic-netbsd/machine/proc.h +75 -2
- package/libc/include/generic-netbsd/machine/profile.h +116 -2
- package/libc/include/generic-netbsd/machine/psl.h +2 -2
- package/libc/include/generic-netbsd/machine/pte.h +346 -2
- package/libc/include/generic-netbsd/machine/ptrace.h +62 -2
- package/libc/include/generic-netbsd/machine/reg.h +124 -2
- package/libc/include/generic-netbsd/machine/reloc.h +2 -2
- package/libc/include/generic-netbsd/machine/setjmp.h +69 -2
- package/libc/include/generic-netbsd/machine/signal.h +39 -2
- package/libc/include/generic-netbsd/machine/sljit_machdep.h +1 -1
- package/libc/include/generic-netbsd/machine/sysarch.h +2 -84
- package/libc/include/generic-netbsd/machine/sysreg.h +354 -0
- package/libc/include/generic-netbsd/machine/trap.h +2 -2
- package/libc/include/generic-netbsd/machine/types.h +118 -6
- package/libc/include/generic-netbsd/machine/vmparam.h +235 -2
- package/libc/include/generic-netbsd/machine/wchar_limits.h +2 -2
- package/libc/include/generic-netbsd/math.h +19 -6
- package/libc/include/generic-netbsd/md2.h +6 -3
- package/libc/include/generic-netbsd/mips/asm.h +69 -17
- package/libc/include/generic-netbsd/mips/bswap.h +3 -1
- package/libc/include/generic-netbsd/mips/cpu.h +7 -7
- package/libc/include/generic-netbsd/mips/elf_machdep.h +2 -1
- package/libc/include/generic-netbsd/mips/fenv.h +2 -1
- package/libc/include/generic-netbsd/mips/float.h +3 -2
- package/libc/include/generic-netbsd/mips/frame.h +3 -2
- package/libc/include/generic-netbsd/mips/limits.h +4 -13
- package/libc/include/generic-netbsd/mips/lwp_private.h +87 -0
- package/libc/include/generic-netbsd/mips/mcontext.h +2 -53
- package/libc/include/generic-netbsd/mips/mips3_pte.h +2 -2
- package/libc/include/generic-netbsd/mips/mips_param.h +16 -2
- package/libc/include/generic-netbsd/mips/mutex.h +1 -1
- package/libc/include/generic-netbsd/mips/types.h +1 -1
- package/libc/include/generic-netbsd/mips/vmparam.h +1 -1
- package/libc/include/generic-netbsd/miscfs/kernfs/kernfs.h +2 -2
- package/libc/include/generic-netbsd/miscfs/procfs/procfs.h +33 -2
- package/libc/include/generic-netbsd/miscfs/specfs/specdev.h +1 -2
- package/libc/include/generic-netbsd/monetary.h +2 -1
- package/libc/include/generic-netbsd/net/agr/if_agrioctl.h +2 -2
- package/libc/include/generic-netbsd/net/bpf.h +11 -4
- package/libc/include/generic-netbsd/net/bpfdesc.h +1 -1
- package/libc/include/generic-netbsd/net/dlt.h +222 -48
- package/libc/include/generic-netbsd/net/if.h +20 -5
- package/libc/include/generic-netbsd/net/if_bridgevar.h +2 -3
- package/libc/include/generic-netbsd/net/if_ether.h +4 -3
- package/libc/include/generic-netbsd/net/if_lagg.h +2 -2
- package/libc/include/generic-netbsd/net/if_media.h +2 -2
- package/libc/include/generic-netbsd/net/if_ppp.h +1 -3
- package/libc/include/generic-netbsd/net/if_stats.h +19 -5
- package/libc/include/generic-netbsd/net/net_stats.h +13 -6
- package/libc/include/generic-netbsd/net/npf.h +33 -5
- package/libc/include/generic-netbsd/net/pfkeyv2.h +1 -1
- package/libc/include/generic-netbsd/net/route.h +4 -4
- package/libc/include/generic-netbsd/net80211/ieee80211_node.h +3 -2
- package/libc/include/generic-netbsd/net80211/ieee80211_var.h +2 -2
- package/libc/include/generic-netbsd/netbt/hci.h +3 -3
- package/libc/include/generic-netbsd/netdb.h +2 -2
- package/libc/include/generic-netbsd/netinet/icmp6.h +6 -2
- package/libc/include/generic-netbsd/netinet/in.h +17 -17
- package/libc/include/generic-netbsd/netinet/in_var.h +5 -9
- package/libc/include/generic-netbsd/netinet/ip_mroute.h +24 -28
- package/libc/include/generic-netbsd/netinet/ip_var.h +2 -2
- package/libc/include/generic-netbsd/netinet/sctp.h +4 -4
- package/libc/include/generic-netbsd/netinet/tcp_var.h +2 -2
- package/libc/include/generic-netbsd/netinet/tcp_vtw.h +2 -2
- package/libc/include/generic-netbsd/netinet6/in6_var.h +7 -33
- package/libc/include/generic-netbsd/netinet6/ip6_var.h +2 -2
- package/libc/include/generic-netbsd/nfs/krpc.h +9 -4
- package/libc/include/generic-netbsd/nfs/nfs.h +5 -3
- package/libc/include/generic-netbsd/nfs/nfsdiskless.h +37 -20
- package/libc/include/generic-netbsd/nfs/nfsm_subs.h +4 -7
- package/libc/include/generic-netbsd/nfs/nfsmount.h +3 -4
- package/libc/include/generic-netbsd/nfs/nfsnode.h +9 -6
- package/libc/include/generic-netbsd/nfs/nfsproto.h +5 -2
- package/libc/include/generic-netbsd/nfs/nfsrtt.h +8 -4
- package/libc/include/generic-netbsd/nfs/nfsrvcache.h +9 -3
- package/libc/include/generic-netbsd/nfs/rpcv2.h +5 -3
- package/libc/include/generic-netbsd/nfs/xdr_subs.h +6 -5
- package/libc/include/generic-netbsd/nl_types.h +3 -1
- package/libc/include/generic-netbsd/ntfs/ntfs_inode.h +2 -2
- package/libc/include/generic-netbsd/poll.h +8 -2
- package/libc/include/generic-netbsd/prop/prop_object.h +48 -3
- package/libc/include/generic-netbsd/protocols/talkd.h +2 -2
- package/libc/include/generic-netbsd/pthread.h +51 -12
- package/libc/include/generic-netbsd/regex.h +2 -1
- package/libc/include/generic-netbsd/riscv/ansi.h +3 -0
- package/libc/include/generic-netbsd/riscv/aout_machdep.h +40 -0
- package/libc/include/generic-netbsd/riscv/asm.h +272 -0
- package/libc/include/generic-netbsd/riscv/bswap.h +11 -0
- package/libc/include/generic-netbsd/riscv/byte_swap.h +99 -0
- package/libc/include/generic-netbsd/riscv/cdefs.h +8 -0
- package/libc/include/generic-netbsd/riscv/cpu.h +242 -0
- package/libc/include/generic-netbsd/riscv/disklabel.h +68 -0
- package/libc/include/generic-netbsd/riscv/elf_machdep.h +144 -0
- package/libc/include/generic-netbsd/riscv/endian.h +3 -0
- package/libc/include/generic-netbsd/riscv/endian_machdep.h +3 -0
- package/libc/include/generic-netbsd/riscv/fenv.h +36 -0
- package/libc/include/generic-netbsd/riscv/float.h +59 -0
- package/libc/include/generic-netbsd/riscv/ieee.h +4 -0
- package/libc/include/generic-netbsd/riscv/ieeefp.h +44 -0
- package/libc/include/generic-netbsd/riscv/int_const.h +33 -0
- package/libc/include/generic-netbsd/riscv/int_fmtio.h +381 -0
- package/libc/include/generic-netbsd/riscv/int_limits.h +3 -0
- package/libc/include/generic-netbsd/riscv/int_mwgwtypes.h +3 -0
- package/libc/include/generic-netbsd/riscv/int_types.h +3 -0
- package/libc/include/generic-netbsd/riscv/kcore.h +40 -0
- package/libc/include/generic-netbsd/riscv/limits.h +3 -0
- package/libc/include/generic-netbsd/riscv/lock.h +3 -0
- package/libc/include/generic-netbsd/riscv/lwp_private.h +83 -0
- package/libc/include/generic-netbsd/riscv/math.h +4 -0
- package/libc/include/generic-netbsd/riscv/mcontext.h +150 -0
- package/libc/include/generic-netbsd/riscv/mutex.h +128 -0
- package/libc/include/generic-netbsd/riscv/param.h +110 -0
- package/libc/include/generic-netbsd/riscv/pcb.h +55 -0
- package/libc/include/generic-netbsd/riscv/pmap.h +263 -0
- package/libc/include/generic-netbsd/riscv/proc.h +76 -0
- package/libc/include/generic-netbsd/riscv/profile.h +117 -0
- package/libc/include/generic-netbsd/riscv/pte.h +347 -0
- package/libc/include/generic-netbsd/riscv/ptrace.h +63 -0
- package/libc/include/generic-netbsd/riscv/reg.h +125 -0
- package/libc/include/generic-netbsd/riscv/rwlock.h +1 -0
- package/libc/include/generic-netbsd/riscv/setjmp.h +70 -0
- package/libc/include/generic-netbsd/riscv/signal.h +40 -0
- package/libc/include/generic-netbsd/riscv/sysarch.h +3 -0
- package/libc/include/generic-netbsd/riscv/sysreg.h +354 -0
- package/libc/include/generic-netbsd/riscv/types.h +123 -0
- package/libc/include/generic-netbsd/riscv/vmparam.h +236 -0
- package/libc/include/generic-netbsd/riscv/wchar_limits.h +13 -0
- package/libc/include/generic-netbsd/rmd160.h +3 -3
- package/libc/include/generic-netbsd/rpc/xdr.h +3 -3
- package/libc/include/generic-netbsd/rpcsvc/yp_prot.h +3 -2
- package/libc/include/generic-netbsd/rump/rump_namei.h +2 -2
- package/libc/include/generic-netbsd/rump/rump_syscalls.h +4 -4
- package/libc/include/generic-netbsd/rump/rumpuser.h +6 -1
- package/libc/include/generic-netbsd/rump/rumpvnode_if.h +2 -2
- package/libc/include/generic-netbsd/sha1.h +3 -3
- package/libc/include/generic-netbsd/sha2.h +8 -1
- package/libc/include/generic-netbsd/signal.h +4 -4
- package/libc/include/generic-netbsd/sparc/asm.h +10 -1
- package/libc/include/generic-netbsd/sparc/bswap.h +9 -1
- package/libc/include/generic-netbsd/sparc/cgtworeg.h +2 -2
- package/libc/include/generic-netbsd/sparc/cpu.h +1 -1
- package/libc/include/generic-netbsd/sparc/float.h +3 -1
- package/libc/include/generic-netbsd/sparc/limits.h +4 -6
- package/libc/include/generic-netbsd/sparc/lwp_private.h +51 -0
- package/libc/include/generic-netbsd/sparc/mcontext.h +4 -22
- package/libc/include/generic-netbsd/sparc/mutex.h +1 -1
- package/libc/include/generic-netbsd/sparc/param.h +4 -2
- package/libc/include/generic-netbsd/sparc/pmap.h +2 -2
- package/libc/include/generic-netbsd/sparc/psl.h +6 -3
- package/libc/include/generic-netbsd/sparc/types.h +2 -2
- package/libc/include/generic-netbsd/sparc64/bswap.h +9 -1
- package/libc/include/generic-netbsd/sparc64/cpu.h +2 -2
- package/libc/include/generic-netbsd/sparc64/ctlreg.h +8 -7
- package/libc/include/generic-netbsd/sparc64/intr.h +1 -1
- package/libc/include/generic-netbsd/sparc64/lwp_private.h +3 -0
- package/libc/include/generic-netbsd/sparc64/mcontext.h +4 -4
- package/libc/include/generic-netbsd/sparc64/mutex.h +1 -1
- package/libc/include/generic-netbsd/sparc64/param.h +8 -2
- package/libc/include/generic-netbsd/sparc64/psl.h +7 -2
- package/libc/include/generic-netbsd/sparc64/pte.h +2 -2
- package/libc/include/generic-netbsd/sparc64/vmparam.h +1 -1
- package/libc/include/generic-netbsd/ssp/ssp.h +16 -6
- package/libc/include/generic-netbsd/stdalign.h +3 -3
- package/libc/include/generic-netbsd/stdarg.h +2 -2
- package/libc/include/generic-netbsd/stddef.h +90 -12
- package/libc/include/generic-netbsd/stdlib.h +11 -2
- package/libc/include/generic-netbsd/stdnoreturn.h +2 -2
- package/libc/include/generic-netbsd/string.h +66 -39
- package/libc/include/generic-netbsd/strings.h +17 -3
- package/libc/include/generic-netbsd/sys/atomic.h +10 -5
- package/libc/include/generic-netbsd/sys/bitops.h +2 -2
- package/libc/include/generic-netbsd/sys/bootblock.h +13 -2
- package/libc/include/generic-netbsd/sys/bswap.h +46 -20
- package/libc/include/generic-netbsd/sys/buf.h +3 -3
- package/libc/include/generic-netbsd/sys/cdefs.h +44 -6
- package/libc/include/generic-netbsd/sys/cdefs_aout.h +8 -1
- package/libc/include/generic-netbsd/sys/cdefs_elf.h +9 -2
- package/libc/include/generic-netbsd/sys/chio.h +2 -2
- package/libc/include/generic-netbsd/sys/clock.h +5 -1
- package/libc/include/generic-netbsd/sys/common_limits.h +3 -1
- package/libc/include/generic-netbsd/sys/condvar.h +1 -1
- package/libc/include/generic-netbsd/sys/conf.h +4 -3
- package/libc/include/generic-netbsd/sys/container_of.h +75 -0
- package/libc/include/generic-netbsd/sys/device.h +20 -13
- package/libc/include/generic-netbsd/sys/disk.h +8 -1
- package/libc/include/generic-netbsd/sys/disklabel.h +2 -2
- package/libc/include/generic-netbsd/sys/disklabel_gpt.h +7 -1
- package/libc/include/generic-netbsd/sys/efiio.h +1 -1
- package/libc/include/generic-netbsd/sys/elfdefinitions.h +2368 -1591
- package/libc/include/generic-netbsd/sys/endian.h +17 -17
- package/libc/include/generic-netbsd/sys/evcnt.h +15 -2
- package/libc/include/generic-netbsd/sys/event.h +3 -2
- package/libc/include/generic-netbsd/sys/exec.h +2 -2
- package/libc/include/generic-netbsd/sys/exec_elf.h +32 -20
- package/libc/include/generic-netbsd/sys/fcntl.h +26 -2
- package/libc/include/generic-netbsd/sys/fd_set.h +3 -3
- package/libc/include/generic-netbsd/sys/featuretest.h +24 -6
- package/libc/include/generic-netbsd/sys/file.h +18 -6
- package/libc/include/generic-netbsd/sys/filedesc.h +8 -4
- package/libc/include/generic-netbsd/sys/futex.h +11 -11
- package/libc/include/generic-netbsd/sys/ieee754.h +2 -2
- package/libc/include/generic-netbsd/sys/ipc.h +2 -2
- package/libc/include/generic-netbsd/sys/ipmi.h +4 -2
- package/libc/include/generic-netbsd/sys/ksem.h +1 -1
- package/libc/include/generic-netbsd/sys/ktrace.h +6 -4
- package/libc/include/generic-netbsd/sys/lock.h +2 -2
- package/libc/include/generic-netbsd/sys/lua.h +1 -1
- package/libc/include/generic-netbsd/sys/lwp.h +25 -92
- package/libc/include/generic-netbsd/sys/mbuf.h +15 -13
- package/libc/include/generic-netbsd/sys/mman.h +11 -3
- package/libc/include/generic-netbsd/sys/mount.h +1 -2
- package/libc/include/generic-netbsd/sys/msg.h +3 -3
- package/libc/include/generic-netbsd/sys/mutex.h +1 -3
- package/libc/include/generic-netbsd/sys/namei.h +32 -17
- package/libc/include/generic-netbsd/sys/param.h +11 -8
- package/libc/include/generic-netbsd/sys/pipe.h +10 -11
- package/libc/include/generic-netbsd/sys/poll.h +8 -2
- package/libc/include/generic-netbsd/sys/proc.h +15 -15
- package/libc/include/generic-netbsd/sys/ptrace.h +24 -7
- package/libc/include/generic-netbsd/sys/ptree.h +2 -1
- package/libc/include/generic-netbsd/sys/queue.h +37 -37
- package/libc/include/generic-netbsd/sys/rbtree.h +23 -9
- package/libc/include/generic-netbsd/sys/resourcevar.h +2 -2
- package/libc/include/generic-netbsd/sys/rmd160.h +3 -3
- package/libc/include/generic-netbsd/sys/rndio.h +1 -1
- package/libc/include/generic-netbsd/sys/rwlock.h +1 -2
- package/libc/include/generic-netbsd/sys/sched.h +1 -1
- package/libc/include/generic-netbsd/sys/sdt.h +181 -111
- package/libc/include/generic-netbsd/sys/sem.h +7 -2
- package/libc/include/generic-netbsd/sys/sha1.h +3 -3
- package/libc/include/generic-netbsd/sys/sha2.h +8 -1
- package/libc/include/generic-netbsd/sys/shm.h +2 -2
- package/libc/include/generic-netbsd/sys/siginfo.h +5 -5
- package/libc/include/generic-netbsd/sys/signal.h +1 -1
- package/libc/include/generic-netbsd/sys/sigtypes.h +4 -4
- package/libc/include/generic-netbsd/sys/sleepq.h +14 -27
- package/libc/include/generic-netbsd/sys/socket.h +3 -1
- package/libc/include/generic-netbsd/sys/socketvar.h +4 -4
- package/libc/include/generic-netbsd/sys/stat.h +5 -5
- package/libc/include/generic-netbsd/sys/stdalign.h +55 -0
- package/libc/include/generic-netbsd/sys/stdarg.h +2 -2
- package/libc/include/generic-netbsd/sys/stddef.h +156 -0
- package/libc/include/generic-netbsd/sys/swap.h +2 -2
- package/libc/include/generic-netbsd/sys/syncobj.h +9 -6
- package/libc/include/generic-netbsd/sys/syscall.h +29 -8
- package/libc/include/generic-netbsd/sys/syscallargs.h +89 -12
- package/libc/include/generic-netbsd/sys/sysctl.h +94 -86
- package/libc/include/generic-netbsd/sys/syslimits.h +8 -1
- package/libc/include/generic-netbsd/sys/syslog.h +6 -7
- package/libc/include/generic-netbsd/sys/time.h +10 -8
- package/libc/include/generic-netbsd/sys/tree.h +13 -13
- package/libc/include/generic-netbsd/sys/tty.h +2 -2
- package/libc/include/generic-netbsd/sys/ttycom.h +7 -1
- package/libc/include/generic-netbsd/sys/types.h +1 -1
- package/libc/include/generic-netbsd/sys/ucontext.h +46 -49
- package/libc/include/generic-netbsd/sys/un.h +12 -4
- package/libc/include/generic-netbsd/sys/unistd.h +103 -102
- package/libc/include/generic-netbsd/sys/unpcb.h +2 -2
- package/libc/include/generic-netbsd/sys/vmmeter.h +1 -39
- package/libc/include/generic-netbsd/sys/vnode_if.h +2 -2
- package/libc/include/generic-netbsd/sys/vnode_impl.h +6 -3
- package/libc/include/generic-netbsd/sys/wapbl_replay.h +2 -2
- package/libc/include/generic-netbsd/sys/wchan.h +37 -0
- package/libc/include/generic-netbsd/syslog.h +6 -7
- package/libc/include/generic-netbsd/time.h +44 -8
- package/libc/include/generic-netbsd/tzfile.h +11 -6
- package/libc/include/generic-netbsd/uchar.h +1 -1
- package/libc/include/generic-netbsd/ucontext.h +2 -1
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs.h +31 -16
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs_dir.h +1 -1
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs_extents.h +5 -5
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs_extern.h +4 -4
- package/libc/include/generic-netbsd/ufs/ffs/ffs_extern.h +1 -1
- package/libc/include/generic-netbsd/ufs/ffs/fs.h +3 -3
- package/libc/include/generic-netbsd/ufs/ufs/quota2.h +2 -2
- package/libc/include/generic-netbsd/unistd.h +11 -5
- package/libc/include/generic-netbsd/unwind.h +1 -1
- package/libc/include/generic-netbsd/util.h +15 -1
- package/libc/include/generic-netbsd/uvm/uvm.h +1 -5
- package/libc/include/generic-netbsd/uvm/uvm_extern.h +3 -4
- package/libc/include/generic-netbsd/uvm/uvm_object.h +2 -2
- package/libc/include/generic-netbsd/uvm/uvm_param.h +1 -1
- package/libc/include/generic-netbsd/uvm/uvm_swap.h +14 -3
- package/libc/include/generic-netbsd/wchar.h +7 -2
- package/libc/include/generic-netbsd/x86/bootinfo.h +4 -1
- package/libc/include/generic-netbsd/x86/cpu.h +18 -1
- package/libc/include/generic-netbsd/x86/cpu_extended_state.h +3 -1
- package/libc/include/generic-netbsd/x86/cpuvar.h +4 -1
- package/libc/include/generic-netbsd/x86/float.h +24 -1
- package/libc/include/generic-netbsd/x86/ieee.h +11 -7
- package/libc/include/generic-netbsd/x86/lwp_private.h +56 -0
- package/libc/include/generic-netbsd/x86/mutex.h +1 -1
- package/libc/include/generic-netbsd/x86/specialreg.h +111 -23
- package/libc/include/generic-openbsd/db.h +1 -7
- package/libc/include/generic-openbsd/ddb/db_interface.h +2 -1
- package/libc/include/generic-openbsd/fnmatch.h +6 -2
- package/libc/include/generic-openbsd/login_cap.h +3 -1
- package/libc/include/generic-openbsd/miscfs/fuse/fusefs_node.h +2 -1
- package/libc/include/generic-openbsd/net/bpf.h +3 -1
- package/libc/include/generic-openbsd/net/hfsc.h +4 -4
- package/libc/include/generic-openbsd/net/if.h +5 -1
- package/libc/include/generic-openbsd/net/if_bridge.h +48 -1
- package/libc/include/generic-openbsd/net/if_etherbridge.h +20 -7
- package/libc/include/generic-openbsd/net/if_media.h +26 -1
- package/libc/include/generic-openbsd/net/if_pflow.h +71 -20
- package/libc/include/generic-openbsd/net/if_pfsync.h +2 -2
- package/libc/include/generic-openbsd/net/if_sppp.h +2 -1
- package/libc/include/generic-openbsd/net/if_trunk.h +3 -2
- package/libc/include/generic-openbsd/net/if_types.h +2 -2
- package/libc/include/generic-openbsd/net/if_var.h +34 -12
- package/libc/include/generic-openbsd/net/netisr.h +1 -3
- package/libc/include/generic-openbsd/net/pfvar.h +154 -1
- package/libc/include/generic-openbsd/net/pfvar_priv.h +256 -1
- package/libc/include/generic-openbsd/net80211/ieee80211.h +76 -4
- package/libc/include/generic-openbsd/net80211/ieee80211_ioctl.h +3 -2
- package/libc/include/generic-openbsd/net80211/ieee80211_node.h +48 -2
- package/libc/include/generic-openbsd/net80211/ieee80211_proto.h +4 -1
- package/libc/include/generic-openbsd/net80211/ieee80211_var.h +18 -2
- package/libc/include/generic-openbsd/netinet/if_ether.h +12 -11
- package/libc/include/generic-openbsd/netinet/igmp_var.h +17 -3
- package/libc/include/generic-openbsd/netinet/in_pcb.h +2 -1
- package/libc/include/generic-openbsd/netinet/in_var.h +17 -59
- package/libc/include/generic-openbsd/netinet/ip.h +3 -2
- package/libc/include/generic-openbsd/netinet/tcp_timer.h +1 -2
- package/libc/include/generic-openbsd/netinet6/in6_var.h +15 -29
- package/libc/include/generic-openbsd/netinet6/ip6_var.h +1 -2
- package/libc/include/generic-openbsd/netinet6/mld6_var.h +17 -4
- package/libc/include/generic-openbsd/netinet6/nd6.h +2 -2
- package/libc/include/generic-openbsd/pthread.h +2 -2
- package/libc/include/generic-openbsd/signal.h +2 -2
- package/libc/include/generic-openbsd/sndio.h +6 -12
- package/libc/include/generic-openbsd/strings.h +5 -1
- package/libc/include/generic-openbsd/sys/device.h +4 -3
- package/libc/include/generic-openbsd/sys/disklabel.h +17 -5
- package/libc/include/generic-openbsd/sys/dkio.h +3 -5
- package/libc/include/generic-openbsd/sys/filedesc.h +3 -2
- package/libc/include/generic-openbsd/sys/mbuf.h +1 -1
- package/libc/include/generic-openbsd/sys/mman.h +7 -2
- package/libc/include/generic-openbsd/sys/mutex.h +10 -7
- package/libc/include/generic-openbsd/sys/namei.h +8 -7
- package/libc/include/generic-openbsd/sys/param.h +1 -1
- package/libc/include/generic-openbsd/sys/pledge.h +1 -3
- package/libc/include/generic-openbsd/sys/protosw.h +8 -1
- package/libc/include/generic-openbsd/sys/ptrace.h +4 -1
- package/libc/include/generic-openbsd/sys/sched.h +8 -1
- package/libc/include/generic-openbsd/sys/signal.h +4 -2
- package/libc/include/generic-openbsd/sys/socketvar.h +2 -1
- package/libc/include/generic-openbsd/sys/sockio.h +11 -1
- package/libc/include/generic-openbsd/sys/syscall.h +5 -3
- package/libc/include/generic-openbsd/sys/syscallargs.h +9 -2
- package/libc/include/generic-openbsd/sys/sysctl.h +7 -4
- package/libc/include/generic-openbsd/sys/types.h +6 -2
- package/libc/include/generic-openbsd/sys/videoio.h +143 -68
- package/libc/include/generic-openbsd/sys/xcall.h +2 -2
- package/libc/include/generic-openbsd/time.h +2 -2
- package/libc/include/generic-openbsd/unistd.h +2 -2
- package/libc/include/generic-openbsd/uvm/uvm_anon.h +2 -3
- package/libc/include/generic-openbsd/uvm/uvm_extern.h +1 -19
- package/libc/include/generic-openbsd/uvm/uvm_pager.h +3 -4
- package/libc/include/generic-openbsd/uvm/uvm_pmemrange.h +1 -2
- package/libc/include/generic-openbsd/uvm/uvm_swap.h +4 -1
- package/libc/include/generic-openbsd/uvm/uvm_vnode.h +3 -4
- package/libc/include/generic-openbsd/uvm/uvmexp.h +41 -35
- package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
- package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
- package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
- package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/m68k-netbsd-none/m68k/asm.h +11 -2
- package/libc/include/m68k-netbsd-none/m68k/bus_dma.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/byte_swap.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/cacheops_30.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/cacheops_40.h +3 -1
- package/libc/include/m68k-netbsd-none/m68k/cacheops_60.h +5 -3
- package/libc/include/m68k-netbsd-none/m68k/cpu.h +86 -59
- package/libc/include/m68k-netbsd-none/m68k/cpuframe.h +5 -5
- package/libc/include/m68k-netbsd-none/m68k/fenv.h +6 -4
- package/libc/include/m68k-netbsd-none/m68k/float.h +26 -1
- package/libc/include/m68k-netbsd-none/m68k/frame.h +31 -19
- package/libc/include/m68k-netbsd-none/m68k/ieee.h +13 -8
- package/libc/include/m68k-netbsd-none/m68k/ieeefp.h +3 -3
- package/libc/include/m68k-netbsd-none/m68k/int_limits.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/intr.h +211 -0
- package/libc/include/m68k-netbsd-none/m68k/kcore.h +31 -31
- package/libc/include/m68k-netbsd-none/m68k/lwp_private.h +64 -0
- package/libc/include/m68k-netbsd-none/m68k/m68k.h +3 -7
- package/libc/include/m68k-netbsd-none/m68k/mcontext.h +5 -36
- package/libc/include/m68k-netbsd-none/m68k/mmu_30.h +105 -0
- package/libc/include/m68k-netbsd-none/m68k/mmu_40.h +232 -0
- package/libc/include/m68k-netbsd-none/m68k/mmu_51.h +273 -0
- package/libc/include/m68k-netbsd-none/m68k/mutex.h +1 -1
- package/libc/include/m68k-netbsd-none/m68k/pcb.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/pmap_motorola.h +32 -23
- package/libc/include/m68k-netbsd-none/m68k/psl.h +26 -7
- package/libc/include/m68k-netbsd-none/m68k/pte_motorola.h +37 -26
- package/libc/include/m68k-netbsd-none/m68k/trap.h +7 -7
- package/libc/include/m68k-netbsd-none/mac68k/cpu.h +1 -57
- package/libc/include/m68k-netbsd-none/mac68k/intr.h +3 -2
- package/libc/include/m68k-netbsd-none/mac68k/lwp_private.h +3 -0
- package/libc/include/m68k-netbsd-none/mac68k/pmap.h +20 -2
- package/libc/include/m68k-netbsd-none/mac68k/z8530var.h +2 -2
- package/libc/include/m68k-netbsd-none/machine/cpu.h +1 -57
- package/libc/include/m68k-netbsd-none/machine/intr.h +3 -2
- package/libc/include/m68k-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/m68k-netbsd-none/machine/pmap.h +20 -2
- package/libc/include/m68k-netbsd-none/machine/z8530var.h +2 -2
- package/libc/include/mips-linux-any/asm/errno.h +2 -0
- package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
- package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
- package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
- package/libc/include/mips-netbsd-eabi/machine/lwp_private.h +3 -0
- package/libc/include/mips64-openbsd-none/machine/octeonvar.h +1 -27
- package/libc/include/mips64-openbsd-none/octeon/octeonvar.h +1 -27
- package/libc/include/mips64el-openbsd-none/loongson/apmvar.h +1 -1
- package/libc/include/mips64el-openbsd-none/loongson/param.h +1 -5
- package/libc/include/mips64el-openbsd-none/machine/apmvar.h +1 -1
- package/libc/include/mips64el-openbsd-none/machine/param.h +1 -5
- package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/powerpc-linux-gnu/bits/struct_mutex.h +2 -2
- package/libc/include/powerpc-netbsd-eabi/evbppc/lwp_private.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/float.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ansi.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/aout_machdep.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/asm.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/cdefs.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/cpu.h +65 -0
- package/libc/include/powerpc-netbsd-eabi/machine/disklabel.h +69 -0
- package/libc/include/powerpc-netbsd-eabi/machine/elf_machdep.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/endian.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/fenv.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/float.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/frame.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ieee.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ieeefp.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_const.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_fmtio.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_limits.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_mwgwtypes.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_types.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/kcore.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/limits.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/lock.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/lwp_private.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/math.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/mcontext.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/mutex.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/param.h +43 -0
- package/libc/include/powerpc-netbsd-eabi/machine/pcb.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/pmap.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/proc.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/profile.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/psl.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/pte.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ptrace.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/reg.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/reloc.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/setjmp.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/signal.h +3 -0
- package/libc/include/{mips-netbsd-eabi → powerpc-netbsd-eabi}/machine/sljit_machdep.h +1 -1
- package/libc/include/powerpc-netbsd-eabi/machine/trap.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/types.h +11 -0
- package/libc/include/powerpc-netbsd-eabi/machine/vmparam.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/wchar_limits.h +3 -0
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/asm.h +12 -2
- package/libc/include/powerpc-netbsd-eabi/powerpc/bswap.h +14 -0
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/cpu.h +3 -3
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/fenv.h +2 -1
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/pmap.h +3 -3
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ieee.h +7 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/limits.h +4 -13
- package/libc/include/powerpc-netbsd-eabi/powerpc/lwp_private.h +79 -0
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/mcontext.h +6 -50
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/mutex.h +1 -1
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/hid.h +2 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/pmap.h +2 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/pmap.h +1 -1
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/psl.h +2 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/vmparam.h +1 -1
- package/libc/include/powerpc-openbsd-eabihf/powerpc/intr.h +1 -4
- package/libc/include/powerpc64-openbsd-none/machine/atomic.h +3 -3
- package/libc/include/powerpc64-openbsd-none/powerpc64/atomic.h +3 -3
- package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
- package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
- package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
- package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/riscv32-netbsd-none/machine/bswap.h +11 -0
- package/libc/include/riscv32-netbsd-none/machine/endian_machdep.h +3 -0
- package/libc/include/riscv32-netbsd-none/machine/rwlock.h +1 -0
- package/libc/include/riscv32-netbsd-none/machine/wchar_limits.h +4 -0
- package/libc/include/riscv64-netbsd-none/machine/bswap.h +11 -0
- package/libc/include/riscv64-netbsd-none/machine/endian_machdep.h +3 -0
- package/libc/include/riscv64-netbsd-none/machine/rwlock.h +1 -0
- package/libc/include/riscv64-netbsd-none/machine/wchar_limits.h +4 -0
- package/libc/include/riscv64-openbsd-none/machine/cpu.h +4 -8
- package/libc/include/riscv64-openbsd-none/machine/cpufunc.h +4 -4
- package/libc/include/riscv64-openbsd-none/machine/pmap.h +5 -1
- package/libc/include/riscv64-openbsd-none/machine/pte.h +9 -1
- package/libc/include/riscv64-openbsd-none/riscv64/cpu.h +4 -8
- package/libc/include/riscv64-openbsd-none/riscv64/cpufunc.h +4 -4
- package/libc/include/riscv64-openbsd-none/riscv64/pmap.h +5 -1
- package/libc/include/riscv64-openbsd-none/riscv64/pte.h +9 -1
- package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/s390x-linux-gnu/bits/fenv.h +2 -2
- package/libc/include/s390x-linux-gnu/bits/struct_mutex.h +2 -2
- package/libc/include/sparc-linux-any/asm/errno.h +2 -0
- package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
- package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
- package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
- package/libc/include/sparc-netbsd-none/float.h +3 -1
- package/libc/include/sparc-netbsd-none/machine/asm.h +10 -1
- package/libc/include/sparc-netbsd-none/machine/cgtworeg.h +2 -2
- package/libc/include/sparc-netbsd-none/machine/cpu.h +1 -1
- package/libc/include/sparc-netbsd-none/machine/float.h +3 -1
- package/libc/include/sparc-netbsd-none/machine/limits.h +4 -6
- package/libc/include/sparc-netbsd-none/machine/lwp_private.h +51 -0
- package/libc/include/sparc-netbsd-none/machine/mcontext.h +4 -22
- package/libc/include/sparc-netbsd-none/machine/mutex.h +1 -1
- package/libc/include/sparc-netbsd-none/machine/param.h +4 -2
- package/libc/include/sparc-netbsd-none/machine/pmap.h +2 -2
- package/libc/include/sparc-netbsd-none/machine/psl.h +6 -3
- package/libc/include/sparc-netbsd-none/machine/sxreg.h +5 -1
- package/libc/include/sparc-netbsd-none/machine/types.h +2 -2
- package/libc/include/sparc-netbsd-none/sparc/sxreg.h +5 -1
- package/libc/include/sparc64-netbsd-none/machine/cpu.h +2 -2
- package/libc/include/sparc64-netbsd-none/machine/ctlreg.h +8 -7
- package/libc/include/sparc64-netbsd-none/machine/intr.h +1 -1
- package/libc/include/sparc64-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/sparc64-netbsd-none/machine/mcontext.h +4 -4
- package/libc/include/sparc64-netbsd-none/machine/mutex.h +1 -1
- package/libc/include/sparc64-netbsd-none/machine/param.h +8 -2
- package/libc/include/sparc64-netbsd-none/machine/psl.h +7 -2
- package/libc/include/sparc64-netbsd-none/machine/pte.h +2 -2
- package/libc/include/sparc64-netbsd-none/machine/vmparam.h +1 -1
- package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
- package/libc/include/x86-linux-any/asm/kvm.h +13 -8
- package/libc/include/x86-linux-any/asm/svm.h +16 -16
- package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
- package/libc/include/x86-linux-gnu/bits/struct_mutex.h +2 -2
- package/libc/include/x86-netbsd-none/machine/asm.h +12 -4
- package/libc/include/x86-netbsd-none/machine/byte_swap.h +2 -2
- package/libc/include/x86-netbsd-none/machine/cpu.h +15 -4
- package/libc/include/x86-netbsd-none/machine/elf_machdep.h +2 -1
- package/libc/include/x86-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/x86-netbsd-none/machine/mcontext.h +6 -24
- package/libc/include/x86-netbsd-none/machine/param.h +9 -1
- package/libc/include/x86-netbsd-none/machine/pcb.h +6 -2
- package/libc/include/x86-netbsd-none/machine/ptrace.h +2 -2
- package/libc/include/x86-netbsd-none/machine/types.h +2 -1
- package/libc/include/x86-openbsd-none/i386/specialreg.h +3 -1
- package/libc/include/x86-openbsd-none/machine/specialreg.h +3 -1
- package/libc/include/x86_64-netbsd-none/amd64/asm.h +11 -3
- package/libc/include/x86_64-netbsd-none/amd64/byte_swap.h +2 -2
- package/libc/include/x86_64-netbsd-none/amd64/cpu.h +13 -3
- package/libc/include/x86_64-netbsd-none/amd64/frame.h +2 -2
- package/libc/include/x86_64-netbsd-none/amd64/lwp_private.h +3 -0
- package/libc/include/x86_64-netbsd-none/amd64/mcontext.h +5 -23
- package/libc/include/x86_64-netbsd-none/amd64/param.h +23 -4
- package/libc/include/x86_64-netbsd-none/amd64/pcb.h +14 -3
- package/libc/include/x86_64-netbsd-none/amd64/ptrace.h +2 -2
- package/libc/include/x86_64-netbsd-none/amd64/types.h +2 -1
- package/libc/include/x86_64-netbsd-none/machine/asm.h +11 -3
- package/libc/include/x86_64-netbsd-none/machine/byte_swap.h +2 -2
- package/libc/include/x86_64-netbsd-none/machine/cpu.h +13 -3
- package/libc/include/x86_64-netbsd-none/machine/frame.h +2 -2
- package/libc/include/x86_64-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/x86_64-netbsd-none/machine/mcontext.h +5 -23
- package/libc/include/x86_64-netbsd-none/machine/param.h +23 -4
- package/libc/include/x86_64-netbsd-none/machine/pcb.h +14 -3
- package/libc/include/x86_64-netbsd-none/machine/ptrace.h +2 -2
- package/libc/include/x86_64-netbsd-none/machine/types.h +2 -1
- package/libc/include/x86_64-openbsd-none/amd64/conf.h +11 -2
- package/libc/include/x86_64-openbsd-none/amd64/cpu.h +14 -4
- package/libc/include/x86_64-openbsd-none/amd64/cpufunc.h +2 -3
- package/libc/include/x86_64-openbsd-none/amd64/ghcb.h +2 -1
- package/libc/include/x86_64-openbsd-none/amd64/i82489var.h +2 -4
- package/libc/include/x86_64-openbsd-none/amd64/i8259.h +1 -53
- package/libc/include/x86_64-openbsd-none/amd64/intr.h +5 -2
- package/libc/include/x86_64-openbsd-none/amd64/intrdefs.h +9 -7
- package/libc/include/x86_64-openbsd-none/amd64/kexec.h +48 -0
- package/libc/include/x86_64-openbsd-none/amd64/specialreg.h +4 -1
- package/libc/include/x86_64-openbsd-none/machine/conf.h +11 -2
- package/libc/include/x86_64-openbsd-none/machine/cpu.h +14 -4
- package/libc/include/x86_64-openbsd-none/machine/cpufunc.h +2 -3
- package/libc/include/x86_64-openbsd-none/machine/ghcb.h +2 -1
- package/libc/include/x86_64-openbsd-none/machine/i82489var.h +2 -4
- package/libc/include/x86_64-openbsd-none/machine/i8259.h +1 -53
- package/libc/include/x86_64-openbsd-none/machine/intr.h +5 -2
- package/libc/include/x86_64-openbsd-none/machine/intrdefs.h +9 -7
- package/libc/include/x86_64-openbsd-none/machine/kexec.h +48 -0
- package/libc/include/x86_64-openbsd-none/machine/specialreg.h +4 -1
- package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
- package/libc/netbsd/abilists +0 -0
- package/libc/netbsd/lib/csu/arch/riscv/crt0.S +62 -0
- package/libc/netbsd/lib/csu/common/crt0-common.c +32 -7
- package/libc/netbsd/lib/csu/common/csu-common.h +2 -0
- package/libc/openbsd/abilists +0 -0
- package/libcxx/include/__algorithm/all_of.h +11 -5
- package/libcxx/include/__algorithm/comp.h +4 -0
- package/libcxx/include/__algorithm/copy.h +28 -147
- package/libcxx/include/__algorithm/copy_backward.h +9 -24
- package/libcxx/include/__algorithm/copy_n.h +50 -16
- package/libcxx/include/__algorithm/count.h +2 -2
- package/libcxx/include/__algorithm/equal.h +43 -55
- package/libcxx/include/__algorithm/fill.h +26 -8
- package/libcxx/include/__algorithm/fill_n.h +32 -46
- package/libcxx/include/__algorithm/find.h +96 -39
- package/libcxx/include/__algorithm/find_end.h +105 -0
- package/libcxx/include/__algorithm/for_each.h +18 -24
- package/libcxx/include/__algorithm/for_each_n.h +20 -47
- package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
- package/libcxx/include/__algorithm/for_each_segment.h +26 -0
- package/libcxx/include/__algorithm/generate.h +4 -2
- package/libcxx/include/__algorithm/generate_n.h +19 -6
- package/libcxx/include/__algorithm/is_permutation.h +4 -4
- package/libcxx/include/__algorithm/iterator_operations.h +3 -0
- package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
- package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
- package/libcxx/include/__algorithm/make_heap.h +16 -4
- package/libcxx/include/__algorithm/mismatch.h +2 -2
- package/libcxx/include/__algorithm/move.h +8 -19
- package/libcxx/include/__algorithm/move_backward.h +9 -24
- package/libcxx/include/__algorithm/none_of.h +4 -4
- package/libcxx/include/__algorithm/partial_sort.h +1 -1
- package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
- package/libcxx/include/__algorithm/pstl.h +9 -9
- package/libcxx/include/__algorithm/radix_sort.h +27 -25
- package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
- package/libcxx/include/__algorithm/ranges_equal.h +17 -26
- package/libcxx/include/__algorithm/ranges_fill.h +7 -6
- package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
- package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
- package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
- package/libcxx/include/__algorithm/rotate.h +27 -44
- package/libcxx/include/__algorithm/search_n.h +49 -37
- package/libcxx/include/__algorithm/sift_down.h +19 -18
- package/libcxx/include/__algorithm/simd_utils.h +33 -4
- package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
- package/libcxx/include/__algorithm/stable_sort.h +1 -1
- package/libcxx/include/__assertion_handler +31 -4
- package/libcxx/include/__atomic/atomic.h +36 -60
- package/libcxx/include/__atomic/atomic_flag.h +19 -37
- package/libcxx/include/__atomic/atomic_ref.h +29 -12
- package/libcxx/include/__atomic/atomic_sync.h +127 -55
- package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
- package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
- package/libcxx/include/__atomic/contention_t.h +27 -3
- package/libcxx/include/__atomic/floating_point_helper.h +55 -0
- package/libcxx/include/__bit/countl.h +1 -2
- package/libcxx/include/__bit/countr.h +1 -2
- package/libcxx/include/__bit/has_single_bit.h +1 -1
- package/libcxx/include/__bit/popcount.h +0 -1
- package/libcxx/include/__bit/rotate.h +15 -26
- package/libcxx/include/__bit_reference +207 -18
- package/libcxx/include/__charconv/from_chars_integral.h +1 -1
- package/libcxx/include/__charconv/from_chars_result.h +1 -1
- package/libcxx/include/__charconv/to_chars_integral.h +1 -0
- package/libcxx/include/__charconv/to_chars_result.h +1 -1
- package/libcxx/include/__charconv/traits.h +3 -24
- package/libcxx/include/__chrono/day.h +11 -0
- package/libcxx/include/__chrono/duration.h +58 -33
- package/libcxx/include/__chrono/file_clock.h +4 -2
- package/libcxx/include/__chrono/is_clock.h +72 -0
- package/libcxx/include/__chrono/leap_second.h +13 -0
- package/libcxx/include/__chrono/month.h +13 -0
- package/libcxx/include/__chrono/month_weekday.h +22 -0
- package/libcxx/include/__chrono/monthday.h +20 -0
- package/libcxx/include/__chrono/steady_clock.h +1 -1
- package/libcxx/include/__chrono/system_clock.h +3 -3
- package/libcxx/include/__chrono/time_point.h +37 -13
- package/libcxx/include/__chrono/weekday.h +25 -0
- package/libcxx/include/__chrono/year.h +11 -0
- package/libcxx/include/__chrono/year_month.h +13 -0
- package/libcxx/include/__chrono/year_month_day.h +23 -0
- package/libcxx/include/__chrono/year_month_weekday.h +26 -0
- package/libcxx/include/__chrono/zoned_time.h +16 -0
- package/libcxx/include/__compare/is_eq.h +6 -6
- package/libcxx/include/__compare/strong_order.h +12 -30
- package/libcxx/include/__compare/three_way_comparable.h +2 -2
- package/libcxx/include/__concepts/comparison_common_type.h +40 -0
- package/libcxx/include/__concepts/equality_comparable.h +2 -1
- package/libcxx/include/__condition_variable/condition_variable.h +1 -1
- package/libcxx/include/__config +63 -280
- package/libcxx/include/__configuration/abi.h +14 -24
- package/libcxx/include/__configuration/availability.h +65 -118
- package/libcxx/include/__configuration/compiler.h +6 -6
- package/libcxx/include/__configuration/experimental.h +38 -0
- package/libcxx/include/__configuration/hardening.h +215 -0
- package/libcxx/include/__configuration/language.h +3 -0
- package/libcxx/include/__configuration/platform.h +9 -16
- package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
- package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
- package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
- package/libcxx/include/__exception/exception.h +6 -4
- package/libcxx/include/__exception/exception_ptr.h +27 -5
- package/libcxx/include/__exception/nested_exception.h +2 -2
- package/libcxx/include/__exception/operations.h +5 -5
- package/libcxx/include/__expected/bad_expected_access.h +8 -6
- package/libcxx/include/__expected/expected.h +62 -64
- package/libcxx/include/__expected/unexpected.h +4 -4
- package/libcxx/include/__filesystem/copy_options.h +4 -4
- package/libcxx/include/__filesystem/directory_entry.h +37 -33
- package/libcxx/include/__filesystem/directory_iterator.h +9 -11
- package/libcxx/include/__filesystem/directory_options.h +7 -4
- package/libcxx/include/__filesystem/file_status.h +3 -3
- package/libcxx/include/__filesystem/filesystem_error.h +9 -10
- package/libcxx/include/__filesystem/operations.h +97 -66
- package/libcxx/include/__filesystem/path.h +68 -64
- package/libcxx/include/__filesystem/path_iterator.h +1 -3
- package/libcxx/include/__filesystem/perm_options.h +4 -4
- package/libcxx/include/__filesystem/perms.h +4 -4
- package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
- package/libcxx/include/__filesystem/space_info.h +1 -1
- package/libcxx/include/__filesystem/u8path.h +12 -14
- package/libcxx/include/__flat_map/flat_map.h +88 -71
- package/libcxx/include/__flat_map/flat_multimap.h +251 -172
- package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
- package/libcxx/include/__flat_map/utils.h +1 -0
- package/libcxx/include/__flat_set/flat_multiset.h +211 -143
- package/libcxx/include/__flat_set/flat_set.h +86 -68
- package/libcxx/include/__format/concepts.h +0 -14
- package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
- package/libcxx/include/__format/fmt_pair_like.h +42 -0
- package/libcxx/include/__format/format_arg.h +7 -10
- package/libcxx/include/__format/format_args.h +1 -1
- package/libcxx/include/__format/format_context.h +5 -5
- package/libcxx/include/__format/format_parse_context.h +2 -2
- package/libcxx/include/__format/formatter_output.h +30 -34
- package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
- package/libcxx/include/__format/range_default_formatter.h +2 -41
- package/libcxx/include/__format/range_format.h +71 -0
- package/libcxx/include/__format/range_formatter.h +1 -0
- package/libcxx/include/__format/width_estimation_table.h +4 -2
- package/libcxx/include/__functional/bind.h +10 -15
- package/libcxx/include/__functional/bind_back.h +1 -1
- package/libcxx/include/__functional/bind_front.h +1 -1
- package/libcxx/include/__functional/function.h +57 -75
- package/libcxx/include/__functional/hash.h +1 -10
- package/libcxx/include/__functional/identity.h +1 -1
- package/libcxx/include/__functional/is_transparent.h +8 -0
- package/libcxx/include/__functional/mem_fn.h +2 -1
- package/libcxx/include/__functional/operations.h +18 -0
- package/libcxx/include/__functional/ranges_operations.h +7 -0
- package/libcxx/include/__functional/reference_wrapper.h +7 -5
- package/libcxx/include/__functional/weak_result_type.h +14 -28
- package/libcxx/include/__fwd/ios.h +1 -1
- package/libcxx/include/__fwd/tuple.h +14 -0
- package/libcxx/include/__hash_table +371 -357
- package/libcxx/include/__ios/fpos.h +4 -4
- package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/bounded_iter.h +7 -8
- package/libcxx/include/__iterator/concepts.h +6 -9
- package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
- package/libcxx/include/__iterator/distance.h +40 -18
- package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/insert_iterator.h +1 -7
- package/libcxx/include/__iterator/istream_iterator.h +6 -7
- package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
- package/libcxx/include/__iterator/iter_move.h +1 -1
- package/libcxx/include/__iterator/iterator.h +13 -0
- package/libcxx/include/__iterator/iterator_traits.h +13 -14
- package/libcxx/include/__iterator/ostream_iterator.h +1 -7
- package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
- package/libcxx/include/__iterator/reverse_iterator.h +8 -13
- package/libcxx/include/__iterator/segmented_iterator.h +3 -8
- package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
- package/libcxx/include/__iterator/wrap_iter.h +8 -6
- package/libcxx/include/__locale +3 -10
- package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
- package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
- package/libcxx/include/__locale_dir/messages.h +1 -1
- package/libcxx/include/__locale_dir/money.h +2 -2
- package/libcxx/include/__locale_dir/num.h +190 -243
- package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
- package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
- package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
- package/libcxx/include/__locale_dir/support/linux.h +0 -37
- package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
- package/libcxx/include/__locale_dir/support/newlib.h +243 -0
- package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
- package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
- package/libcxx/include/__locale_dir/support/windows.h +0 -29
- package/libcxx/include/__locale_dir/time.h +3 -7
- package/libcxx/include/__math/hypot.h +1 -1
- package/libcxx/include/__math/logarithms.h +1 -1
- package/libcxx/include/__math/traits.h +80 -11
- package/libcxx/include/__mdspan/extents.h +7 -4
- package/libcxx/include/__mdspan/layout_stride.h +4 -5
- package/libcxx/include/__mdspan/mdspan.h +29 -23
- package/libcxx/include/__memory/addressof.h +7 -5
- package/libcxx/include/__memory/align.h +18 -1
- package/libcxx/include/__memory/allocate_at_least.h +15 -10
- package/libcxx/include/__memory/allocator.h +14 -26
- package/libcxx/include/__memory/allocator_traits.h +6 -4
- package/libcxx/include/__memory/compressed_pair.h +15 -9
- package/libcxx/include/__memory/construct_at.h +12 -23
- package/libcxx/include/__memory/inout_ptr.h +1 -1
- package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
- package/libcxx/include/__memory/out_ptr.h +1 -1
- package/libcxx/include/__memory/pointer_traits.h +1 -1
- package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
- package/libcxx/include/__memory/shared_count.h +9 -30
- package/libcxx/include/__memory/shared_ptr.h +100 -145
- package/libcxx/include/__memory/temp_value.h +1 -2
- package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
- package/libcxx/include/__memory/unique_ptr.h +14 -16
- package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
- package/libcxx/include/__memory_resource/memory_resource.h +4 -2
- package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
- package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
- package/libcxx/include/__memory_resource/pool_options.h +1 -1
- package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
- package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
- package/libcxx/include/__mutex/mutex.h +2 -2
- package/libcxx/include/__mutex/once_flag.h +14 -11
- package/libcxx/include/__mutex/tag_types.h +3 -3
- package/libcxx/include/__mutex/unique_lock.h +8 -7
- package/libcxx/include/__new/align_val_t.h +6 -0
- package/libcxx/include/__new/allocate.h +1 -2
- package/libcxx/include/__new/exceptions.h +8 -2
- package/libcxx/include/__new/global_new_delete.h +4 -11
- package/libcxx/include/__new/interference_size.h +0 -4
- package/libcxx/include/__new/launder.h +3 -5
- package/libcxx/include/__new/nothrow_t.h +1 -1
- package/libcxx/include/__numeric/gcd_lcm.h +24 -34
- package/libcxx/include/__numeric/midpoint.h +9 -14
- package/libcxx/include/__numeric/pstl.h +2 -2
- package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
- package/libcxx/include/__ostream/basic_ostream.h +8 -8
- package/libcxx/include/__pstl/backends/default.h +14 -14
- package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
- package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
- package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
- package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
- package/libcxx/include/__random/binomial_distribution.h +10 -4
- package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
- package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
- package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
- package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
- package/libcxx/include/__ranges/adjacent_view.h +419 -0
- package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
- package/libcxx/include/__ranges/chunk_by_view.h +6 -6
- package/libcxx/include/__ranges/common_view.h +7 -7
- package/libcxx/include/__ranges/drop_view.h +8 -8
- package/libcxx/include/__ranges/drop_while_view.h +5 -5
- package/libcxx/include/__ranges/elements_of.h +49 -0
- package/libcxx/include/__ranges/empty_view.h +5 -5
- package/libcxx/include/__ranges/filter_view.h +10 -10
- package/libcxx/include/__ranges/iota_view.h +41 -22
- package/libcxx/include/__ranges/owning_view.h +15 -15
- package/libcxx/include/__ranges/ref_view.h +6 -6
- package/libcxx/include/__ranges/repeat_view.h +17 -10
- package/libcxx/include/__ranges/single_view.h +8 -8
- package/libcxx/include/__ranges/take_view.h +9 -9
- package/libcxx/include/__ranges/transform_view.h +1 -2
- package/libcxx/include/__ranges/view_interface.h +10 -10
- package/libcxx/include/__ranges/zip_transform_view.h +357 -0
- package/libcxx/include/__ranges/zip_view.h +20 -20
- package/libcxx/include/__split_buffer +612 -240
- package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
- package/libcxx/include/__stop_token/stop_callback.h +2 -2
- package/libcxx/include/__stop_token/stop_source.h +1 -1
- package/libcxx/include/__stop_token/stop_state.h +4 -4
- package/libcxx/include/__stop_token/stop_token.h +1 -1
- package/libcxx/include/__string/char_traits.h +51 -31
- package/libcxx/include/__string/constexpr_c_functions.h +5 -5
- package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
- package/libcxx/include/__system_error/error_category.h +8 -8
- package/libcxx/include/__system_error/error_code.h +5 -5
- package/libcxx/include/__system_error/error_condition.h +4 -4
- package/libcxx/include/__system_error/system_error.h +1 -1
- package/libcxx/include/__thread/id.h +1 -1
- package/libcxx/include/__thread/jthread.h +1 -1
- package/libcxx/include/__thread/poll_with_backoff.h +27 -8
- package/libcxx/include/__thread/support/c11.h +8 -8
- package/libcxx/include/__thread/support/pthread.h +8 -8
- package/libcxx/include/__thread/support/windows.h +8 -8
- package/libcxx/include/__thread/thread.h +13 -8
- package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
- package/libcxx/include/__tree +849 -701
- package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
- package/libcxx/include/__tuple/tuple_element.h +0 -12
- package/libcxx/include/__tuple/tuple_size.h +0 -4
- package/libcxx/include/__tuple/tuple_transform.h +45 -0
- package/libcxx/include/__type_traits/aligned_storage.h +13 -40
- package/libcxx/include/__type_traits/desugars_to.h +4 -0
- package/libcxx/include/__type_traits/invoke.h +8 -0
- package/libcxx/include/__type_traits/is_allocator.h +6 -7
- package/libcxx/include/__type_traits/is_array.h +26 -0
- package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
- package/libcxx/include/__type_traits/is_final.h +1 -1
- package/libcxx/include/__type_traits/is_floating_point.h +7 -6
- package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
- package/libcxx/include/__type_traits/is_specialization.h +2 -6
- package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
- package/libcxx/include/__type_traits/make_transparent.h +52 -0
- package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
- package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
- package/libcxx/include/__utility/cmp.h +19 -7
- package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
- package/libcxx/include/__utility/in_place.h +1 -1
- package/libcxx/include/__utility/integer_sequence.h +56 -41
- package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
- package/libcxx/include/__utility/pair.h +22 -25
- package/libcxx/include/__utility/scope_guard.h +2 -0
- package/libcxx/include/__utility/try_key_extraction.h +114 -0
- package/libcxx/include/__vector/vector.h +187 -160
- package/libcxx/include/__vector/vector_bool.h +76 -83
- package/libcxx/include/any +118 -155
- package/libcxx/include/array +88 -56
- package/libcxx/include/atomic +2 -0
- package/libcxx/include/barrier +20 -24
- package/libcxx/include/bitset +49 -30
- package/libcxx/include/ccomplex +3 -11
- package/libcxx/include/chrono +47 -0
- package/libcxx/include/ciso646 +3 -6
- package/libcxx/include/complex +77 -65
- package/libcxx/include/complex.h +10 -10
- package/libcxx/include/condition_variable +3 -3
- package/libcxx/include/cstdalign +3 -10
- package/libcxx/include/cstdbool +3 -10
- package/libcxx/include/ctgmath +2 -11
- package/libcxx/include/ctype.h +24 -24
- package/libcxx/include/cwchar +2 -2
- package/libcxx/include/deque +109 -225
- package/libcxx/include/errno.h +269 -269
- package/libcxx/include/exception +4 -1
- package/libcxx/include/ext/hash_map +7 -48
- package/libcxx/include/ext/hash_set +2 -8
- package/libcxx/include/fenv.h +43 -43
- package/libcxx/include/flat_map +663 -11
- package/libcxx/include/flat_set +543 -8
- package/libcxx/include/float.h +16 -16
- package/libcxx/include/forward_list +33 -53
- package/libcxx/include/fstream +57 -42
- package/libcxx/include/future +41 -51
- package/libcxx/include/initializer_list +9 -3
- package/libcxx/include/inttypes.h +16 -16
- package/libcxx/include/ios +28 -28
- package/libcxx/include/istream +19 -13
- package/libcxx/include/iterator +10 -0
- package/libcxx/include/latch +7 -5
- package/libcxx/include/limits +4 -4
- package/libcxx/include/list +61 -79
- package/libcxx/include/map +386 -274
- package/libcxx/include/math.h +19 -0
- package/libcxx/include/mdspan +1 -5
- package/libcxx/include/mutex +29 -19
- package/libcxx/include/optional +644 -149
- package/libcxx/include/print +9 -5
- package/libcxx/include/queue +39 -37
- package/libcxx/include/ranges +48 -0
- package/libcxx/include/regex +33 -31
- package/libcxx/include/scoped_allocator +16 -11
- package/libcxx/include/semaphore +15 -18
- package/libcxx/include/set +220 -192
- package/libcxx/include/shared_mutex +3 -8
- package/libcxx/include/span +53 -37
- package/libcxx/include/sstream +34 -28
- package/libcxx/include/stack +13 -15
- package/libcxx/include/stddef.h +10 -10
- package/libcxx/include/stdexcept +2 -2
- package/libcxx/include/stdio.h +20 -21
- package/libcxx/include/streambuf +59 -19
- package/libcxx/include/string +574 -573
- package/libcxx/include/string_view +113 -89
- package/libcxx/include/strstream +10 -10
- package/libcxx/include/syncstream +4 -4
- package/libcxx/include/tgmath.h +12 -12
- package/libcxx/include/tuple +242 -212
- package/libcxx/include/type_traits +8 -2
- package/libcxx/include/typeindex +5 -3
- package/libcxx/include/typeinfo +92 -89
- package/libcxx/include/unordered_map +179 -304
- package/libcxx/include/unordered_set +168 -195
- package/libcxx/include/utility +12 -0
- package/libcxx/include/valarray +106 -161
- package/libcxx/include/variant +25 -33
- package/libcxx/include/version +41 -24
- package/libcxx/include/wctype.h +29 -29
- package/libcxx/libc/hdr/errno_macros.h +3 -1
- package/libcxx/libc/hdr/stdint_proxy.h +18 -0
- package/libcxx/libc/hdr/types/wchar_t.h +23 -0
- package/libcxx/libc/hdr/wchar_overlay.h +69 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
- package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
- package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
- package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
- package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
- package/libcxx/libc/shared/libc_common.h +5 -0
- package/libcxx/libc/src/__support/CPP/bit.h +50 -12
- package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
- package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
- package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
- package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
- package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
- package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
- package/libcxx/libc/src/__support/big_int.h +14 -14
- package/libcxx/libc/src/__support/common.h +3 -2
- package/libcxx/libc/src/__support/ctype_utils.h +19 -12
- package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
- package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
- package/libcxx/libc/src/__support/libc_assert.h +2 -0
- package/libcxx/libc/src/__support/macros/attributes.h +44 -1
- package/libcxx/libc/src/__support/macros/config.h +23 -0
- package/libcxx/libc/src/__support/macros/null_check.h +1 -2
- package/libcxx/libc/src/__support/macros/optimization.h +3 -0
- package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
- package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
- package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
- package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
- package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
- package/libcxx/libc/src/__support/math_extras.h +20 -4
- package/libcxx/libc/src/__support/str_to_float.h +98 -125
- package/libcxx/libc/src/__support/str_to_integer.h +39 -27
- package/libcxx/libc/src/__support/wctype_utils.h +588 -0
- package/libcxx/src/any.cpp +4 -0
- package/libcxx/src/atomic.cpp +365 -80
- package/libcxx/src/barrier.cpp +4 -3
- package/libcxx/src/charconv.cpp +6 -3
- package/libcxx/src/condition_variable_destructor.cpp +1 -1
- package/libcxx/src/error_category.cpp +3 -1
- package/libcxx/src/exception.cpp +2 -10
- package/libcxx/src/experimental/time_zone.cpp +1 -1
- package/libcxx/src/experimental/tzdb.cpp +4 -1
- package/libcxx/src/filesystem/error.h +4 -22
- package/libcxx/src/filesystem/format_string.h +9 -18
- package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
- package/libcxx/src/filesystem/operations.cpp +2 -9
- package/libcxx/src/filesystem/path.cpp +3 -1
- package/libcxx/src/include/aligned_alloc.h +65 -0
- package/libcxx/src/include/config_elast.h +1 -1
- package/libcxx/src/include/from_chars_floating_point.h +11 -7
- package/libcxx/src/include/overridable_function.h +8 -10
- package/libcxx/src/iostream.cpp +56 -37
- package/libcxx/src/locale.cpp +213 -196
- package/libcxx/src/memory.cpp +12 -14
- package/libcxx/src/mutex_destructor.cpp +1 -1
- package/libcxx/src/new.cpp +5 -5
- package/libcxx/src/optional.cpp +4 -0
- package/libcxx/src/print.cpp +9 -1
- package/libcxx/src/random.cpp +0 -26
- package/libcxx/src/string.cpp +10 -25
- package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
- package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
- package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
- package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
- package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
- package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
- package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
- package/libcxx/src/support/win32/locale_win32.cpp +1 -1
- package/libcxx/src/system_error.cpp +2 -0
- package/libcxx/src/thread.cpp +1 -3
- package/libcxx/src/valarray.cpp +1 -2
- package/libcxx/src/vector.cpp +2 -2
- package/libcxxabi/include/__cxxabi_config.h +42 -23
- package/libcxxabi/src/cxa_exception.cpp +4 -2
- package/libcxxabi/src/cxa_exception.h +16 -14
- package/libcxxabi/src/cxa_personality.cpp +126 -9
- package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
- package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
- package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
- package/libcxxabi/src/demangle/Utility.h +21 -7
- package/libcxxabi/src/fallback_malloc.cpp +1 -1
- package/libcxxabi/src/private_typeinfo.cpp +6 -0
- package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
- package/libtsan/LICENSE.TXT +311 -0
- package/libtsan/builtins/assembly.h +41 -8
- package/libtsan/interception/interception_win.cpp +4 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
- package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
- package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
- package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
- package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
- package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
- package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
- package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
- package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
- package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
- package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
- package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
- package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
- package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
- package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
- package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
- package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
- package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
- package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
- package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
- package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
- package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
- package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
- package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
- package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
- package/libtsan/tsan_debugging.cpp +2 -2
- package/libtsan/tsan_flags.cpp +37 -0
- package/libtsan/tsan_flags.h +8 -0
- package/libtsan/tsan_flags.inc +12 -0
- package/libtsan/tsan_interceptors.h +9 -1
- package/libtsan/tsan_interceptors_mac.cpp +19 -0
- package/libtsan/tsan_interceptors_posix.cpp +78 -32
- package/libtsan/tsan_interface.h +3 -3
- package/libtsan/tsan_interface_ann.cpp +23 -9
- package/libtsan/tsan_mman.cpp +18 -4
- package/libtsan/tsan_platform.h +44 -7
- package/libtsan/tsan_platform_linux.cpp +42 -14
- package/libtsan/tsan_platform_mac.cpp +16 -3
- package/libtsan/tsan_report.h +14 -1
- package/libtsan/tsan_rtl.cpp +14 -0
- package/libtsan/tsan_rtl.h +7 -2
- package/libtsan/tsan_rtl_aarch64.S +3 -5
- package/libtsan/tsan_rtl_access.cpp +8 -3
- package/libtsan/tsan_rtl_amd64.S +2 -0
- package/libtsan/tsan_rtl_mutex.cpp +94 -49
- package/libtsan/tsan_rtl_report.cpp +132 -65
- package/libtsan/tsan_rtl_thread.cpp +31 -9
- package/libtsan/tsan_symbolize.cpp +1 -1
- package/libtsan/tsan_symbolize.h +1 -1
- package/libtsan/tsan_trace.h +1 -1
- package/libunwind/include/__libunwind_config.h +11 -2
- package/libunwind/include/libunwind.h +117 -11
- package/libunwind/include/unwind_arm_ehabi.h +4 -1
- package/libunwind/src/AddressSpace.hpp +42 -20
- package/libunwind/src/CompactUnwinder.hpp +16 -5
- package/libunwind/src/DwarfInstructions.hpp +24 -13
- package/libunwind/src/DwarfParser.hpp +62 -23
- package/libunwind/src/EHHeaderParser.hpp +7 -4
- package/libunwind/src/Registers.hpp +226 -22
- package/libunwind/src/Unwind-seh.cpp +6 -7
- package/libunwind/src/Unwind-wasm.c +7 -7
- package/libunwind/src/UnwindCursor.hpp +167 -49
- package/libunwind/src/UnwindLevel1.c +46 -17
- package/libunwind/src/UnwindRegistersRestore.S +46 -5
- package/libunwind/src/UnwindRegistersSave.S +86 -2
- package/libunwind/src/assembly.h +5 -1
- package/libunwind/src/config.h +9 -0
- package/libunwind/src/gcc_personality_v0.c +79 -6
- package/libunwind/src/libunwind.cpp +104 -4
- package/libunwind/src/libunwind_ext.h +7 -1
- package/libunwind/src/shadow_stack_unwind.h +2 -2
- package/lldb/pretty_printers.py +949 -0
- package/package.json +1 -1
- package/std/Build/Cache/Path.zig +42 -43
- package/std/Build/Cache.zig +19 -9
- package/std/Build/Configuration.zig +3480 -0
- package/std/Build/Module.zig +99 -225
- package/std/Build/Step/CheckFile.zig +17 -63
- package/std/Build/Step/Compile.zig +103 -1426
- package/std/Build/Step/ConfigHeader.zig +56 -944
- package/std/Build/Step/Fail.zig +10 -20
- package/std/Build/Step/FindProgram.zig +31 -0
- package/std/Build/Step/Fmt.zig +22 -57
- package/std/Build/Step/InstallArtifact.zig +26 -141
- package/std/Build/Step/InstallDir.zig +14 -67
- package/std/Build/Step/InstallFile.zig +12 -21
- package/std/Build/Step/ObjCopy.zig +82 -199
- package/std/Build/Step/Options.zig +55 -284
- package/std/Build/Step/Run.zig +138 -2246
- package/std/Build/Step/TranslateC.zig +55 -164
- package/std/Build/Step/UpdateSourceFiles.zig +38 -91
- package/std/Build/Step/WriteFile.zig +113 -328
- package/std/Build/Step.zig +45 -916
- package/std/Build/abi.zig +1 -1
- package/std/Build.zig +725 -770
- package/std/Io/Dir.zig +12 -7
- package/std/Io/Dispatch.zig +5 -5
- package/std/Io/File/Writer.zig +8 -6
- package/std/Io/File.zig +6 -9
- package/std/Io/Kqueue.zig +5 -5
- package/std/Io/Reader.zig +66 -23
- package/std/Io/RwLock.zig +2 -0
- package/std/Io/Terminal.zig +1 -1
- package/std/Io/Threaded.zig +36 -30
- package/std/Io/Uring.zig +11 -9
- package/std/Io/Writer.zig +125 -37
- package/std/Io/net/HostName.zig +11 -6
- package/std/Io/net.zig +3 -1
- package/std/Io.zig +29 -19
- package/std/Progress.zig +2 -2
- package/std/Random/ChaCha.zig +2 -2
- package/std/Random/benchmark.zig +2 -2
- package/std/Random.zig +6 -6
- package/std/SemanticVersion.zig +1 -1
- package/std/Target/Query.zig +4 -5
- package/std/Target/aarch64.zig +622 -79
- package/std/Target/alpha.zig +2 -2
- package/std/Target/amdgcn.zig +423 -23
- package/std/Target/arc.zig +2 -2
- package/std/Target/arm.zig +42 -8
- package/std/Target/avr.zig +2 -2
- package/std/Target/bpf.zig +8 -2
- package/std/Target/csky.zig +2 -2
- package/std/Target/hexagon.zig +43 -8
- package/std/Target/hppa.zig +2 -2
- package/std/Target/kvx.zig +2 -2
- package/std/Target/lanai.zig +2 -2
- package/std/Target/loongarch.zig +20 -2
- package/std/Target/m68k.zig +2 -2
- package/std/Target/mips.zig +8 -2
- package/std/Target/msp430.zig +2 -2
- package/std/Target/nvptx.zig +60 -37
- package/std/Target/powerpc.zig +29 -21
- package/std/Target/propeller.zig +2 -2
- package/std/Target/riscv.zig +514 -179
- package/std/Target/s390x.zig +2 -2
- package/std/Target/sparc.zig +19 -2
- package/std/Target/spirv.zig +3 -3
- package/std/Target/ve.zig +2 -2
- package/std/Target/wasm.zig +9 -2
- package/std/Target/x86.zig +202 -33
- package/std/Target/xcore.zig +2 -2
- package/std/Target/xtensa.zig +67 -2
- package/std/Target.zig +103 -63
- package/std/Thread.zig +39 -6
- package/std/array_hash_map.zig +104 -59
- package/std/array_list.zig +20 -35
- package/std/ascii.zig +0 -9
- package/std/atomic.zig +2 -0
- package/std/base64.zig +5 -5
- package/std/bit_set.zig +85 -93
- package/std/c/darwin.zig +7 -1
- package/std/c.zig +88 -29
- package/std/coff.zig +1 -1
- package/std/compress/flate/Compress.zig +4 -2
- package/std/compress/flate/Decompress.zig +3 -4
- package/std/compress/zstd/Decompress.zig +7 -9
- package/std/compress/zstd.zig +0 -11
- package/std/crypto/25519/curve25519.zig +2 -2
- package/std/crypto/25519/edwards25519.zig +3 -3
- package/std/crypto/25519/ristretto255.zig +2 -2
- package/std/crypto/25519/scalar.zig +6 -6
- package/std/crypto/25519/x25519.zig +1 -1
- package/std/crypto/Certificate.zig +14 -2
- package/std/crypto/Sha1.zig +1 -1
- package/std/crypto/aegis.zig +45 -39
- package/std/crypto/aes/aesni.zig +1 -1
- package/std/crypto/aes/armcrypto.zig +4 -4
- package/std/crypto/aes/soft.zig +4 -4
- package/std/crypto/aes.zig +12 -0
- package/std/crypto/aes_ccm.zig +22 -22
- package/std/crypto/aes_gcm.zig +10 -12
- package/std/crypto/aes_ocb.zig +9 -9
- package/std/crypto/aes_siv.zig +4 -2
- package/std/crypto/argon2.zig +15 -15
- package/std/crypto/ascon.zig +75 -35
- package/std/crypto/bcrypt.zig +20 -10
- package/std/crypto/benchmark.zig +7 -7
- package/std/crypto/blake2.zig +100 -64
- package/std/crypto/cbc_mac.zig +1 -1
- package/std/crypto/chacha20.zig +10 -10
- package/std/crypto/cmac.zig +3 -3
- package/std/crypto/codecs/asn1/Oid.zig +22 -11
- package/std/crypto/codecs/asn1/der/Decoder.zig +51 -20
- package/std/crypto/codecs/asn1/der/Encoder.zig +111 -46
- package/std/crypto/codecs/asn1/der.zig +42 -0
- package/std/crypto/codecs/asn1.zig +97 -38
- package/std/crypto/codecs/base64_hex_ct.zig +3 -5
- package/std/crypto/codecs.zig +6 -0
- package/std/crypto/ecdsa.zig +9 -9
- package/std/crypto/ff.zig +7 -6
- package/std/crypto/ghash_polyval.zig +4 -4
- package/std/crypto/hkdf.zig +1 -1
- package/std/crypto/isap.zig +3 -3
- package/std/crypto/kangarootwelve.zig +1 -1
- package/std/crypto/keccak_p.zig +8 -8
- package/std/crypto/md5.zig +1 -1
- package/std/crypto/ml_dsa.zig +39 -39
- package/std/crypto/ml_kem.zig +12 -34
- package/std/crypto/modes.zig +2 -2
- package/std/crypto/pbkdf2.zig +1 -1
- package/std/crypto/pcurves/common.zig +4 -5
- package/std/crypto/pcurves/p256/scalar.zig +3 -3
- package/std/crypto/pcurves/p384/scalar.zig +2 -2
- package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
- package/std/crypto/pcurves/tests/p256.zig +5 -5
- package/std/crypto/pcurves/tests/p384.zig +5 -5
- package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
- package/std/crypto/phc_encoding.zig +23 -20
- package/std/crypto/salsa20.zig +8 -14
- package/std/crypto/sha2.zig +2 -2
- package/std/crypto/sha3.zig +2 -4
- package/std/crypto/siphash.zig +1 -1
- package/std/crypto/timing_safe.zig +11 -10
- package/std/crypto/tls/Client.zig +107 -16
- package/std/crypto/tls.zig +2 -2
- package/std/crypto.zig +4 -3
- package/std/debug/Dwarf/Unwind/VirtualMachine.zig +11 -5
- package/std/debug/Dwarf.zig +21 -12
- package/std/debug/ElfFile.zig +12 -8
- package/std/debug/MachOFile.zig +2 -2
- package/std/debug/Pdb.zig +86 -51
- package/std/debug/SelfInfo/Elf.zig +13 -9
- package/std/debug/SelfInfo/MachO.zig +44 -17
- package/std/debug/SelfInfo/Windows.zig +5 -7
- package/std/debug/cpu_context.zig +231 -39
- package/std/debug.zig +16 -8
- package/std/deque.zig +1 -1
- package/std/elf.zig +29 -12
- package/std/enums.zig +74 -87
- package/std/fmt/float.zig +2 -0
- package/std/fmt/parse_float/decimal.zig +1 -1
- package/std/fmt/parse_float.zig +1 -1
- package/std/fmt.zig +7 -8
- package/std/fs/path.zig +7 -5
- package/std/gpu.zig +1 -1
- package/std/hash/Adler32.zig +3 -3
- package/std/hash/auto_hash.zig +9 -8
- package/std/hash/benchmark.zig +2 -2
- package/std/hash/verify.zig +3 -3
- package/std/hash/wyhash.zig +2 -2
- package/std/hash/xxhash.zig +0 -6
- package/std/hash_map.zig +22 -2
- package/std/heap/ArenaAllocator.zig +3 -5
- package/std/heap/BrkAllocator.zig +1 -1
- package/std/heap/BufferFirstAllocator.zig +165 -0
- package/std/heap/SafeAllocator.zig +2180 -0
- package/std/heap/debug_allocator.zig +2 -2
- package/std/heap/memory_pool.zig +34 -197
- package/std/heap.zig +20 -133
- package/std/http/Client.zig +2 -2
- package/std/http.zig +4 -5
- package/std/json/Scanner.zig +2 -2
- package/std/json/Stringify.zig +14 -14
- package/std/json/static.zig +49 -32
- package/std/json.zig +1 -1
- package/std/{builtin → lang}/assembly.zig +71 -0
- package/std/{builtin.zig → lang.zig} +124 -100
- package/std/leb128.zig +2 -2
- package/std/math/acos.zig +6 -0
- package/std/math/asin.zig +6 -0
- package/std/math/atan.zig +5 -0
- package/std/math/big/int.zig +5 -5
- package/std/math/big.zig +4 -4
- package/std/math/copysign.zig +1 -1
- package/std/math/float.zig +62 -0
- package/std/math/frexp.zig +4 -4
- package/std/math/hypot.zig +4 -0
- package/std/math/ilogb.zig +1 -1
- package/std/math/isfinite.zig +1 -1
- package/std/math/isinf.zig +1 -1
- package/std/math/isnan.zig +6 -2
- package/std/math/isnormal.zig +2 -2
- package/std/math/iszero.zig +2 -2
- package/std/math/ldexp.zig +2 -2
- package/std/math/log10.zig +0 -2
- package/std/math/log1p.zig +13 -19
- package/std/math/modf.zig +1 -2
- package/std/math/nextafter.zig +3 -4
- package/std/math/pow.zig +1 -1
- package/std/math/powi.zig +2 -3
- package/std/math/signbit.zig +0 -1
- package/std/math.zig +28 -28
- package/std/mem/Allocator.zig +14 -18
- package/std/mem.zig +138 -176
- package/std/meta/trailer_flags.zig +27 -20
- package/std/meta.zig +133 -231
- package/std/multi_array_list.zig +70 -54
- package/std/os/emscripten.zig +7 -6
- package/std/os/linux/IoUring.zig +2 -0
- package/std/os/linux/alpha.zig +358 -0
- package/std/os/linux/arm.zig +0 -26
- package/std/os/linux/bpf.zig +6 -0
- package/std/os/linux/csky.zig +165 -0
- package/std/os/linux/ioctl.zig +3 -2
- package/std/os/linux/microblaze.zig +170 -0
- package/std/os/linux/sh.zig +239 -0
- package/std/os/linux/sparc.zig +277 -0
- package/std/os/linux/sparc64.zig +44 -30
- package/std/os/linux/syscalls.zig +2246 -13
- package/std/os/linux/tls.zig +12 -1
- package/std/os/linux/x86.zig +2 -2
- package/std/os/linux/xtensa.zig +193 -0
- package/std/os/linux.zig +829 -58
- package/std/os/plan9.zig +1 -1
- package/std/os/uefi/hii.zig +1 -1
- package/std/os/uefi/protocol/device_path.zig +8 -7
- package/std/os/uefi/protocol/file.zig +16 -0
- package/std/os/uefi/tables/boot_services.zig +9 -8
- package/std/os/uefi/tables/runtime_services.zig +1 -1
- package/std/os/windows.zig +139 -16
- package/std/os.zig +0 -15
- package/std/pie.zig +19 -0
- package/std/posix.zig +2 -2
- package/std/process/Child.zig +20 -0
- package/std/process/Environ.zig +28 -4
- package/std/process.zig +13 -5
- package/std/simd.zig +4 -21
- package/std/sort/pdq.zig +91 -13
- package/std/start.zig +66 -23
- package/std/static_string_map.zig +87 -0
- package/std/std.zig +8 -1
- package/std/tar/Writer.zig +39 -33
- package/std/tar.zig +8 -4
- package/std/testing/Smith.zig +35 -21
- package/std/testing.zig +85 -30
- package/std/unicode.zig +13 -8
- package/std/zig/Ast/Render.zig +6 -30
- package/std/zig/Ast.zig +16 -41
- package/std/zig/AstGen.zig +226 -300
- package/std/zig/AstRlAnnotate.zig +5 -11
- package/std/zig/AstSmith.zig +13 -20
- package/std/zig/BuiltinFn.zig +8 -0
- package/std/zig/ErrorBundle.zig +22 -15
- package/std/zig/LibCDirs.zig +14 -7
- package/std/zig/LibCInstallation.zig +61 -26
- package/std/zig/Parse.zig +19 -84
- package/std/zig/PkgConfig.zig +151 -0
- package/std/zig/TokenSmith.zig +0 -6
- package/std/zig/WindowsSdk.zig +18 -18
- package/std/zig/Zir.zig +36 -76
- package/std/zig/ZonGen.zig +19 -27
- package/std/zig/c_translation/helpers.zig +2 -2
- package/std/zig/llvm/BitcodeReader.zig +3 -3
- package/std/zig/llvm/Builder.zig +163 -126
- package/std/zig/llvm/bitcode_writer.zig +7 -7
- package/std/zig/llvm/ir.zig +8 -8
- package/std/zig/system/arm.zig +56 -2
- package/std/zig/system/darwin/macos.zig +11 -7
- package/std/zig/system/linux.zig +4 -0
- package/std/zig/system/loongarch.zig +25 -9
- package/std/zig/system/windows.zig +45 -12
- package/std/zig/system/x86.zig +60 -16
- package/std/zig/system.zig +23 -30
- package/std/zig/target.zig +3 -5
- package/std/zig/tokenizer.zig +4 -43
- package/std/zig.zig +114 -26
- package/std/zip.zig +5 -49
- package/std/zon/Serializer.zig +35 -25
- package/std/zon/parse.zig +93 -63
- package/ubsan_rt.zig +3 -3
- package/zig.h +61 -11
- package/compiler/build_runner.zig +0 -1857
- package/compiler_rt/long_double.zig +0 -37
- package/include/amxbf16transposeintrin.h +0 -94
- package/include/amxcomplextransposeintrin.h +0 -303
- package/include/amxfp16transposeintrin.h +0 -94
- package/include/amxmovrstransposeintrin.h +0 -200
- package/include/amxtf32transposeintrin.h +0 -105
- package/include/amxtransposeintrin.h +0 -248
- package/libc/include/arm-netbsd-eabi/machine/frame.h +0 -130
- package/libc/include/generic-netbsd/powerpc/bswap.h +0 -8
- package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
- package/libc/include/mips-netbsd-eabi/machine/psl.h +0 -3
- package/libc/include/mips-netbsd-eabi/machine/reloc.h +0 -3
- package/libc/include/mips-netbsd-eabi/machine/trap.h +0 -3
- package/libc/include/mips64el-openbsd-none/loongson/hibernate.h +0 -33
- package/libc/include/mips64el-openbsd-none/loongson/hibernate_var.h +0 -39
- package/libc/include/mips64el-openbsd-none/machine/hibernate.h +0 -33
- package/libc/include/mips64el-openbsd-none/machine/hibernate_var.h +0 -39
- package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
- package/libc/mingw/math/lrintl.c +0 -18
- package/libc/mingw/math/lroundl.c +0 -37
- package/libc/mingw/math/rintl.c +0 -16
- package/libc/mingw/winpthreads/spinlock.c +0 -82
- package/libc/musl/src/linux/tee.c +0 -8
- package/libc/musl/src/math/aarch64/lround.c +0 -8
- package/libc/musl/src/math/aarch64/lroundf.c +0 -8
- package/libc/musl/src/math/i386/log1p.s +0 -25
- package/libc/musl/src/math/i386/log1pf.s +0 -26
- package/libc/musl/src/math/i386/lrintl.c +0 -8
- package/libc/musl/src/math/i386/rintl.c +0 -7
- package/libc/musl/src/math/log1p.c +0 -122
- package/libc/musl/src/math/log1pf.c +0 -77
- package/libc/musl/src/math/lrintl.c +0 -36
- package/libc/musl/src/math/lround.c +0 -6
- package/libc/musl/src/math/lroundf.c +0 -6
- package/libc/musl/src/math/lroundl.c +0 -6
- package/libc/musl/src/math/powerpc64/lround.c +0 -18
- package/libc/musl/src/math/powerpc64/lroundf.c +0 -18
- package/libc/musl/src/math/rintl.c +0 -29
- package/libc/musl/src/math/s390x/rintl.c +0 -15
- package/libc/musl/src/math/x32/lrintl.s +0 -7
- package/libc/musl/src/math/x32/rintl.s +0 -6
- package/libc/musl/src/math/x86_64/lrintl.c +0 -8
- package/libc/musl/src/math/x86_64/rintl.c +0 -7
- package/libc/musl/src/string/strdup.c +0 -10
- package/libc/musl/src/string/strndup.c +0 -12
- package/libc/musl/src/string/wcsdup.c +0 -10
- package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
- package/libc/musl/src/thread/pthread_spin_init.c +0 -6
- package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
- package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
- package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
- package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
- package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
- package/std/Build/Step/CheckObject.zig +0 -2764
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ansi.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/aout_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/asm.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/bswap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/cdefs.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/cpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/disklabel.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/elf_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/endian.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/endian_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/fenv.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/float.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/fpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/frame.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ieee.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ieeefp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_const.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_fmtio.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_mwgwtypes.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/intr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/kcore.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/lock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/math.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/mcontext.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/mutex.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/param.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/pcb.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/pmap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/proc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/profile.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/psl.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/pte.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ptrace.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/reg.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/reloc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/rwlock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/setjmp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/signal.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/sljit_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/trap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/vmparam.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/wchar_limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/machine/fpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/machine/intr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ansi.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/aout_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/cdefs.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/elf_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/endian.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/endian_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/float.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/fpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/frame.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/cpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/spr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/tlb.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ieeefp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_const.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_fmtio.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_mwgwtypes.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/kcore.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/lock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/math.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/bat.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/hid_601.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/pte.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/spr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/sr_601.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/vmparam.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/param.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/pcb.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/proc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/profile.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/pte.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ptrace.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/reg.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/reloc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/rwlock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/setjmp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/signal.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/sljit_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/spr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/trap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/wchar_limits.h +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const Compile = @This();
|
|
2
|
+
|
|
2
3
|
const builtin = @import("builtin");
|
|
3
4
|
|
|
4
5
|
const std = @import("std");
|
|
@@ -8,19 +9,15 @@ const fs = std.fs;
|
|
|
8
9
|
const assert = std.debug.assert;
|
|
9
10
|
const panic = std.debug.panic;
|
|
10
11
|
const StringHashMap = std.StringHashMap;
|
|
11
|
-
const Sha256 = std.crypto.hash.sha2.Sha256;
|
|
12
12
|
const Allocator = std.mem.Allocator;
|
|
13
13
|
const Step = std.Build.Step;
|
|
14
14
|
const LazyPath = std.Build.LazyPath;
|
|
15
|
-
const PkgConfigPkg = std.Build.PkgConfigPkg;
|
|
16
|
-
const PkgConfigError = std.Build.PkgConfigError;
|
|
17
|
-
const RunError = std.Build.RunError;
|
|
18
15
|
const Module = std.Build.Module;
|
|
19
16
|
const InstallDir = std.Build.InstallDir;
|
|
20
|
-
const GeneratedFile = std.Build.GeneratedFile;
|
|
21
17
|
const Path = std.Build.Cache.Path;
|
|
18
|
+
const Configuration = std.Build.Configuration;
|
|
22
19
|
|
|
23
|
-
pub const
|
|
20
|
+
pub const base_tag: Step.Tag = .compile;
|
|
24
21
|
|
|
25
22
|
step: Step,
|
|
26
23
|
root_module: *Module,
|
|
@@ -28,13 +25,11 @@ root_module: *Module,
|
|
|
28
25
|
name: []const u8,
|
|
29
26
|
linker_script: ?LazyPath = null,
|
|
30
27
|
version_script: ?LazyPath = null,
|
|
28
|
+
/// Deprecated.
|
|
31
29
|
out_filename: []const u8,
|
|
32
|
-
out_lib_filename: []const u8,
|
|
33
30
|
linkage: ?std.builtin.LinkMode = null,
|
|
34
31
|
version: ?std.SemanticVersion,
|
|
35
32
|
kind: Kind,
|
|
36
|
-
major_only_filename: ?[]const u8,
|
|
37
|
-
name_only_filename: ?[]const u8,
|
|
38
33
|
formatted_panics: ?bool = null,
|
|
39
34
|
compress_debug_sections: std.zig.CompressDebugSections = .none,
|
|
40
35
|
verbose_link: bool,
|
|
@@ -47,6 +42,7 @@ export_memory: bool = false,
|
|
|
47
42
|
/// For WebAssembly targets, this will allow for undefined symbols to
|
|
48
43
|
/// be imported from the host environment.
|
|
49
44
|
import_symbols: bool = false,
|
|
45
|
+
/// (WebAssembly) import function table from the host environment
|
|
50
46
|
import_table: bool = false,
|
|
51
47
|
export_table: bool = false,
|
|
52
48
|
initial_memory: ?u64 = null,
|
|
@@ -60,7 +56,7 @@ filters: []const []const u8,
|
|
|
60
56
|
test_runner: ?TestRunner,
|
|
61
57
|
wasi_exec_model: ?std.builtin.WasiExecModel = null,
|
|
62
58
|
|
|
63
|
-
installed_headers: std.
|
|
59
|
+
installed_headers: std.ArrayList(HeaderInstallation),
|
|
64
60
|
|
|
65
61
|
/// This step is used to create an include tree that dependent modules can add to their include
|
|
66
62
|
/// search paths. Installed headers are copied to this step.
|
|
@@ -83,8 +79,6 @@ win32_manifest: ?LazyPath = null,
|
|
|
83
79
|
/// Set via options; intended to be read-only after that.
|
|
84
80
|
win32_module_definition: ?LazyPath = null,
|
|
85
81
|
|
|
86
|
-
installed_path: ?[]const u8,
|
|
87
|
-
|
|
88
82
|
/// Base address for an executable image.
|
|
89
83
|
image_base: ?u64 = null,
|
|
90
84
|
|
|
@@ -93,9 +87,13 @@ libc_file: ?LazyPath = null,
|
|
|
93
87
|
each_lib_rpath: ?bool = null,
|
|
94
88
|
/// On ELF targets, this will emit a link section called ".note.gnu.build-id"
|
|
95
89
|
/// which can be used to coordinate a stripped binary with its debug symbols.
|
|
90
|
+
///
|
|
96
91
|
/// As an example, the bloaty project refuses to work unless its inputs have
|
|
97
92
|
/// build ids, in order to prevent accidental mismatches.
|
|
93
|
+
///
|
|
98
94
|
/// The default is to not include this section because it slows down linking.
|
|
95
|
+
///
|
|
96
|
+
/// This option overrides the CLI argument passed to `zig build`.
|
|
99
97
|
build_id: ?std.zig.BuildId = null,
|
|
100
98
|
|
|
101
99
|
/// Create a .eh_frame_hdr section and a PT_GNU_EH_FRAME segment in the ELF
|
|
@@ -147,8 +145,8 @@ link_z_defs: bool = false,
|
|
|
147
145
|
/// (Darwin) Install name for the dylib
|
|
148
146
|
install_name: ?[]const u8 = null,
|
|
149
147
|
|
|
150
|
-
///
|
|
151
|
-
entitlements: ?
|
|
148
|
+
/// Must be passed in via `Options`.
|
|
149
|
+
entitlements: ?LazyPath = null,
|
|
152
150
|
|
|
153
151
|
/// (Darwin) Size of the pagezero segment.
|
|
154
152
|
pagezero_size: ?u64 = null,
|
|
@@ -189,7 +187,7 @@ entry: Entry = .default,
|
|
|
189
187
|
/// List of symbols forced as undefined in the symbol table
|
|
190
188
|
/// thus forcing their resolution by the linker.
|
|
191
189
|
/// Corresponds to `-u <symbol>` for ELF/MachO and `/include:<symbol>` for COFF/PE.
|
|
192
|
-
force_undefined_symbols: std.
|
|
190
|
+
force_undefined_symbols: std.StringArrayHashMapUnmanaged(void),
|
|
193
191
|
|
|
194
192
|
/// Overrides the default stack size
|
|
195
193
|
stack_size: ?u64 = null,
|
|
@@ -213,21 +211,8 @@ allow_so_scripts: ?bool = null,
|
|
|
213
211
|
/// otherwise.
|
|
214
212
|
expect_errors: ?ExpectedCompileErrors = null,
|
|
215
213
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
generated_docs: ?*GeneratedFile,
|
|
219
|
-
generated_asm: ?*GeneratedFile,
|
|
220
|
-
generated_bin: ?*GeneratedFile,
|
|
221
|
-
generated_pdb: ?*GeneratedFile,
|
|
222
|
-
// hack for stage2_x86_64 + coff
|
|
223
|
-
generated_compiler_rt_dyn_lib: ?*GeneratedFile,
|
|
224
|
-
generated_implib: ?*GeneratedFile,
|
|
225
|
-
generated_llvm_bc: ?*GeneratedFile,
|
|
226
|
-
generated_llvm_ir: ?*GeneratedFile,
|
|
227
|
-
generated_h: ?*GeneratedFile,
|
|
228
|
-
|
|
229
|
-
/// The maximum number of distinct errors within a compilation step
|
|
230
|
-
/// Defaults to `std.math.maxInt(u16)`
|
|
214
|
+
/// The maximum number of distinct errors within a compilation step Defaults to
|
|
215
|
+
/// `std.math.maxInt(u16)`. Overrides the argument passed to `zig build`.
|
|
231
216
|
error_limit: ?u32 = null,
|
|
232
217
|
|
|
233
218
|
/// Computed during make().
|
|
@@ -235,10 +220,6 @@ is_linking_libc: bool = false,
|
|
|
235
220
|
/// Computed during make().
|
|
236
221
|
is_linking_libcpp: bool = false,
|
|
237
222
|
|
|
238
|
-
/// Populated during the make phase when there is a long-lived compiler process.
|
|
239
|
-
/// Managed by the build runner, not user build script.
|
|
240
|
-
zig_process: ?*Step.ZigProcess,
|
|
241
|
-
|
|
242
223
|
/// Enables coverage instrumentation that is only useful if you are using third
|
|
243
224
|
/// party fuzzers that depend on it. Otherwise, slows down the instrumented
|
|
244
225
|
/// binary with unnecessary function calls.
|
|
@@ -253,6 +234,22 @@ zig_process: ?*Step.ZigProcess,
|
|
|
253
234
|
/// builtin fuzzer, see the `fuzz` flag in `Module`.
|
|
254
235
|
sanitize_coverage_trace_pc_guard: ?bool = null,
|
|
255
236
|
|
|
237
|
+
/// Enable or disable incremental compilation.
|
|
238
|
+
///
|
|
239
|
+
/// Incremental compilation reduces compile time by mutating an existing build artifact. Non-
|
|
240
|
+
/// incremental compilation is slower but preserves previous build artifacts.
|
|
241
|
+
incremental: ?bool = null,
|
|
242
|
+
|
|
243
|
+
emit_directory: Configuration.OptionalGeneratedFileIndex = .none,
|
|
244
|
+
generated_docs: Configuration.OptionalGeneratedFileIndex = .none,
|
|
245
|
+
generated_asm: Configuration.OptionalGeneratedFileIndex = .none,
|
|
246
|
+
generated_bin: Configuration.OptionalGeneratedFileIndex = .none,
|
|
247
|
+
generated_pdb: Configuration.OptionalGeneratedFileIndex = .none,
|
|
248
|
+
generated_implib: Configuration.OptionalGeneratedFileIndex = .none,
|
|
249
|
+
generated_llvm_bc: Configuration.OptionalGeneratedFileIndex = .none,
|
|
250
|
+
generated_llvm_ir: Configuration.OptionalGeneratedFileIndex = .none,
|
|
251
|
+
generated_h: Configuration.OptionalGeneratedFileIndex = .none,
|
|
252
|
+
|
|
256
253
|
pub const ExpectedCompileErrors = union(enum) {
|
|
257
254
|
contains: []const u8,
|
|
258
255
|
exact: []const []const u8,
|
|
@@ -278,7 +275,7 @@ pub const Options = struct {
|
|
|
278
275
|
kind: Kind,
|
|
279
276
|
linkage: ?std.builtin.LinkMode = null,
|
|
280
277
|
version: ?std.SemanticVersion = null,
|
|
281
|
-
max_rss:
|
|
278
|
+
max_rss: u64 = 0,
|
|
282
279
|
filters: []const []const u8 = &.{},
|
|
283
280
|
test_runner: ?TestRunner = null,
|
|
284
281
|
use_llvm: ?bool = null,
|
|
@@ -292,22 +289,11 @@ pub const Options = struct {
|
|
|
292
289
|
win32_manifest: ?LazyPath = null,
|
|
293
290
|
/// Win32 module definition file.
|
|
294
291
|
win32_module_definition: ?LazyPath = null,
|
|
292
|
+
/// (Darwin) Path to entitlements file
|
|
293
|
+
entitlements: ?LazyPath = null,
|
|
295
294
|
};
|
|
296
295
|
|
|
297
|
-
pub const Kind =
|
|
298
|
-
exe,
|
|
299
|
-
lib,
|
|
300
|
-
obj,
|
|
301
|
-
@"test",
|
|
302
|
-
test_obj,
|
|
303
|
-
|
|
304
|
-
pub fn isTest(kind: Kind) bool {
|
|
305
|
-
return switch (kind) {
|
|
306
|
-
.exe, .lib, .obj => false,
|
|
307
|
-
.@"test", .test_obj => true,
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
};
|
|
296
|
+
pub const Kind = Configuration.Step.Compile.Kind;
|
|
311
297
|
|
|
312
298
|
pub const HeaderInstallation = union(enum) {
|
|
313
299
|
file: File,
|
|
@@ -317,10 +303,10 @@ pub const HeaderInstallation = union(enum) {
|
|
|
317
303
|
source: LazyPath,
|
|
318
304
|
dest_rel_path: []const u8,
|
|
319
305
|
|
|
320
|
-
pub fn dupe(file: File,
|
|
306
|
+
pub fn dupe(file: File, graph: *const std.Build.Graph) File {
|
|
321
307
|
return .{
|
|
322
|
-
.source = file.source.dupe(
|
|
323
|
-
.dest_rel_path =
|
|
308
|
+
.source = file.source.dupe(graph),
|
|
309
|
+
.dest_rel_path = graph.dupePath(file.dest_rel_path),
|
|
324
310
|
};
|
|
325
311
|
}
|
|
326
312
|
};
|
|
@@ -338,19 +324,19 @@ pub const HeaderInstallation = union(enum) {
|
|
|
338
324
|
/// `exclude_extensions` takes precedence over `include_extensions`.
|
|
339
325
|
include_extensions: ?[]const []const u8 = &.{".h"},
|
|
340
326
|
|
|
341
|
-
pub fn dupe(opts: Directory.Options,
|
|
327
|
+
pub fn dupe(opts: Directory.Options, graph: *const std.Build.Graph) Directory.Options {
|
|
342
328
|
return .{
|
|
343
|
-
.exclude_extensions =
|
|
344
|
-
.include_extensions = if (opts.include_extensions) |incs|
|
|
329
|
+
.exclude_extensions = graph.dupeStrings(opts.exclude_extensions),
|
|
330
|
+
.include_extensions = if (opts.include_extensions) |incs| graph.dupeStrings(incs) else null,
|
|
345
331
|
};
|
|
346
332
|
}
|
|
347
333
|
};
|
|
348
334
|
|
|
349
|
-
pub fn dupe(dir: Directory,
|
|
335
|
+
pub fn dupe(dir: Directory, graph: *const std.Build.Graph) Directory {
|
|
350
336
|
return .{
|
|
351
|
-
.source = dir.source.dupe(
|
|
352
|
-
.dest_rel_path =
|
|
353
|
-
.options = dir.options.dupe(
|
|
337
|
+
.source = dir.source.dupe(graph),
|
|
338
|
+
.dest_rel_path = graph.dupePath(dir.dest_rel_path),
|
|
339
|
+
.options = dir.options.dupe(graph),
|
|
354
340
|
};
|
|
355
341
|
}
|
|
356
342
|
};
|
|
@@ -361,10 +347,10 @@ pub const HeaderInstallation = union(enum) {
|
|
|
361
347
|
};
|
|
362
348
|
}
|
|
363
349
|
|
|
364
|
-
pub fn dupe(installation: HeaderInstallation,
|
|
350
|
+
pub fn dupe(installation: HeaderInstallation, graph: *const std.Build.Graph) HeaderInstallation {
|
|
365
351
|
return switch (installation) {
|
|
366
|
-
.file => |f| .{ .file = f.dupe(
|
|
367
|
-
.directory => |d| .{ .directory = d.dupe(
|
|
352
|
+
.file => |f| .{ .file = f.dupe(graph) },
|
|
353
|
+
.directory => |d| .{ .directory = d.dupe(graph) },
|
|
368
354
|
};
|
|
369
355
|
}
|
|
370
356
|
};
|
|
@@ -378,6 +364,9 @@ pub const TestRunner = struct {
|
|
|
378
364
|
};
|
|
379
365
|
|
|
380
366
|
pub fn create(owner: *std.Build, options: Options) *Compile {
|
|
367
|
+
const graph = owner.graph;
|
|
368
|
+
const arena = graph.arena;
|
|
369
|
+
|
|
381
370
|
const name = owner.dupe(options.name);
|
|
382
371
|
if (mem.find(u8, name, "/") != null or mem.find(u8, name, "\\") != null) {
|
|
383
372
|
panic("invalid name: '{s}'. It looks like a file path, but it is supposed to be the library or application name.", .{name});
|
|
@@ -392,14 +381,17 @@ pub fn create(owner: *std.Build, options: Options) *Compile {
|
|
|
392
381
|
if (options.kind.isTest() and mem.eql(u8, name, "test"))
|
|
393
382
|
@tagName(options.kind)
|
|
394
383
|
else
|
|
395
|
-
owner.fmt("{
|
|
384
|
+
owner.fmt("{t} {s}", .{ options.kind, name }),
|
|
396
385
|
@tagName(options.root_module.optimize orelse .Debug),
|
|
397
|
-
resolved_target.query.zigTriple(
|
|
386
|
+
resolved_target.query.zigTriple(arena) catch @panic("OOM"),
|
|
398
387
|
});
|
|
399
388
|
|
|
400
|
-
const out_filename = std.zig.binNameAlloc(
|
|
389
|
+
const out_filename = std.zig.binNameAlloc(arena, .{
|
|
401
390
|
.root_name = name,
|
|
402
|
-
.
|
|
391
|
+
.cpu_arch = target.cpu.arch,
|
|
392
|
+
.os_tag = target.os.tag,
|
|
393
|
+
.ofmt = target.ofmt,
|
|
394
|
+
.abi = target.abi,
|
|
403
395
|
.output_mode = switch (options.kind) {
|
|
404
396
|
.lib => .Lib,
|
|
405
397
|
.obj, .test_obj => .Obj,
|
|
@@ -409,7 +401,7 @@ pub fn create(owner: *std.Build, options: Options) *Compile {
|
|
|
409
401
|
.version = options.version,
|
|
410
402
|
}) catch @panic("OOM");
|
|
411
403
|
|
|
412
|
-
const compile =
|
|
404
|
+
const compile = arena.create(Compile) catch @panic("OOM");
|
|
413
405
|
compile.* = .{
|
|
414
406
|
.root_module = options.root_module,
|
|
415
407
|
.verbose_link = false,
|
|
@@ -418,52 +410,34 @@ pub fn create(owner: *std.Build, options: Options) *Compile {
|
|
|
418
410
|
.kind = options.kind,
|
|
419
411
|
.name = name,
|
|
420
412
|
.step = .init(.{
|
|
421
|
-
.
|
|
413
|
+
.tag = base_tag,
|
|
422
414
|
.name = step_name,
|
|
423
415
|
.owner = owner,
|
|
424
|
-
.makeFn = make,
|
|
425
416
|
.max_rss = options.max_rss,
|
|
426
417
|
}),
|
|
427
418
|
.version = options.version,
|
|
428
419
|
.out_filename = out_filename,
|
|
429
|
-
.
|
|
430
|
-
.major_only_filename = null,
|
|
431
|
-
.name_only_filename = null,
|
|
432
|
-
.installed_headers = std.array_list.Managed(HeaderInstallation).init(owner.allocator),
|
|
420
|
+
.installed_headers = .empty,
|
|
433
421
|
.zig_lib_dir = null,
|
|
434
422
|
.exec_cmd_args = null,
|
|
435
423
|
.filters = options.filters,
|
|
436
424
|
.test_runner = null, // set below
|
|
437
425
|
.rdynamic = false,
|
|
438
|
-
.
|
|
439
|
-
.force_undefined_symbols = StringHashMap(void).init(owner.allocator),
|
|
440
|
-
|
|
441
|
-
.emit_directory = null,
|
|
442
|
-
.generated_docs = null,
|
|
443
|
-
.generated_asm = null,
|
|
444
|
-
.generated_bin = null,
|
|
445
|
-
.generated_pdb = null,
|
|
446
|
-
.generated_compiler_rt_dyn_lib = null,
|
|
447
|
-
.generated_implib = null,
|
|
448
|
-
.generated_llvm_bc = null,
|
|
449
|
-
.generated_llvm_ir = null,
|
|
450
|
-
.generated_h = null,
|
|
426
|
+
.force_undefined_symbols = .empty,
|
|
451
427
|
|
|
452
428
|
.use_llvm = options.use_llvm,
|
|
453
429
|
.use_lld = options.use_lld,
|
|
454
430
|
.use_new_linker = null,
|
|
455
|
-
|
|
456
|
-
.zig_process = null,
|
|
457
431
|
};
|
|
458
432
|
|
|
459
433
|
if (options.zig_lib_dir) |lp| {
|
|
460
|
-
compile.zig_lib_dir = lp.dupe(
|
|
434
|
+
compile.zig_lib_dir = lp.dupe(graph);
|
|
461
435
|
lp.addStepDependencies(&compile.step);
|
|
462
436
|
}
|
|
463
437
|
|
|
464
438
|
if (options.test_runner) |runner| {
|
|
465
439
|
compile.test_runner = .{
|
|
466
|
-
.path = runner.path.dupe(
|
|
440
|
+
.path = runner.path.dupe(graph),
|
|
467
441
|
.mode = runner.mode,
|
|
468
442
|
};
|
|
469
443
|
runner.path.addStepDependencies(&compile.step);
|
|
@@ -473,45 +447,21 @@ pub fn create(owner: *std.Build, options: Options) *Compile {
|
|
|
473
447
|
// gets embedded, so for any other target the manifest file is just ignored.
|
|
474
448
|
if (target.ofmt == .coff) {
|
|
475
449
|
if (options.win32_manifest) |lp| {
|
|
476
|
-
compile.win32_manifest = lp.dupe(
|
|
450
|
+
compile.win32_manifest = lp.dupe(graph);
|
|
477
451
|
lp.addStepDependencies(&compile.step);
|
|
478
452
|
}
|
|
479
453
|
if (compile.kind == .lib and compile.linkage != null and compile.linkage.? == .dynamic) {
|
|
480
454
|
// Building a Win32 DLL, check for win32 .def file.
|
|
481
455
|
if (options.win32_module_definition) |lp| {
|
|
482
|
-
compile.win32_module_definition = lp.dupe(
|
|
456
|
+
compile.win32_module_definition = lp.dupe(graph);
|
|
483
457
|
lp.addStepDependencies(&compile.step);
|
|
484
458
|
}
|
|
485
459
|
}
|
|
486
460
|
}
|
|
487
461
|
|
|
488
|
-
if (
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
} else if (compile.version) |version| {
|
|
492
|
-
if (target.os.tag.isDarwin()) {
|
|
493
|
-
compile.major_only_filename = owner.fmt("lib{s}.{d}.dylib", .{
|
|
494
|
-
compile.name,
|
|
495
|
-
version.major,
|
|
496
|
-
});
|
|
497
|
-
compile.name_only_filename = owner.fmt("lib{s}.dylib", .{compile.name});
|
|
498
|
-
compile.out_lib_filename = compile.out_filename;
|
|
499
|
-
} else if (target.os.tag == .windows) {
|
|
500
|
-
compile.out_lib_filename = owner.fmt("{s}.lib", .{compile.name});
|
|
501
|
-
} else {
|
|
502
|
-
compile.major_only_filename = owner.fmt("lib{s}.so.{d}", .{ compile.name, version.major });
|
|
503
|
-
compile.name_only_filename = owner.fmt("lib{s}.so", .{compile.name});
|
|
504
|
-
compile.out_lib_filename = compile.out_filename;
|
|
505
|
-
}
|
|
506
|
-
} else {
|
|
507
|
-
if (target.os.tag.isDarwin()) {
|
|
508
|
-
compile.out_lib_filename = compile.out_filename;
|
|
509
|
-
} else if (target.os.tag == .windows) {
|
|
510
|
-
compile.out_lib_filename = owner.fmt("{s}.lib", .{compile.name});
|
|
511
|
-
} else {
|
|
512
|
-
compile.out_lib_filename = compile.out_filename;
|
|
513
|
-
}
|
|
514
|
-
}
|
|
462
|
+
if (options.entitlements) |lp| {
|
|
463
|
+
compile.entitlements = lp.dupe(graph);
|
|
464
|
+
lp.addStepDependencies(&compile.step);
|
|
515
465
|
}
|
|
516
466
|
|
|
517
467
|
return compile;
|
|
@@ -521,12 +471,13 @@ pub fn create(owner: *std.Build, options: Options) *Compile {
|
|
|
521
471
|
/// When a module links with this artifact, all headers marked for installation are added to that
|
|
522
472
|
/// module's include search path.
|
|
523
473
|
pub fn installHeader(cs: *Compile, source: LazyPath, dest_rel_path: []const u8) void {
|
|
524
|
-
const
|
|
474
|
+
const graph = cs.step.owner.graph;
|
|
475
|
+
const arena = graph.arena;
|
|
525
476
|
const installation: HeaderInstallation = .{ .file = .{
|
|
526
|
-
.source = source.dupe(
|
|
527
|
-
.dest_rel_path =
|
|
477
|
+
.source = source.dupe(graph),
|
|
478
|
+
.dest_rel_path = graph.dupePath(dest_rel_path),
|
|
528
479
|
} };
|
|
529
|
-
cs.installed_headers.append(installation) catch @panic("OOM");
|
|
480
|
+
cs.installed_headers.append(arena, installation) catch @panic("OOM");
|
|
530
481
|
cs.addHeaderInstallationToIncludeTree(installation);
|
|
531
482
|
installation.getSource().addStepDependencies(&cs.step);
|
|
532
483
|
}
|
|
@@ -540,13 +491,14 @@ pub fn installHeadersDirectory(
|
|
|
540
491
|
dest_rel_path: []const u8,
|
|
541
492
|
options: HeaderInstallation.Directory.Options,
|
|
542
493
|
) void {
|
|
543
|
-
const
|
|
494
|
+
const graph = cs.step.owner.graph;
|
|
495
|
+
const arena = graph.arena;
|
|
544
496
|
const installation: HeaderInstallation = .{ .directory = .{
|
|
545
|
-
.source = source.dupe(
|
|
546
|
-
.dest_rel_path =
|
|
547
|
-
.options = options.dupe(
|
|
497
|
+
.source = source.dupe(graph),
|
|
498
|
+
.dest_rel_path = graph.dupePath(dest_rel_path),
|
|
499
|
+
.options = options.dupe(graph),
|
|
548
500
|
} };
|
|
549
|
-
cs.installed_headers.append(installation) catch @panic("OOM");
|
|
501
|
+
cs.installed_headers.append(arena, installation) catch @panic("OOM");
|
|
550
502
|
cs.addHeaderInstallationToIncludeTree(installation);
|
|
551
503
|
installation.getSource().addStepDependencies(&cs.step);
|
|
552
504
|
}
|
|
@@ -563,9 +515,11 @@ pub fn installConfigHeader(cs: *Compile, config_header: *Step.ConfigHeader) void
|
|
|
563
515
|
/// module's include search path.
|
|
564
516
|
pub fn installLibraryHeaders(cs: *Compile, lib: *Compile) void {
|
|
565
517
|
assert(lib.kind == .lib);
|
|
518
|
+
const graph = cs.step.owner.graph;
|
|
519
|
+
const arena = graph.arena;
|
|
566
520
|
for (lib.installed_headers.items) |installation| {
|
|
567
|
-
const installation_copy = installation.dupe(
|
|
568
|
-
cs.installed_headers.append(installation_copy) catch @panic("OOM");
|
|
521
|
+
const installation_copy = installation.dupe(graph);
|
|
522
|
+
cs.installed_headers.append(arena, installation_copy) catch @panic("OOM");
|
|
569
523
|
cs.addHeaderInstallationToIncludeTree(installation_copy);
|
|
570
524
|
installation_copy.getSource().addStepDependencies(&cs.step);
|
|
571
525
|
}
|
|
@@ -611,25 +565,22 @@ pub fn addObjCopy(cs: *Compile, options: Step.ObjCopy.Options) *Step.ObjCopy {
|
|
|
611
565
|
return b.addObjCopy(cs.getEmittedBin(), copy);
|
|
612
566
|
}
|
|
613
567
|
|
|
614
|
-
pub fn checkObject(compile: *Compile) *Step.CheckObject {
|
|
615
|
-
return Step.CheckObject.create(compile.step.owner, compile.getEmittedBin(), compile.rootModuleTarget().ofmt);
|
|
616
|
-
}
|
|
617
|
-
|
|
618
568
|
pub fn setLinkerScript(compile: *Compile, source: LazyPath) void {
|
|
619
|
-
const
|
|
620
|
-
compile.linker_script = source.dupe(
|
|
569
|
+
const graph = compile.step.owner.graph;
|
|
570
|
+
compile.linker_script = source.dupe(graph);
|
|
621
571
|
source.addStepDependencies(&compile.step);
|
|
622
572
|
}
|
|
623
573
|
|
|
624
574
|
pub fn setVersionScript(compile: *Compile, source: LazyPath) void {
|
|
625
|
-
const
|
|
626
|
-
compile.version_script = source.dupe(
|
|
575
|
+
const graph = compile.step.owner.graph;
|
|
576
|
+
compile.version_script = source.dupe(graph);
|
|
627
577
|
source.addStepDependencies(&compile.step);
|
|
628
578
|
}
|
|
629
579
|
|
|
630
580
|
pub fn forceUndefinedSymbol(compile: *Compile, symbol_name: []const u8) void {
|
|
631
|
-
const
|
|
632
|
-
|
|
581
|
+
const graph = compile.step.owner.graph;
|
|
582
|
+
const arena = graph.arena;
|
|
583
|
+
compile.force_undefined_symbols.put(arena, graph.dupeString(symbol_name), {}) catch @panic("OOM");
|
|
633
584
|
}
|
|
634
585
|
|
|
635
586
|
/// Returns whether the library, executable, or object depends on a particular system library.
|
|
@@ -705,119 +656,6 @@ pub fn producesImplib(compile: *Compile) bool {
|
|
|
705
656
|
return compile.isDll();
|
|
706
657
|
}
|
|
707
658
|
|
|
708
|
-
const PkgConfigResult = struct {
|
|
709
|
-
cflags: []const []const u8,
|
|
710
|
-
libs: []const []const u8,
|
|
711
|
-
};
|
|
712
|
-
|
|
713
|
-
/// Run pkg-config for the given library name and parse the output, returning the arguments
|
|
714
|
-
/// that should be passed to zig to link the given library.
|
|
715
|
-
pub fn runPkgConfig(step: *Step, lib_name: []const u8) !PkgConfigResult {
|
|
716
|
-
const wl_rpath_prefix = "-Wl,-rpath,";
|
|
717
|
-
|
|
718
|
-
const b = step.owner;
|
|
719
|
-
const pkg_name = match: {
|
|
720
|
-
// First we have to map the library name to pkg config name. Unfortunately,
|
|
721
|
-
// there are several examples where this is not straightforward:
|
|
722
|
-
// -lSDL2 -> pkg-config sdl2
|
|
723
|
-
// -lgdk-3 -> pkg-config gdk-3.0
|
|
724
|
-
// -latk-1.0 -> pkg-config atk
|
|
725
|
-
// -lpulse -> pkg-config libpulse
|
|
726
|
-
const pkgs = try getPkgConfigList(b);
|
|
727
|
-
|
|
728
|
-
// Exact match means instant winner.
|
|
729
|
-
for (pkgs) |pkg| {
|
|
730
|
-
if (mem.eql(u8, pkg.name, lib_name)) {
|
|
731
|
-
break :match pkg.name;
|
|
732
|
-
}
|
|
733
|
-
}
|
|
734
|
-
|
|
735
|
-
// Next we'll try ignoring case.
|
|
736
|
-
for (pkgs) |pkg| {
|
|
737
|
-
if (std.ascii.eqlIgnoreCase(pkg.name, lib_name)) {
|
|
738
|
-
break :match pkg.name;
|
|
739
|
-
}
|
|
740
|
-
}
|
|
741
|
-
|
|
742
|
-
// Prefixed "lib" or suffixed ".0".
|
|
743
|
-
for (pkgs) |pkg| {
|
|
744
|
-
if (std.ascii.findIgnoreCase(pkg.name, lib_name)) |pos| {
|
|
745
|
-
const prefix = pkg.name[0..pos];
|
|
746
|
-
const suffix = pkg.name[pos + lib_name.len ..];
|
|
747
|
-
if (prefix.len > 0 and !mem.eql(u8, prefix, "lib")) continue;
|
|
748
|
-
if (suffix.len > 0 and !mem.eql(u8, suffix, ".0")) continue;
|
|
749
|
-
break :match pkg.name;
|
|
750
|
-
}
|
|
751
|
-
}
|
|
752
|
-
|
|
753
|
-
// Trimming "-1.0".
|
|
754
|
-
if (mem.endsWith(u8, lib_name, "-1.0")) {
|
|
755
|
-
const trimmed_lib_name = lib_name[0 .. lib_name.len - "-1.0".len];
|
|
756
|
-
for (pkgs) |pkg| {
|
|
757
|
-
if (std.ascii.eqlIgnoreCase(pkg.name, trimmed_lib_name)) {
|
|
758
|
-
break :match pkg.name;
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
|
|
763
|
-
return error.PackageNotFound;
|
|
764
|
-
};
|
|
765
|
-
|
|
766
|
-
var code: u8 = undefined;
|
|
767
|
-
const pkg_config_exe = b.graph.environ_map.get("PKG_CONFIG") orelse "pkg-config";
|
|
768
|
-
const stdout = if (b.runAllowFail(&[_][]const u8{
|
|
769
|
-
pkg_config_exe,
|
|
770
|
-
pkg_name,
|
|
771
|
-
"--cflags",
|
|
772
|
-
"--libs",
|
|
773
|
-
}, &code, .ignore)) |stdout| stdout else |err| switch (err) {
|
|
774
|
-
error.ProcessTerminated => return error.PkgConfigCrashed,
|
|
775
|
-
error.ExecNotSupported => return error.PkgConfigFailed,
|
|
776
|
-
error.ExitCodeFailure => return error.PkgConfigFailed,
|
|
777
|
-
error.FileNotFound => return error.PkgConfigNotInstalled,
|
|
778
|
-
else => return err,
|
|
779
|
-
};
|
|
780
|
-
|
|
781
|
-
var zig_cflags = std.array_list.Managed([]const u8).init(b.allocator);
|
|
782
|
-
defer zig_cflags.deinit();
|
|
783
|
-
var zig_libs = std.array_list.Managed([]const u8).init(b.allocator);
|
|
784
|
-
defer zig_libs.deinit();
|
|
785
|
-
|
|
786
|
-
var arg_it = mem.tokenizeAny(u8, stdout, " \r\n\t");
|
|
787
|
-
while (arg_it.next()) |arg| {
|
|
788
|
-
if (mem.eql(u8, arg, "-I")) {
|
|
789
|
-
const dir = arg_it.next() orelse return error.PkgConfigInvalidOutput;
|
|
790
|
-
try zig_cflags.appendSlice(&[_][]const u8{ "-I", dir });
|
|
791
|
-
} else if (mem.startsWith(u8, arg, "-I")) {
|
|
792
|
-
try zig_cflags.append(arg);
|
|
793
|
-
} else if (mem.eql(u8, arg, "-L")) {
|
|
794
|
-
const dir = arg_it.next() orelse return error.PkgConfigInvalidOutput;
|
|
795
|
-
try zig_libs.appendSlice(&[_][]const u8{ "-L", dir });
|
|
796
|
-
} else if (mem.startsWith(u8, arg, "-L")) {
|
|
797
|
-
try zig_libs.append(arg);
|
|
798
|
-
} else if (mem.eql(u8, arg, "-l")) {
|
|
799
|
-
const lib = arg_it.next() orelse return error.PkgConfigInvalidOutput;
|
|
800
|
-
try zig_libs.appendSlice(&[_][]const u8{ "-l", lib });
|
|
801
|
-
} else if (mem.startsWith(u8, arg, "-l")) {
|
|
802
|
-
try zig_libs.append(arg);
|
|
803
|
-
} else if (mem.eql(u8, arg, "-D")) {
|
|
804
|
-
const macro = arg_it.next() orelse return error.PkgConfigInvalidOutput;
|
|
805
|
-
try zig_cflags.appendSlice(&[_][]const u8{ "-D", macro });
|
|
806
|
-
} else if (mem.startsWith(u8, arg, "-D")) {
|
|
807
|
-
try zig_cflags.append(arg);
|
|
808
|
-
} else if (mem.startsWith(u8, arg, wl_rpath_prefix)) {
|
|
809
|
-
try zig_cflags.appendSlice(&[_][]const u8{ "-rpath", arg[wl_rpath_prefix.len..] });
|
|
810
|
-
} else if (b.debug_pkg_config) {
|
|
811
|
-
return step.fail("unknown pkg-config flag '{s}'", .{arg});
|
|
812
|
-
}
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
return .{
|
|
816
|
-
.cflags = try zig_cflags.toOwnedSlice(),
|
|
817
|
-
.libs = try zig_libs.toOwnedSlice(),
|
|
818
|
-
};
|
|
819
|
-
}
|
|
820
|
-
|
|
821
659
|
pub fn setVerboseLink(compile: *Compile, value: bool) void {
|
|
822
660
|
compile.verbose_link = value;
|
|
823
661
|
}
|
|
@@ -827,22 +665,21 @@ pub fn setVerboseCC(compile: *Compile, value: bool) void {
|
|
|
827
665
|
}
|
|
828
666
|
|
|
829
667
|
pub fn setLibCFile(compile: *Compile, libc_file: ?LazyPath) void {
|
|
830
|
-
const
|
|
668
|
+
const graph = compile.step.owner.graph;
|
|
831
669
|
if (libc_file) |f| {
|
|
832
|
-
compile.libc_file = f.dupe(
|
|
670
|
+
compile.libc_file = f.dupe(graph);
|
|
833
671
|
f.addStepDependencies(&compile.step);
|
|
834
672
|
} else {
|
|
835
673
|
compile.libc_file = null;
|
|
836
674
|
}
|
|
837
675
|
}
|
|
838
676
|
|
|
839
|
-
fn getEmittedFileGeneric(compile: *Compile, output_file:
|
|
840
|
-
if (output_file
|
|
841
|
-
const
|
|
842
|
-
const
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
return .{ .generated = .{ .file = generated_file } };
|
|
677
|
+
fn getEmittedFileGeneric(compile: *Compile, output_file: *Configuration.OptionalGeneratedFileIndex) LazyPath {
|
|
678
|
+
if (output_file.unwrap()) |index| return .{ .generated = .{ .index = index } };
|
|
679
|
+
const graph = compile.step.owner.graph;
|
|
680
|
+
const index = graph.addGeneratedFile(&compile.step);
|
|
681
|
+
output_file.* = .init(index);
|
|
682
|
+
return .{ .generated = .{ .index = index } };
|
|
846
683
|
}
|
|
847
684
|
|
|
848
685
|
/// Returns the path to the directory that contains the emitted binary file.
|
|
@@ -879,12 +716,6 @@ pub fn getEmittedPdb(compile: *Compile) LazyPath {
|
|
|
879
716
|
return compile.getEmittedFileGeneric(&compile.generated_pdb);
|
|
880
717
|
}
|
|
881
718
|
|
|
882
|
-
/// Returns the generated compiler_rt dynamic library.
|
|
883
|
-
/// This is a hack for stage2_x86_64 + coff.
|
|
884
|
-
pub fn getEmittedCompilerRtDynLib(compile: *Compile) ?LazyPath {
|
|
885
|
-
return compile.getEmittedFileGeneric(&compile.generated_compiler_rt_dyn_lib);
|
|
886
|
-
}
|
|
887
|
-
|
|
888
719
|
/// Returns the path to the generated documentation directory.
|
|
889
720
|
pub fn getEmittedDocs(compile: *Compile) LazyPath {
|
|
890
721
|
return compile.getEmittedFileGeneric(&compile.generated_docs);
|
|
@@ -906,1175 +737,21 @@ pub fn getEmittedLlvmBc(compile: *Compile) LazyPath {
|
|
|
906
737
|
}
|
|
907
738
|
|
|
908
739
|
pub fn setExecCmd(compile: *Compile, args: []const ?[]const u8) void {
|
|
909
|
-
const
|
|
740
|
+
const graph = compile.step.owner.graph;
|
|
741
|
+
const arena = graph.arena;
|
|
910
742
|
assert(compile.kind == .@"test");
|
|
911
|
-
const duped_args =
|
|
743
|
+
const duped_args = arena.alloc(?[]const u8, args.len) catch @panic("OOM");
|
|
912
744
|
for (args, 0..) |arg, i| {
|
|
913
|
-
duped_args[i] = if (arg) |a|
|
|
745
|
+
duped_args[i] = if (arg) |a| graph.dupeString(a) else null;
|
|
914
746
|
}
|
|
915
747
|
compile.exec_cmd_args = duped_args;
|
|
916
748
|
}
|
|
917
749
|
|
|
918
|
-
const CliNamedModules = struct {
|
|
919
|
-
modules: std.AutoArrayHashMapUnmanaged(*Module, void),
|
|
920
|
-
names: std.StringArrayHashMapUnmanaged(void),
|
|
921
|
-
|
|
922
|
-
/// Traverse the whole dependency graph and give every module a unique
|
|
923
|
-
/// name, ideally one named after what it's called somewhere in the graph.
|
|
924
|
-
/// It will help here to have both a mapping from module to name and a set
|
|
925
|
-
/// of all the currently-used names.
|
|
926
|
-
fn init(arena: Allocator, root_module: *Module) Allocator.Error!CliNamedModules {
|
|
927
|
-
var compile: CliNamedModules = .{
|
|
928
|
-
.modules = .{},
|
|
929
|
-
.names = .{},
|
|
930
|
-
};
|
|
931
|
-
const graph = root_module.getGraph();
|
|
932
|
-
{
|
|
933
|
-
assert(graph.modules[0] == root_module);
|
|
934
|
-
try compile.modules.put(arena, root_module, {});
|
|
935
|
-
try compile.names.put(arena, "root", {});
|
|
936
|
-
}
|
|
937
|
-
for (graph.modules[1..], graph.names[1..]) |mod, orig_name| {
|
|
938
|
-
var name = orig_name;
|
|
939
|
-
var n: usize = 0;
|
|
940
|
-
while (true) {
|
|
941
|
-
const gop = try compile.names.getOrPut(arena, name);
|
|
942
|
-
if (!gop.found_existing) {
|
|
943
|
-
try compile.modules.putNoClobber(arena, mod, {});
|
|
944
|
-
break;
|
|
945
|
-
}
|
|
946
|
-
name = try std.fmt.allocPrint(arena, "{s}{d}", .{ orig_name, n });
|
|
947
|
-
n += 1;
|
|
948
|
-
}
|
|
949
|
-
}
|
|
950
|
-
return compile;
|
|
951
|
-
}
|
|
952
|
-
};
|
|
953
|
-
|
|
954
|
-
fn getGeneratedFilePath(compile: *Compile, comptime tag_name: []const u8, asking_step: ?*Step) ![]const u8 {
|
|
955
|
-
const step = &compile.step;
|
|
956
|
-
const b = step.owner;
|
|
957
|
-
const graph = b.graph;
|
|
958
|
-
const io = graph.io;
|
|
959
|
-
const maybe_path: ?*GeneratedFile = @field(compile, tag_name);
|
|
960
|
-
|
|
961
|
-
const generated_file = maybe_path orelse {
|
|
962
|
-
const stderr = try io.lockStderr(&.{}, graph.stderr_mode);
|
|
963
|
-
std.Build.dumpBadGetPathHelp(&compile.step, stderr.terminal(), compile.step.owner, asking_step) catch {};
|
|
964
|
-
io.unlockStderr();
|
|
965
|
-
@panic("missing emit option for " ++ tag_name);
|
|
966
|
-
};
|
|
967
|
-
|
|
968
|
-
const path = generated_file.path orelse {
|
|
969
|
-
const stderr = try io.lockStderr(&.{}, graph.stderr_mode);
|
|
970
|
-
std.Build.dumpBadGetPathHelp(&compile.step, stderr.terminal(), compile.step.owner, asking_step) catch {};
|
|
971
|
-
io.unlockStderr();
|
|
972
|
-
@panic(tag_name ++ " is null. Is there a missing step dependency?");
|
|
973
|
-
};
|
|
974
|
-
|
|
975
|
-
return path;
|
|
976
|
-
}
|
|
977
|
-
|
|
978
|
-
fn getZigArgs(compile: *Compile, fuzz: bool) ![][]const u8 {
|
|
979
|
-
const step = &compile.step;
|
|
980
|
-
const b = step.owner;
|
|
981
|
-
const arena = b.allocator;
|
|
982
|
-
|
|
983
|
-
var zig_args = std.array_list.Managed([]const u8).init(arena);
|
|
984
|
-
defer zig_args.deinit();
|
|
985
|
-
|
|
986
|
-
try zig_args.append(b.graph.zig_exe);
|
|
987
|
-
|
|
988
|
-
const cmd = switch (compile.kind) {
|
|
989
|
-
.lib => "build-lib",
|
|
990
|
-
.exe => "build-exe",
|
|
991
|
-
.obj => "build-obj",
|
|
992
|
-
.@"test" => "test",
|
|
993
|
-
.test_obj => "test-obj",
|
|
994
|
-
};
|
|
995
|
-
try zig_args.append(cmd);
|
|
996
|
-
|
|
997
|
-
if (b.reference_trace) |some| {
|
|
998
|
-
try zig_args.append(try std.fmt.allocPrint(arena, "-freference-trace={d}", .{some}));
|
|
999
|
-
}
|
|
1000
|
-
try addFlag(&zig_args, "allow-so-scripts", compile.allow_so_scripts orelse b.graph.allow_so_scripts);
|
|
1001
|
-
|
|
1002
|
-
try addFlag(&zig_args, "llvm", compile.use_llvm);
|
|
1003
|
-
try addFlag(&zig_args, "lld", compile.use_lld);
|
|
1004
|
-
try addFlag(&zig_args, "new-linker", compile.use_new_linker);
|
|
1005
|
-
|
|
1006
|
-
if (compile.root_module.resolved_target.?.query.ofmt) |ofmt| {
|
|
1007
|
-
try zig_args.append(try std.fmt.allocPrint(arena, "-ofmt={s}", .{@tagName(ofmt)}));
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
switch (compile.entry) {
|
|
1011
|
-
.default => {},
|
|
1012
|
-
.disabled => try zig_args.append("-fno-entry"),
|
|
1013
|
-
.enabled => try zig_args.append("-fentry"),
|
|
1014
|
-
.symbol_name => |entry_name| {
|
|
1015
|
-
try zig_args.append(try std.fmt.allocPrint(arena, "-fentry={s}", .{entry_name}));
|
|
1016
|
-
},
|
|
1017
|
-
}
|
|
1018
|
-
|
|
1019
|
-
{
|
|
1020
|
-
var symbol_it = compile.force_undefined_symbols.keyIterator();
|
|
1021
|
-
while (symbol_it.next()) |symbol_name| {
|
|
1022
|
-
try zig_args.append("--force_undefined");
|
|
1023
|
-
try zig_args.append(symbol_name.*);
|
|
1024
|
-
}
|
|
1025
|
-
}
|
|
1026
|
-
|
|
1027
|
-
if (compile.stack_size) |stack_size| {
|
|
1028
|
-
try zig_args.append("--stack");
|
|
1029
|
-
try zig_args.append(try std.fmt.allocPrint(arena, "{}", .{stack_size}));
|
|
1030
|
-
}
|
|
1031
|
-
|
|
1032
|
-
if (fuzz) {
|
|
1033
|
-
try zig_args.append("-ffuzz");
|
|
1034
|
-
}
|
|
1035
|
-
|
|
1036
|
-
{
|
|
1037
|
-
// Stores system libraries that have already been seen for at least one
|
|
1038
|
-
// module, along with any arguments that need to be passed to the
|
|
1039
|
-
// compiler for each module individually.
|
|
1040
|
-
var seen_system_libs: std.StringHashMapUnmanaged([]const []const u8) = .empty;
|
|
1041
|
-
var frameworks: std.StringArrayHashMapUnmanaged(Module.LinkFrameworkOptions) = .empty;
|
|
1042
|
-
|
|
1043
|
-
var prev_has_cflags = false;
|
|
1044
|
-
var prev_has_rcflags = false;
|
|
1045
|
-
var prev_search_strategy: Module.SystemLib.SearchStrategy = .paths_first;
|
|
1046
|
-
var prev_preferred_link_mode: std.builtin.LinkMode = .dynamic;
|
|
1047
|
-
// Track the number of positional arguments so that a nice error can be
|
|
1048
|
-
// emitted if there is nothing to link.
|
|
1049
|
-
var total_linker_objects: usize = @intFromBool(compile.root_module.root_source_file != null);
|
|
1050
|
-
|
|
1051
|
-
// Fully recursive iteration including dynamic libraries to detect
|
|
1052
|
-
// libc and libc++ linkage.
|
|
1053
|
-
for (compile.getCompileDependencies(true)) |some_compile| {
|
|
1054
|
-
for (some_compile.root_module.getGraph().modules) |mod| {
|
|
1055
|
-
if (mod.link_libc == true) compile.is_linking_libc = true;
|
|
1056
|
-
if (mod.link_libcpp == true) compile.is_linking_libcpp = true;
|
|
1057
|
-
}
|
|
1058
|
-
}
|
|
1059
|
-
|
|
1060
|
-
var cli_named_modules = try CliNamedModules.init(arena, compile.root_module);
|
|
1061
|
-
|
|
1062
|
-
// For this loop, don't chase dynamic libraries because their link
|
|
1063
|
-
// objects are already linked.
|
|
1064
|
-
for (compile.getCompileDependencies(false)) |dep_compile| {
|
|
1065
|
-
for (dep_compile.root_module.getGraph().modules) |mod| {
|
|
1066
|
-
// While walking transitive dependencies, if a given link object is
|
|
1067
|
-
// already included in a library, it should not redundantly be
|
|
1068
|
-
// placed on the linker line of the dependee.
|
|
1069
|
-
const my_responsibility = dep_compile == compile;
|
|
1070
|
-
const already_linked = !my_responsibility and dep_compile.isDynamicLibrary();
|
|
1071
|
-
|
|
1072
|
-
// Inherit dependencies on darwin frameworks.
|
|
1073
|
-
if (!already_linked) {
|
|
1074
|
-
for (mod.frameworks.keys(), mod.frameworks.values()) |name, info| {
|
|
1075
|
-
try frameworks.put(arena, name, info);
|
|
1076
|
-
}
|
|
1077
|
-
}
|
|
1078
|
-
|
|
1079
|
-
// Inherit dependencies on system libraries and static libraries.
|
|
1080
|
-
for (mod.link_objects.items) |link_object| {
|
|
1081
|
-
switch (link_object) {
|
|
1082
|
-
.static_path => |static_path| {
|
|
1083
|
-
if (my_responsibility) {
|
|
1084
|
-
try zig_args.append(static_path.getPath2(mod.owner, step));
|
|
1085
|
-
total_linker_objects += 1;
|
|
1086
|
-
}
|
|
1087
|
-
},
|
|
1088
|
-
.system_lib => |system_lib| {
|
|
1089
|
-
const system_lib_gop = try seen_system_libs.getOrPut(arena, system_lib.name);
|
|
1090
|
-
if (system_lib_gop.found_existing) {
|
|
1091
|
-
try zig_args.appendSlice(system_lib_gop.value_ptr.*);
|
|
1092
|
-
continue;
|
|
1093
|
-
} else {
|
|
1094
|
-
system_lib_gop.value_ptr.* = &.{};
|
|
1095
|
-
}
|
|
1096
|
-
|
|
1097
|
-
if (already_linked)
|
|
1098
|
-
continue;
|
|
1099
|
-
|
|
1100
|
-
if ((system_lib.search_strategy != prev_search_strategy or
|
|
1101
|
-
system_lib.preferred_link_mode != prev_preferred_link_mode) and
|
|
1102
|
-
compile.linkage != .static)
|
|
1103
|
-
{
|
|
1104
|
-
switch (system_lib.search_strategy) {
|
|
1105
|
-
.no_fallback => switch (system_lib.preferred_link_mode) {
|
|
1106
|
-
.dynamic => try zig_args.append("-search_dylibs_only"),
|
|
1107
|
-
.static => try zig_args.append("-search_static_only"),
|
|
1108
|
-
},
|
|
1109
|
-
.paths_first => switch (system_lib.preferred_link_mode) {
|
|
1110
|
-
.dynamic => try zig_args.append("-search_paths_first"),
|
|
1111
|
-
.static => try zig_args.append("-search_paths_first_static"),
|
|
1112
|
-
},
|
|
1113
|
-
.mode_first => switch (system_lib.preferred_link_mode) {
|
|
1114
|
-
.dynamic => try zig_args.append("-search_dylibs_first"),
|
|
1115
|
-
.static => try zig_args.append("-search_static_first"),
|
|
1116
|
-
},
|
|
1117
|
-
}
|
|
1118
|
-
prev_search_strategy = system_lib.search_strategy;
|
|
1119
|
-
prev_preferred_link_mode = system_lib.preferred_link_mode;
|
|
1120
|
-
}
|
|
1121
|
-
|
|
1122
|
-
const prefix: []const u8 = prefix: {
|
|
1123
|
-
if (system_lib.needed) break :prefix "-needed-l";
|
|
1124
|
-
if (system_lib.weak) break :prefix "-weak-l";
|
|
1125
|
-
break :prefix "-l";
|
|
1126
|
-
};
|
|
1127
|
-
switch (system_lib.use_pkg_config) {
|
|
1128
|
-
.no => try zig_args.append(b.fmt("{s}{s}", .{ prefix, system_lib.name })),
|
|
1129
|
-
.yes, .force => {
|
|
1130
|
-
if (runPkgConfig(&compile.step, system_lib.name)) |result| {
|
|
1131
|
-
try zig_args.appendSlice(result.cflags);
|
|
1132
|
-
try zig_args.appendSlice(result.libs);
|
|
1133
|
-
try seen_system_libs.put(arena, system_lib.name, result.cflags);
|
|
1134
|
-
} else |err| switch (err) {
|
|
1135
|
-
error.PkgConfigInvalidOutput,
|
|
1136
|
-
error.PkgConfigCrashed,
|
|
1137
|
-
error.PkgConfigFailed,
|
|
1138
|
-
error.PkgConfigNotInstalled,
|
|
1139
|
-
error.PackageNotFound,
|
|
1140
|
-
=> switch (system_lib.use_pkg_config) {
|
|
1141
|
-
.yes => {
|
|
1142
|
-
// pkg-config failed, so fall back to linking the library
|
|
1143
|
-
// by name directly.
|
|
1144
|
-
try zig_args.append(b.fmt("{s}{s}", .{
|
|
1145
|
-
prefix,
|
|
1146
|
-
system_lib.name,
|
|
1147
|
-
}));
|
|
1148
|
-
},
|
|
1149
|
-
.force => {
|
|
1150
|
-
panic("pkg-config failed for library {s}", .{system_lib.name});
|
|
1151
|
-
},
|
|
1152
|
-
.no => unreachable,
|
|
1153
|
-
},
|
|
1154
|
-
|
|
1155
|
-
else => |e| return e,
|
|
1156
|
-
}
|
|
1157
|
-
},
|
|
1158
|
-
}
|
|
1159
|
-
},
|
|
1160
|
-
.other_step => |other| {
|
|
1161
|
-
switch (other.kind) {
|
|
1162
|
-
.exe => return step.fail("cannot link with an executable build artifact", .{}),
|
|
1163
|
-
.@"test" => return step.fail("cannot link with a test", .{}),
|
|
1164
|
-
.obj, .test_obj => {
|
|
1165
|
-
const included_in_lib_or_obj = !my_responsibility and
|
|
1166
|
-
(dep_compile.kind == .lib or dep_compile.kind == .obj or dep_compile.kind == .test_obj);
|
|
1167
|
-
if (!already_linked and !included_in_lib_or_obj) {
|
|
1168
|
-
try zig_args.append(other.getEmittedBin().getPath2(b, step));
|
|
1169
|
-
total_linker_objects += 1;
|
|
1170
|
-
}
|
|
1171
|
-
},
|
|
1172
|
-
.lib => l: {
|
|
1173
|
-
const other_produces_implib = other.producesImplib();
|
|
1174
|
-
const other_is_static = other_produces_implib or other.isStaticLibrary();
|
|
1175
|
-
|
|
1176
|
-
if (compile.isStaticLibrary() and other_is_static) {
|
|
1177
|
-
// Avoid putting a static library inside a static library.
|
|
1178
|
-
break :l;
|
|
1179
|
-
}
|
|
1180
|
-
|
|
1181
|
-
// For DLLs, we must link against the implib.
|
|
1182
|
-
// For everything else, we directly link
|
|
1183
|
-
// against the library file.
|
|
1184
|
-
const full_path_lib = if (other_produces_implib)
|
|
1185
|
-
try other.getGeneratedFilePath("generated_implib", &compile.step)
|
|
1186
|
-
else
|
|
1187
|
-
try other.getGeneratedFilePath("generated_bin", &compile.step);
|
|
1188
|
-
|
|
1189
|
-
try zig_args.append(full_path_lib);
|
|
1190
|
-
total_linker_objects += 1;
|
|
1191
|
-
|
|
1192
|
-
if (other.linkage == .dynamic and
|
|
1193
|
-
compile.rootModuleTarget().os.tag != .windows)
|
|
1194
|
-
{
|
|
1195
|
-
if (fs.path.dirname(full_path_lib)) |dirname| {
|
|
1196
|
-
try zig_args.append("-rpath");
|
|
1197
|
-
try zig_args.append(dirname);
|
|
1198
|
-
}
|
|
1199
|
-
}
|
|
1200
|
-
},
|
|
1201
|
-
}
|
|
1202
|
-
},
|
|
1203
|
-
.assembly_file => |asm_file| l: {
|
|
1204
|
-
if (!my_responsibility) break :l;
|
|
1205
|
-
|
|
1206
|
-
if (prev_has_cflags) {
|
|
1207
|
-
try zig_args.append("-cflags");
|
|
1208
|
-
try zig_args.append("--");
|
|
1209
|
-
prev_has_cflags = false;
|
|
1210
|
-
}
|
|
1211
|
-
try zig_args.append(asm_file.getPath2(mod.owner, step));
|
|
1212
|
-
total_linker_objects += 1;
|
|
1213
|
-
},
|
|
1214
|
-
|
|
1215
|
-
.c_source_file => |c_source_file| l: {
|
|
1216
|
-
if (!my_responsibility) break :l;
|
|
1217
|
-
|
|
1218
|
-
if (prev_has_cflags or c_source_file.flags.len != 0) {
|
|
1219
|
-
try zig_args.append("-cflags");
|
|
1220
|
-
for (c_source_file.flags) |arg| {
|
|
1221
|
-
try zig_args.append(arg);
|
|
1222
|
-
}
|
|
1223
|
-
try zig_args.append("--");
|
|
1224
|
-
}
|
|
1225
|
-
prev_has_cflags = (c_source_file.flags.len != 0);
|
|
1226
|
-
|
|
1227
|
-
if (c_source_file.language) |lang| {
|
|
1228
|
-
try zig_args.append("-x");
|
|
1229
|
-
try zig_args.append(lang.internalIdentifier());
|
|
1230
|
-
}
|
|
1231
|
-
|
|
1232
|
-
try zig_args.append(c_source_file.file.getPath2(mod.owner, step));
|
|
1233
|
-
|
|
1234
|
-
if (c_source_file.language != null) {
|
|
1235
|
-
try zig_args.append("-x");
|
|
1236
|
-
try zig_args.append("none");
|
|
1237
|
-
}
|
|
1238
|
-
total_linker_objects += 1;
|
|
1239
|
-
},
|
|
1240
|
-
|
|
1241
|
-
.c_source_files => |c_source_files| l: {
|
|
1242
|
-
if (!my_responsibility) break :l;
|
|
1243
|
-
|
|
1244
|
-
if (prev_has_cflags or c_source_files.flags.len != 0) {
|
|
1245
|
-
try zig_args.append("-cflags");
|
|
1246
|
-
for (c_source_files.flags) |arg| {
|
|
1247
|
-
try zig_args.append(arg);
|
|
1248
|
-
}
|
|
1249
|
-
try zig_args.append("--");
|
|
1250
|
-
}
|
|
1251
|
-
prev_has_cflags = (c_source_files.flags.len != 0);
|
|
1252
|
-
|
|
1253
|
-
if (c_source_files.language) |lang| {
|
|
1254
|
-
try zig_args.append("-x");
|
|
1255
|
-
try zig_args.append(lang.internalIdentifier());
|
|
1256
|
-
}
|
|
1257
|
-
|
|
1258
|
-
const root_path = c_source_files.root.getPath2(mod.owner, step);
|
|
1259
|
-
for (c_source_files.files) |file| {
|
|
1260
|
-
try zig_args.append(b.pathJoin(&.{ root_path, file }));
|
|
1261
|
-
}
|
|
1262
|
-
|
|
1263
|
-
if (c_source_files.language != null) {
|
|
1264
|
-
try zig_args.append("-x");
|
|
1265
|
-
try zig_args.append("none");
|
|
1266
|
-
}
|
|
1267
|
-
|
|
1268
|
-
total_linker_objects += c_source_files.files.len;
|
|
1269
|
-
},
|
|
1270
|
-
|
|
1271
|
-
.win32_resource_file => |rc_source_file| l: {
|
|
1272
|
-
if (!my_responsibility) break :l;
|
|
1273
|
-
|
|
1274
|
-
if (rc_source_file.flags.len == 0 and rc_source_file.include_paths.len == 0) {
|
|
1275
|
-
if (prev_has_rcflags) {
|
|
1276
|
-
try zig_args.append("-rcflags");
|
|
1277
|
-
try zig_args.append("--");
|
|
1278
|
-
prev_has_rcflags = false;
|
|
1279
|
-
}
|
|
1280
|
-
} else {
|
|
1281
|
-
try zig_args.append("-rcflags");
|
|
1282
|
-
for (rc_source_file.flags) |arg| {
|
|
1283
|
-
try zig_args.append(arg);
|
|
1284
|
-
}
|
|
1285
|
-
for (rc_source_file.include_paths) |include_path| {
|
|
1286
|
-
try zig_args.append("/I");
|
|
1287
|
-
try zig_args.append(include_path.getPath2(mod.owner, step));
|
|
1288
|
-
}
|
|
1289
|
-
try zig_args.append("--");
|
|
1290
|
-
prev_has_rcflags = true;
|
|
1291
|
-
}
|
|
1292
|
-
try zig_args.append(rc_source_file.file.getPath2(mod.owner, step));
|
|
1293
|
-
total_linker_objects += 1;
|
|
1294
|
-
},
|
|
1295
|
-
}
|
|
1296
|
-
}
|
|
1297
|
-
|
|
1298
|
-
// We need to emit the --mod argument here so that the above link objects
|
|
1299
|
-
// have the correct parent module, but only if the module is part of
|
|
1300
|
-
// this compilation.
|
|
1301
|
-
if (!my_responsibility) continue;
|
|
1302
|
-
if (cli_named_modules.modules.getIndex(mod)) |module_cli_index| {
|
|
1303
|
-
const module_cli_name = cli_named_modules.names.keys()[module_cli_index];
|
|
1304
|
-
try mod.appendZigProcessFlags(&zig_args, step);
|
|
1305
|
-
|
|
1306
|
-
// --dep arguments
|
|
1307
|
-
try zig_args.ensureUnusedCapacity(mod.import_table.count() * 2);
|
|
1308
|
-
for (mod.import_table.keys(), mod.import_table.values()) |name, import| {
|
|
1309
|
-
const import_index = cli_named_modules.modules.getIndex(import).?;
|
|
1310
|
-
const import_cli_name = cli_named_modules.names.keys()[import_index];
|
|
1311
|
-
zig_args.appendAssumeCapacity("--dep");
|
|
1312
|
-
if (std.mem.eql(u8, import_cli_name, name)) {
|
|
1313
|
-
zig_args.appendAssumeCapacity(import_cli_name);
|
|
1314
|
-
} else {
|
|
1315
|
-
zig_args.appendAssumeCapacity(b.fmt("{s}={s}", .{ name, import_cli_name }));
|
|
1316
|
-
}
|
|
1317
|
-
}
|
|
1318
|
-
|
|
1319
|
-
// When the CLI sees a -M argument, it determines whether it
|
|
1320
|
-
// implies the existence of a Zig compilation unit based on
|
|
1321
|
-
// whether there is a root source file. If there is no root
|
|
1322
|
-
// source file, then this is not a zig compilation unit - it is
|
|
1323
|
-
// perhaps a set of linker objects, or C source files instead.
|
|
1324
|
-
// Linker objects are added to the CLI globally, while C source
|
|
1325
|
-
// files must have a module parent.
|
|
1326
|
-
if (mod.root_source_file) |lp| {
|
|
1327
|
-
const src = lp.getPath2(mod.owner, step);
|
|
1328
|
-
try zig_args.append(b.fmt("-M{s}={s}", .{ module_cli_name, src }));
|
|
1329
|
-
} else if (moduleNeedsCliArg(mod)) {
|
|
1330
|
-
try zig_args.append(b.fmt("-M{s}", .{module_cli_name}));
|
|
1331
|
-
}
|
|
1332
|
-
}
|
|
1333
|
-
}
|
|
1334
|
-
}
|
|
1335
|
-
|
|
1336
|
-
if (total_linker_objects == 0) {
|
|
1337
|
-
return step.fail("the linker needs one or more objects to link", .{});
|
|
1338
|
-
}
|
|
1339
|
-
|
|
1340
|
-
for (frameworks.keys(), frameworks.values()) |name, info| {
|
|
1341
|
-
if (info.needed) {
|
|
1342
|
-
try zig_args.append("-needed_framework");
|
|
1343
|
-
} else if (info.weak) {
|
|
1344
|
-
try zig_args.append("-weak_framework");
|
|
1345
|
-
} else {
|
|
1346
|
-
try zig_args.append("-framework");
|
|
1347
|
-
}
|
|
1348
|
-
try zig_args.append(name);
|
|
1349
|
-
}
|
|
1350
|
-
|
|
1351
|
-
if (compile.is_linking_libcpp) {
|
|
1352
|
-
try zig_args.append("-lc++");
|
|
1353
|
-
}
|
|
1354
|
-
|
|
1355
|
-
if (compile.is_linking_libc) {
|
|
1356
|
-
try zig_args.append("-lc");
|
|
1357
|
-
}
|
|
1358
|
-
}
|
|
1359
|
-
|
|
1360
|
-
if (compile.win32_manifest) |manifest_file| {
|
|
1361
|
-
try zig_args.append(manifest_file.getPath2(b, step));
|
|
1362
|
-
}
|
|
1363
|
-
|
|
1364
|
-
if (compile.win32_module_definition) |module_file| {
|
|
1365
|
-
try zig_args.append(module_file.getPath2(b, step));
|
|
1366
|
-
}
|
|
1367
|
-
|
|
1368
|
-
if (compile.image_base) |image_base| {
|
|
1369
|
-
try zig_args.append("--image-base");
|
|
1370
|
-
try zig_args.append(b.fmt("0x{x}", .{image_base}));
|
|
1371
|
-
}
|
|
1372
|
-
|
|
1373
|
-
for (compile.filters) |filter| {
|
|
1374
|
-
try zig_args.append("--test-filter");
|
|
1375
|
-
try zig_args.append(filter);
|
|
1376
|
-
}
|
|
1377
|
-
|
|
1378
|
-
if (compile.test_runner) |test_runner| {
|
|
1379
|
-
try zig_args.append("--test-runner");
|
|
1380
|
-
try zig_args.append(test_runner.path.getPath2(b, step));
|
|
1381
|
-
}
|
|
1382
|
-
|
|
1383
|
-
for (b.debug_log_scopes) |log_scope| {
|
|
1384
|
-
try zig_args.append("--debug-log");
|
|
1385
|
-
try zig_args.append(log_scope);
|
|
1386
|
-
}
|
|
1387
|
-
|
|
1388
|
-
if (b.debug_compile_errors) {
|
|
1389
|
-
try zig_args.append("--debug-compile-errors");
|
|
1390
|
-
}
|
|
1391
|
-
|
|
1392
|
-
if (b.debug_incremental) {
|
|
1393
|
-
try zig_args.append("--debug-incremental");
|
|
1394
|
-
}
|
|
1395
|
-
|
|
1396
|
-
if (b.verbose_air) try zig_args.append("--verbose-air");
|
|
1397
|
-
if (b.verbose_llvm_ir) |path| try zig_args.append(b.fmt("--verbose-llvm-ir={s}", .{path}));
|
|
1398
|
-
if (b.verbose_llvm_bc) |path| try zig_args.append(b.fmt("--verbose-llvm-bc={s}", .{path}));
|
|
1399
|
-
if (b.verbose_link or compile.verbose_link) try zig_args.append("--verbose-link");
|
|
1400
|
-
if (b.verbose_cc or compile.verbose_cc) try zig_args.append("--verbose-cc");
|
|
1401
|
-
if (b.verbose_llvm_cpu_features) try zig_args.append("--verbose-llvm-cpu-features");
|
|
1402
|
-
if (b.graph.time_report) try zig_args.append("--time-report");
|
|
1403
|
-
|
|
1404
|
-
if (compile.generated_asm != null) try zig_args.append("-femit-asm");
|
|
1405
|
-
if (compile.generated_bin == null) try zig_args.append("-fno-emit-bin");
|
|
1406
|
-
if (compile.generated_docs != null) try zig_args.append("-femit-docs");
|
|
1407
|
-
if (compile.generated_implib != null) try zig_args.append("-femit-implib");
|
|
1408
|
-
if (compile.generated_llvm_bc != null) try zig_args.append("-femit-llvm-bc");
|
|
1409
|
-
if (compile.generated_llvm_ir != null) try zig_args.append("-femit-llvm-ir");
|
|
1410
|
-
if (compile.generated_h != null) try zig_args.append("-femit-h");
|
|
1411
|
-
|
|
1412
|
-
try addFlag(&zig_args, "formatted-panics", compile.formatted_panics);
|
|
1413
|
-
|
|
1414
|
-
switch (compile.compress_debug_sections) {
|
|
1415
|
-
.none => {},
|
|
1416
|
-
.zlib => try zig_args.append("--compress-debug-sections=zlib"),
|
|
1417
|
-
.zstd => try zig_args.append("--compress-debug-sections=zstd"),
|
|
1418
|
-
}
|
|
1419
|
-
|
|
1420
|
-
if (compile.link_eh_frame_hdr) {
|
|
1421
|
-
try zig_args.append("--eh-frame-hdr");
|
|
1422
|
-
}
|
|
1423
|
-
if (compile.link_emit_relocs) {
|
|
1424
|
-
try zig_args.append("--emit-relocs");
|
|
1425
|
-
}
|
|
1426
|
-
if (compile.link_function_sections) {
|
|
1427
|
-
try zig_args.append("-ffunction-sections");
|
|
1428
|
-
}
|
|
1429
|
-
if (compile.link_data_sections) {
|
|
1430
|
-
try zig_args.append("-fdata-sections");
|
|
1431
|
-
}
|
|
1432
|
-
if (compile.link_gc_sections) |x| {
|
|
1433
|
-
try zig_args.append(if (x) "--gc-sections" else "--no-gc-sections");
|
|
1434
|
-
}
|
|
1435
|
-
if (!compile.linker_dynamicbase) {
|
|
1436
|
-
try zig_args.append("--no-dynamicbase");
|
|
1437
|
-
}
|
|
1438
|
-
if (compile.linker_allow_shlib_undefined) |x| {
|
|
1439
|
-
try zig_args.append(if (x) "-fallow-shlib-undefined" else "-fno-allow-shlib-undefined");
|
|
1440
|
-
}
|
|
1441
|
-
if (compile.link_z_notext) {
|
|
1442
|
-
try zig_args.append("-z");
|
|
1443
|
-
try zig_args.append("notext");
|
|
1444
|
-
}
|
|
1445
|
-
if (!compile.link_z_relro) {
|
|
1446
|
-
try zig_args.append("-z");
|
|
1447
|
-
try zig_args.append("norelro");
|
|
1448
|
-
}
|
|
1449
|
-
if (compile.link_z_lazy) {
|
|
1450
|
-
try zig_args.append("-z");
|
|
1451
|
-
try zig_args.append("lazy");
|
|
1452
|
-
}
|
|
1453
|
-
if (compile.link_z_common_page_size) |size| {
|
|
1454
|
-
try zig_args.append("-z");
|
|
1455
|
-
try zig_args.append(b.fmt("common-page-size={d}", .{size}));
|
|
1456
|
-
}
|
|
1457
|
-
if (compile.link_z_max_page_size) |size| {
|
|
1458
|
-
try zig_args.append("-z");
|
|
1459
|
-
try zig_args.append(b.fmt("max-page-size={d}", .{size}));
|
|
1460
|
-
}
|
|
1461
|
-
if (compile.link_z_defs) {
|
|
1462
|
-
try zig_args.append("-z");
|
|
1463
|
-
try zig_args.append("defs");
|
|
1464
|
-
}
|
|
1465
|
-
|
|
1466
|
-
if (compile.libc_file) |libc_file| {
|
|
1467
|
-
try zig_args.append("--libc");
|
|
1468
|
-
try zig_args.append(libc_file.getPath2(b, step));
|
|
1469
|
-
} else if (b.libc_file) |libc_file| {
|
|
1470
|
-
try zig_args.append("--libc");
|
|
1471
|
-
try zig_args.append(libc_file);
|
|
1472
|
-
}
|
|
1473
|
-
|
|
1474
|
-
try zig_args.append("--cache-dir");
|
|
1475
|
-
try zig_args.append(b.cache_root.path orelse ".");
|
|
1476
|
-
|
|
1477
|
-
try zig_args.append("--global-cache-dir");
|
|
1478
|
-
try zig_args.append(b.graph.global_cache_root.path orelse ".");
|
|
1479
|
-
|
|
1480
|
-
if (b.graph.debug_compiler_runtime_libs) |mode|
|
|
1481
|
-
try zig_args.append(b.fmt("--debug-rt={t}", .{mode}));
|
|
1482
|
-
|
|
1483
|
-
try zig_args.append("--name");
|
|
1484
|
-
try zig_args.append(compile.name);
|
|
1485
|
-
|
|
1486
|
-
if (compile.linkage) |some| switch (some) {
|
|
1487
|
-
.dynamic => try zig_args.append("-dynamic"),
|
|
1488
|
-
.static => try zig_args.append("-static"),
|
|
1489
|
-
};
|
|
1490
|
-
if (compile.kind == .lib and compile.linkage != null and compile.linkage.? == .dynamic) {
|
|
1491
|
-
if (compile.version) |version| {
|
|
1492
|
-
try zig_args.append("--version");
|
|
1493
|
-
try zig_args.append(b.fmt("{f}", .{version}));
|
|
1494
|
-
}
|
|
1495
|
-
|
|
1496
|
-
if (compile.rootModuleTarget().os.tag.isDarwin()) {
|
|
1497
|
-
const install_name = compile.install_name orelse b.fmt("@rpath/{s}{s}{s}", .{
|
|
1498
|
-
compile.rootModuleTarget().libPrefix(),
|
|
1499
|
-
compile.name,
|
|
1500
|
-
compile.rootModuleTarget().dynamicLibSuffix(),
|
|
1501
|
-
});
|
|
1502
|
-
try zig_args.append("-install_name");
|
|
1503
|
-
try zig_args.append(install_name);
|
|
1504
|
-
}
|
|
1505
|
-
}
|
|
1506
|
-
|
|
1507
|
-
if (compile.entitlements) |entitlements| {
|
|
1508
|
-
try zig_args.appendSlice(&[_][]const u8{ "--entitlements", entitlements });
|
|
1509
|
-
}
|
|
1510
|
-
if (compile.pagezero_size) |pagezero_size| {
|
|
1511
|
-
const size = try std.fmt.allocPrint(arena, "{x}", .{pagezero_size});
|
|
1512
|
-
try zig_args.appendSlice(&[_][]const u8{ "-pagezero_size", size });
|
|
1513
|
-
}
|
|
1514
|
-
if (compile.headerpad_size) |headerpad_size| {
|
|
1515
|
-
const size = try std.fmt.allocPrint(arena, "{x}", .{headerpad_size});
|
|
1516
|
-
try zig_args.appendSlice(&[_][]const u8{ "-headerpad", size });
|
|
1517
|
-
}
|
|
1518
|
-
if (compile.headerpad_max_install_names) {
|
|
1519
|
-
try zig_args.append("-headerpad_max_install_names");
|
|
1520
|
-
}
|
|
1521
|
-
if (compile.dead_strip_dylibs) {
|
|
1522
|
-
try zig_args.append("-dead_strip_dylibs");
|
|
1523
|
-
}
|
|
1524
|
-
if (compile.force_load_objc) {
|
|
1525
|
-
try zig_args.append("-ObjC");
|
|
1526
|
-
}
|
|
1527
|
-
if (compile.discard_local_symbols) {
|
|
1528
|
-
try zig_args.append("--discard-all");
|
|
1529
|
-
}
|
|
1530
|
-
|
|
1531
|
-
try addFlag(&zig_args, "compiler-rt", compile.bundle_compiler_rt);
|
|
1532
|
-
try addFlag(&zig_args, "ubsan-rt", compile.bundle_ubsan_rt);
|
|
1533
|
-
try addFlag(&zig_args, "dll-export-fns", compile.dll_export_fns);
|
|
1534
|
-
if (compile.rdynamic) {
|
|
1535
|
-
try zig_args.append("-rdynamic");
|
|
1536
|
-
}
|
|
1537
|
-
if (compile.import_memory) {
|
|
1538
|
-
try zig_args.append("--import-memory");
|
|
1539
|
-
}
|
|
1540
|
-
if (compile.export_memory) {
|
|
1541
|
-
try zig_args.append("--export-memory");
|
|
1542
|
-
}
|
|
1543
|
-
if (compile.import_symbols) {
|
|
1544
|
-
try zig_args.append("--import-symbols");
|
|
1545
|
-
}
|
|
1546
|
-
if (compile.import_table) {
|
|
1547
|
-
try zig_args.append("--import-table");
|
|
1548
|
-
}
|
|
1549
|
-
if (compile.export_table) {
|
|
1550
|
-
try zig_args.append("--export-table");
|
|
1551
|
-
}
|
|
1552
|
-
if (compile.initial_memory) |initial_memory| {
|
|
1553
|
-
try zig_args.append(b.fmt("--initial-memory={d}", .{initial_memory}));
|
|
1554
|
-
}
|
|
1555
|
-
if (compile.max_memory) |max_memory| {
|
|
1556
|
-
try zig_args.append(b.fmt("--max-memory={d}", .{max_memory}));
|
|
1557
|
-
}
|
|
1558
|
-
if (compile.shared_memory) {
|
|
1559
|
-
try zig_args.append("--shared-memory");
|
|
1560
|
-
}
|
|
1561
|
-
if (compile.global_base) |global_base| {
|
|
1562
|
-
try zig_args.append(b.fmt("--global-base={d}", .{global_base}));
|
|
1563
|
-
}
|
|
1564
|
-
|
|
1565
|
-
if (compile.wasi_exec_model) |model| {
|
|
1566
|
-
try zig_args.append(b.fmt("-mexec-model={s}", .{@tagName(model)}));
|
|
1567
|
-
}
|
|
1568
|
-
if (compile.linker_script) |linker_script| {
|
|
1569
|
-
try zig_args.append("--script");
|
|
1570
|
-
try zig_args.append(linker_script.getPath2(b, step));
|
|
1571
|
-
}
|
|
1572
|
-
|
|
1573
|
-
if (compile.version_script) |version_script| {
|
|
1574
|
-
try zig_args.append("--version-script");
|
|
1575
|
-
try zig_args.append(version_script.getPath2(b, step));
|
|
1576
|
-
}
|
|
1577
|
-
if (compile.linker_allow_undefined_version) |x| {
|
|
1578
|
-
try zig_args.append(if (x) "--undefined-version" else "--no-undefined-version");
|
|
1579
|
-
}
|
|
1580
|
-
|
|
1581
|
-
if (compile.linker_enable_new_dtags) |enabled| {
|
|
1582
|
-
try zig_args.append(if (enabled) "--enable-new-dtags" else "--disable-new-dtags");
|
|
1583
|
-
}
|
|
1584
|
-
|
|
1585
|
-
if (compile.kind == .@"test") {
|
|
1586
|
-
if (compile.exec_cmd_args) |exec_cmd_args| {
|
|
1587
|
-
for (exec_cmd_args) |cmd_arg| {
|
|
1588
|
-
if (cmd_arg) |arg| {
|
|
1589
|
-
try zig_args.append("--test-cmd");
|
|
1590
|
-
try zig_args.append(arg);
|
|
1591
|
-
} else {
|
|
1592
|
-
try zig_args.append("--test-cmd-bin");
|
|
1593
|
-
}
|
|
1594
|
-
}
|
|
1595
|
-
}
|
|
1596
|
-
}
|
|
1597
|
-
|
|
1598
|
-
if (b.sysroot) |sysroot| {
|
|
1599
|
-
try zig_args.appendSlice(&[_][]const u8{ "--sysroot", sysroot });
|
|
1600
|
-
}
|
|
1601
|
-
|
|
1602
|
-
// -I and -L arguments that appear after the last --mod argument apply to all modules.
|
|
1603
|
-
const cwd: Io.Dir = .cwd();
|
|
1604
|
-
const io = b.graph.io;
|
|
1605
|
-
|
|
1606
|
-
for (b.search_prefixes.items) |search_prefix| {
|
|
1607
|
-
var prefix_dir = cwd.openDir(io, search_prefix, .{}) catch |err| {
|
|
1608
|
-
return step.fail("unable to open prefix directory '{s}': {s}", .{
|
|
1609
|
-
search_prefix, @errorName(err),
|
|
1610
|
-
});
|
|
1611
|
-
};
|
|
1612
|
-
defer prefix_dir.close(io);
|
|
1613
|
-
|
|
1614
|
-
// Avoid passing -L and -I flags for nonexistent directories.
|
|
1615
|
-
// This prevents a warning, that should probably be upgraded to an error in Zig's
|
|
1616
|
-
// CLI parsing code, when the linker sees an -L directory that does not exist.
|
|
1617
|
-
|
|
1618
|
-
if (prefix_dir.access(io, "lib", .{})) |_| {
|
|
1619
|
-
try zig_args.appendSlice(&.{
|
|
1620
|
-
"-L", b.pathJoin(&.{ search_prefix, "lib" }),
|
|
1621
|
-
});
|
|
1622
|
-
} else |err| switch (err) {
|
|
1623
|
-
error.FileNotFound => {},
|
|
1624
|
-
else => |e| return step.fail("unable to access '{s}/lib' directory: {s}", .{
|
|
1625
|
-
search_prefix, @errorName(e),
|
|
1626
|
-
}),
|
|
1627
|
-
}
|
|
1628
|
-
|
|
1629
|
-
if (prefix_dir.access(io, "include", .{})) |_| {
|
|
1630
|
-
try zig_args.appendSlice(&.{
|
|
1631
|
-
"-I", b.pathJoin(&.{ search_prefix, "include" }),
|
|
1632
|
-
});
|
|
1633
|
-
} else |err| switch (err) {
|
|
1634
|
-
error.FileNotFound => {},
|
|
1635
|
-
else => |e| return step.fail("unable to access '{s}/include' directory: {s}", .{
|
|
1636
|
-
search_prefix, @errorName(e),
|
|
1637
|
-
}),
|
|
1638
|
-
}
|
|
1639
|
-
}
|
|
1640
|
-
|
|
1641
|
-
if (compile.rc_includes != .any) {
|
|
1642
|
-
try zig_args.append("-rcincludes");
|
|
1643
|
-
try zig_args.append(@tagName(compile.rc_includes));
|
|
1644
|
-
}
|
|
1645
|
-
|
|
1646
|
-
try addFlag(&zig_args, "each-lib-rpath", compile.each_lib_rpath);
|
|
1647
|
-
|
|
1648
|
-
if (compile.build_id orelse b.build_id) |build_id| {
|
|
1649
|
-
try zig_args.append(switch (build_id) {
|
|
1650
|
-
.hexstring => |hs| b.fmt("--build-id=0x{x}", .{hs.toSlice()}),
|
|
1651
|
-
.none, .fast, .uuid, .sha1, .md5 => b.fmt("--build-id={s}", .{@tagName(build_id)}),
|
|
1652
|
-
});
|
|
1653
|
-
}
|
|
1654
|
-
|
|
1655
|
-
const opt_zig_lib_dir = if (compile.zig_lib_dir) |dir|
|
|
1656
|
-
dir.getPath2(b, step)
|
|
1657
|
-
else if (b.graph.zig_lib_directory.path) |_|
|
|
1658
|
-
b.fmt("{f}", .{b.graph.zig_lib_directory})
|
|
1659
|
-
else
|
|
1660
|
-
null;
|
|
1661
|
-
|
|
1662
|
-
if (opt_zig_lib_dir) |zig_lib_dir| {
|
|
1663
|
-
try zig_args.append("--zig-lib-dir");
|
|
1664
|
-
try zig_args.append(zig_lib_dir);
|
|
1665
|
-
}
|
|
1666
|
-
|
|
1667
|
-
try addFlag(&zig_args, "PIE", compile.pie);
|
|
1668
|
-
|
|
1669
|
-
if (compile.lto) |lto| {
|
|
1670
|
-
try zig_args.append(switch (lto) {
|
|
1671
|
-
.full => "-flto=full",
|
|
1672
|
-
.thin => "-flto=thin",
|
|
1673
|
-
.none => "-fno-lto",
|
|
1674
|
-
});
|
|
1675
|
-
}
|
|
1676
|
-
|
|
1677
|
-
try addFlag(&zig_args, "sanitize-coverage-trace-pc-guard", compile.sanitize_coverage_trace_pc_guard);
|
|
1678
|
-
|
|
1679
|
-
if (compile.subsystem) |subsystem| {
|
|
1680
|
-
try zig_args.append("--subsystem");
|
|
1681
|
-
try zig_args.append(@tagName(subsystem));
|
|
1682
|
-
}
|
|
1683
|
-
|
|
1684
|
-
if (compile.mingw_unicode_entry_point) {
|
|
1685
|
-
try zig_args.append("-municode");
|
|
1686
|
-
}
|
|
1687
|
-
|
|
1688
|
-
if (compile.error_limit) |err_limit| try zig_args.appendSlice(&.{
|
|
1689
|
-
"--error-limit", b.fmt("{d}", .{err_limit}),
|
|
1690
|
-
});
|
|
1691
|
-
|
|
1692
|
-
try addFlag(&zig_args, "incremental", b.graph.incremental);
|
|
1693
|
-
|
|
1694
|
-
try zig_args.append("--listen=-");
|
|
1695
|
-
|
|
1696
|
-
// Windows has an argument length limit of 32,766 characters, macOS 262,144 and Linux
|
|
1697
|
-
// 2,097,152. If our args exceed 30 KiB, we instead write them to a "response file" and
|
|
1698
|
-
// pass that to zig, e.g. via 'zig build-lib @args.rsp'
|
|
1699
|
-
// See @file syntax here: https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html
|
|
1700
|
-
var args_length: usize = 0;
|
|
1701
|
-
for (zig_args.items) |arg| {
|
|
1702
|
-
args_length += arg.len + 1; // +1 to account for null terminator
|
|
1703
|
-
}
|
|
1704
|
-
if (args_length >= 30 * 1024) {
|
|
1705
|
-
try b.cache_root.handle.createDirPath(io, "args");
|
|
1706
|
-
|
|
1707
|
-
const args_to_escape = zig_args.items[2..];
|
|
1708
|
-
var escaped_args = try std.array_list.Managed([]const u8).initCapacity(arena, args_to_escape.len);
|
|
1709
|
-
arg_blk: for (args_to_escape) |arg| {
|
|
1710
|
-
for (arg, 0..) |c, arg_idx| {
|
|
1711
|
-
if (c == '\\' or c == '"') {
|
|
1712
|
-
// Slow path for arguments that need to be escaped. We'll need to allocate and copy
|
|
1713
|
-
var escaped: std.ArrayList(u8) = .empty;
|
|
1714
|
-
try escaped.ensureTotalCapacityPrecise(arena, arg.len + 1);
|
|
1715
|
-
try escaped.appendSlice(arena, arg[0..arg_idx]);
|
|
1716
|
-
for (arg[arg_idx..]) |to_escape| {
|
|
1717
|
-
if (to_escape == '\\' or to_escape == '"') try escaped.append(arena, '\\');
|
|
1718
|
-
try escaped.append(arena, to_escape);
|
|
1719
|
-
}
|
|
1720
|
-
escaped_args.appendAssumeCapacity(escaped.items);
|
|
1721
|
-
continue :arg_blk;
|
|
1722
|
-
}
|
|
1723
|
-
}
|
|
1724
|
-
escaped_args.appendAssumeCapacity(arg); // no escaping needed so just use original argument
|
|
1725
|
-
}
|
|
1726
|
-
|
|
1727
|
-
// Write the args to zig-cache/args/<SHA256 hash of args> to avoid conflicts with
|
|
1728
|
-
// other zig build commands running in parallel.
|
|
1729
|
-
const partially_quoted = try std.mem.join(arena, "\" \"", escaped_args.items);
|
|
1730
|
-
const args = try std.mem.concat(arena, u8, &[_][]const u8{ "\"", partially_quoted, "\"" });
|
|
1731
|
-
|
|
1732
|
-
var args_hash: [Sha256.digest_length]u8 = undefined;
|
|
1733
|
-
Sha256.hash(args, &args_hash, .{});
|
|
1734
|
-
var args_hex_hash: [Sha256.digest_length * 2]u8 = undefined;
|
|
1735
|
-
_ = try std.fmt.bufPrint(&args_hex_hash, "{x}", .{&args_hash});
|
|
1736
|
-
|
|
1737
|
-
const args_file = "args" ++ fs.path.sep_str ++ args_hex_hash;
|
|
1738
|
-
if (b.cache_root.handle.access(io, args_file, .{})) |_| {
|
|
1739
|
-
// The args file is already present from a previous run.
|
|
1740
|
-
} else |err| switch (err) {
|
|
1741
|
-
error.FileNotFound => {
|
|
1742
|
-
var af = b.cache_root.handle.createFileAtomic(io, args_file, .{
|
|
1743
|
-
.replace = false,
|
|
1744
|
-
.make_path = true,
|
|
1745
|
-
}) catch |e| return step.fail("failed creating tmp args file {f}{s}: {t}", .{
|
|
1746
|
-
b.cache_root, args_file, e,
|
|
1747
|
-
});
|
|
1748
|
-
defer af.deinit(io);
|
|
1749
|
-
|
|
1750
|
-
af.file.writeStreamingAll(io, args) catch |e| {
|
|
1751
|
-
return step.fail("failed writing args data to tmp file {f}{s}: {t}", .{
|
|
1752
|
-
b.cache_root, args_file, e,
|
|
1753
|
-
});
|
|
1754
|
-
};
|
|
1755
|
-
// Note we can't clean up this file, not even after build
|
|
1756
|
-
// success, because that might interfere with another build
|
|
1757
|
-
// process that needs the same file.
|
|
1758
|
-
af.link(io) catch |e| switch (e) {
|
|
1759
|
-
error.PathAlreadyExists => {
|
|
1760
|
-
// The args file was created by another concurrent build process.
|
|
1761
|
-
},
|
|
1762
|
-
else => |other_err| return step.fail("failed linking tmp file {f}{s}: {t}", .{
|
|
1763
|
-
b.cache_root, args_file, other_err,
|
|
1764
|
-
}),
|
|
1765
|
-
};
|
|
1766
|
-
},
|
|
1767
|
-
else => |other_err| return other_err,
|
|
1768
|
-
}
|
|
1769
|
-
|
|
1770
|
-
const resolved_args_file = try mem.concat(arena, u8, &.{
|
|
1771
|
-
"@",
|
|
1772
|
-
try b.cache_root.join(arena, &.{args_file}),
|
|
1773
|
-
});
|
|
1774
|
-
|
|
1775
|
-
zig_args.shrinkRetainingCapacity(2);
|
|
1776
|
-
try zig_args.append(resolved_args_file);
|
|
1777
|
-
}
|
|
1778
|
-
|
|
1779
|
-
return try zig_args.toOwnedSlice();
|
|
1780
|
-
}
|
|
1781
|
-
|
|
1782
|
-
fn make(step: *Step, options: Step.MakeOptions) !void {
|
|
1783
|
-
const b = step.owner;
|
|
1784
|
-
const compile: *Compile = @fieldParentPtr("step", step);
|
|
1785
|
-
|
|
1786
|
-
const zig_args = try getZigArgs(compile, false);
|
|
1787
|
-
|
|
1788
|
-
const maybe_output_dir = step.evalZigProcess(
|
|
1789
|
-
zig_args,
|
|
1790
|
-
options.progress_node,
|
|
1791
|
-
(b.graph.incremental == true) and (options.watch or options.web_server != null),
|
|
1792
|
-
options.web_server,
|
|
1793
|
-
options.gpa,
|
|
1794
|
-
) catch |err| switch (err) {
|
|
1795
|
-
error.NeedCompileErrorCheck => {
|
|
1796
|
-
assert(compile.expect_errors != null);
|
|
1797
|
-
try checkCompileErrors(compile);
|
|
1798
|
-
return;
|
|
1799
|
-
},
|
|
1800
|
-
else => |e| return e,
|
|
1801
|
-
};
|
|
1802
|
-
|
|
1803
|
-
// Update generated files
|
|
1804
|
-
if (maybe_output_dir) |output_dir| {
|
|
1805
|
-
if (compile.emit_directory) |lp| {
|
|
1806
|
-
lp.path = b.fmt("{f}", .{output_dir});
|
|
1807
|
-
}
|
|
1808
|
-
|
|
1809
|
-
// zig fmt: off
|
|
1810
|
-
if (compile.generated_bin) |lp| lp.path = compile.outputPath(output_dir, .bin);
|
|
1811
|
-
if (compile.generated_pdb) |lp| lp.path = compile.outputPath(output_dir, .pdb);
|
|
1812
|
-
// hack for stage2_x86_64 + coff
|
|
1813
|
-
if (compile.generated_compiler_rt_dyn_lib) |lp| lp.path = compile.outputPath(output_dir, .compiler_rt_dyn_lib);
|
|
1814
|
-
if (compile.generated_implib) |lp| lp.path = compile.outputPath(output_dir, .implib);
|
|
1815
|
-
if (compile.generated_h) |lp| lp.path = compile.outputPath(output_dir, .h);
|
|
1816
|
-
if (compile.generated_docs) |lp| lp.path = compile.outputPath(output_dir, .docs);
|
|
1817
|
-
if (compile.generated_asm) |lp| lp.path = compile.outputPath(output_dir, .@"asm");
|
|
1818
|
-
if (compile.generated_llvm_ir) |lp| lp.path = compile.outputPath(output_dir, .llvm_ir);
|
|
1819
|
-
if (compile.generated_llvm_bc) |lp| lp.path = compile.outputPath(output_dir, .llvm_bc);
|
|
1820
|
-
// zig fmt: on
|
|
1821
|
-
}
|
|
1822
|
-
|
|
1823
|
-
if (compile.kind == .lib and compile.linkage != null and compile.linkage.? == .dynamic and
|
|
1824
|
-
compile.version != null and compile.generated_bin != null and
|
|
1825
|
-
std.Build.wantSharedLibSymLinks(compile.rootModuleTarget()))
|
|
1826
|
-
{
|
|
1827
|
-
try doAtomicSymLinks(
|
|
1828
|
-
step,
|
|
1829
|
-
compile.getEmittedBin().getPath2(b, step),
|
|
1830
|
-
compile.major_only_filename.?,
|
|
1831
|
-
compile.name_only_filename.?,
|
|
1832
|
-
);
|
|
1833
|
-
}
|
|
1834
|
-
}
|
|
1835
|
-
fn outputPath(c: *Compile, out_dir: std.Build.Cache.Path, ea: std.zig.EmitArtifact) []const u8 {
|
|
1836
|
-
const arena = c.step.owner.graph.arena;
|
|
1837
|
-
const name = ea.cacheName(arena, .{
|
|
1838
|
-
.root_name = c.name,
|
|
1839
|
-
.target = &c.root_module.resolved_target.?.result,
|
|
1840
|
-
.output_mode = switch (c.kind) {
|
|
1841
|
-
.lib => .Lib,
|
|
1842
|
-
.obj, .test_obj => .Obj,
|
|
1843
|
-
.exe, .@"test" => .Exe,
|
|
1844
|
-
},
|
|
1845
|
-
.link_mode = c.linkage,
|
|
1846
|
-
.version = c.version,
|
|
1847
|
-
}) catch @panic("OOM");
|
|
1848
|
-
return out_dir.joinString(arena, name) catch @panic("OOM");
|
|
1849
|
-
}
|
|
1850
|
-
|
|
1851
|
-
pub fn rebuildInFuzzMode(c: *Compile, gpa: Allocator, progress_node: std.Progress.Node) !Path {
|
|
1852
|
-
c.step.result_error_msgs.clearRetainingCapacity();
|
|
1853
|
-
c.step.result_stderr = "";
|
|
1854
|
-
|
|
1855
|
-
c.step.result_error_bundle.deinit(gpa);
|
|
1856
|
-
c.step.result_error_bundle = std.zig.ErrorBundle.empty;
|
|
1857
|
-
|
|
1858
|
-
if (c.step.result_failed_command) |cmd| {
|
|
1859
|
-
gpa.free(cmd);
|
|
1860
|
-
c.step.result_failed_command = null;
|
|
1861
|
-
}
|
|
1862
|
-
|
|
1863
|
-
const zig_args = try getZigArgs(c, true);
|
|
1864
|
-
const maybe_output_bin_path = try c.step.evalZigProcess(zig_args, progress_node, false, null, gpa);
|
|
1865
|
-
return maybe_output_bin_path.?;
|
|
1866
|
-
}
|
|
1867
|
-
|
|
1868
|
-
pub fn doAtomicSymLinks(
|
|
1869
|
-
step: *Step,
|
|
1870
|
-
output_path: []const u8,
|
|
1871
|
-
filename_major_only: []const u8,
|
|
1872
|
-
filename_name_only: []const u8,
|
|
1873
|
-
) !void {
|
|
1874
|
-
const b = step.owner;
|
|
1875
|
-
const io = b.graph.io;
|
|
1876
|
-
const out_dir = fs.path.dirname(output_path) orelse ".";
|
|
1877
|
-
const out_basename = fs.path.basename(output_path);
|
|
1878
|
-
// sym link for libfoo.so.1 to libfoo.so.1.2.3
|
|
1879
|
-
const major_only_path = b.pathJoin(&.{ out_dir, filename_major_only });
|
|
1880
|
-
const cwd: Io.Dir = .cwd();
|
|
1881
|
-
cwd.symLinkAtomic(io, out_basename, major_only_path, .{}) catch |err| {
|
|
1882
|
-
return step.fail("unable to symlink {s} -> {s}: {s}", .{
|
|
1883
|
-
major_only_path, out_basename, @errorName(err),
|
|
1884
|
-
});
|
|
1885
|
-
};
|
|
1886
|
-
// sym link for libfoo.so to libfoo.so.1
|
|
1887
|
-
const name_only_path = b.pathJoin(&.{ out_dir, filename_name_only });
|
|
1888
|
-
cwd.symLinkAtomic(io, filename_major_only, name_only_path, .{}) catch |err| {
|
|
1889
|
-
return step.fail("Unable to symlink {s} -> {s}: {s}", .{
|
|
1890
|
-
name_only_path, filename_major_only, @errorName(err),
|
|
1891
|
-
});
|
|
1892
|
-
};
|
|
1893
|
-
}
|
|
1894
|
-
|
|
1895
|
-
fn execPkgConfigList(b: *std.Build, out_code: *u8) (PkgConfigError || RunError)![]const PkgConfigPkg {
|
|
1896
|
-
const pkg_config_exe = b.graph.environ_map.get("PKG_CONFIG") orelse "pkg-config";
|
|
1897
|
-
const stdout = try b.runAllowFail(&[_][]const u8{ pkg_config_exe, "--list-all" }, out_code, .ignore);
|
|
1898
|
-
var list = std.array_list.Managed(PkgConfigPkg).init(b.allocator);
|
|
1899
|
-
errdefer list.deinit();
|
|
1900
|
-
var line_it = mem.tokenizeAny(u8, stdout, "\r\n");
|
|
1901
|
-
while (line_it.next()) |line| {
|
|
1902
|
-
if (mem.trim(u8, line, " \t").len == 0) continue;
|
|
1903
|
-
var tok_it = mem.tokenizeAny(u8, line, " \t");
|
|
1904
|
-
try list.append(PkgConfigPkg{
|
|
1905
|
-
.name = tok_it.next() orelse return error.PkgConfigInvalidOutput,
|
|
1906
|
-
.desc = tok_it.rest(),
|
|
1907
|
-
});
|
|
1908
|
-
}
|
|
1909
|
-
return list.toOwnedSlice();
|
|
1910
|
-
}
|
|
1911
|
-
|
|
1912
|
-
fn getPkgConfigList(b: *std.Build) ![]const PkgConfigPkg {
|
|
1913
|
-
if (b.pkg_config_pkg_list) |res| {
|
|
1914
|
-
return res;
|
|
1915
|
-
}
|
|
1916
|
-
var code: u8 = undefined;
|
|
1917
|
-
if (execPkgConfigList(b, &code)) |list| {
|
|
1918
|
-
b.pkg_config_pkg_list = list;
|
|
1919
|
-
return list;
|
|
1920
|
-
} else |err| {
|
|
1921
|
-
const result = switch (err) {
|
|
1922
|
-
error.ProcessTerminated => error.PkgConfigCrashed,
|
|
1923
|
-
error.ExecNotSupported => error.PkgConfigFailed,
|
|
1924
|
-
error.ExitCodeFailure => error.PkgConfigFailed,
|
|
1925
|
-
error.FileNotFound => error.PkgConfigNotInstalled,
|
|
1926
|
-
error.InvalidName => error.PkgConfigNotInstalled,
|
|
1927
|
-
error.PkgConfigInvalidOutput => error.PkgConfigInvalidOutput,
|
|
1928
|
-
else => return err,
|
|
1929
|
-
};
|
|
1930
|
-
b.pkg_config_pkg_list = result;
|
|
1931
|
-
return result;
|
|
1932
|
-
}
|
|
1933
|
-
}
|
|
1934
|
-
|
|
1935
|
-
fn addFlag(args: *std.array_list.Managed([]const u8), comptime name: []const u8, opt: ?bool) !void {
|
|
1936
|
-
const cond = opt orelse return;
|
|
1937
|
-
try args.ensureUnusedCapacity(1);
|
|
1938
|
-
if (cond) {
|
|
1939
|
-
args.appendAssumeCapacity("-f" ++ name);
|
|
1940
|
-
} else {
|
|
1941
|
-
args.appendAssumeCapacity("-fno-" ++ name);
|
|
1942
|
-
}
|
|
1943
|
-
}
|
|
1944
|
-
|
|
1945
|
-
fn checkCompileErrors(compile: *Compile) !void {
|
|
1946
|
-
// Clear this field so that it does not get printed by the build runner.
|
|
1947
|
-
const actual_eb = compile.step.result_error_bundle;
|
|
1948
|
-
compile.step.result_error_bundle = .empty;
|
|
1949
|
-
|
|
1950
|
-
const arena = compile.step.owner.allocator;
|
|
1951
|
-
|
|
1952
|
-
const actual_errors = ae: {
|
|
1953
|
-
var aw: std.Io.Writer.Allocating = .init(arena);
|
|
1954
|
-
defer aw.deinit();
|
|
1955
|
-
try actual_eb.renderToWriter(.{
|
|
1956
|
-
.include_reference_trace = false,
|
|
1957
|
-
.include_source_line = false,
|
|
1958
|
-
}, &aw.writer);
|
|
1959
|
-
break :ae try aw.toOwnedSlice();
|
|
1960
|
-
};
|
|
1961
|
-
|
|
1962
|
-
// Render the expected lines into a string that we can compare verbatim.
|
|
1963
|
-
var expected_generated: std.ArrayList(u8) = .empty;
|
|
1964
|
-
const expect_errors = compile.expect_errors.?;
|
|
1965
|
-
|
|
1966
|
-
var actual_line_it = mem.splitScalar(u8, actual_errors, '\n');
|
|
1967
|
-
|
|
1968
|
-
// TODO merge this with the testing.expectEqualStrings logic, and also CheckFile
|
|
1969
|
-
switch (expect_errors) {
|
|
1970
|
-
.starts_with => |expect_starts_with| {
|
|
1971
|
-
if (std.mem.startsWith(u8, actual_errors, expect_starts_with)) return;
|
|
1972
|
-
return compile.step.fail(
|
|
1973
|
-
\\
|
|
1974
|
-
\\========= should start with: ============
|
|
1975
|
-
\\{s}
|
|
1976
|
-
\\========= but not found: ================
|
|
1977
|
-
\\{s}
|
|
1978
|
-
\\=========================================
|
|
1979
|
-
, .{ expect_starts_with, actual_errors });
|
|
1980
|
-
},
|
|
1981
|
-
.contains => |expect_line| {
|
|
1982
|
-
while (actual_line_it.next()) |actual_line| {
|
|
1983
|
-
if (!matchCompileError(actual_line, expect_line)) continue;
|
|
1984
|
-
return;
|
|
1985
|
-
}
|
|
1986
|
-
|
|
1987
|
-
return compile.step.fail(
|
|
1988
|
-
\\
|
|
1989
|
-
\\========= should contain: ===============
|
|
1990
|
-
\\{s}
|
|
1991
|
-
\\========= but not found: ================
|
|
1992
|
-
\\{s}
|
|
1993
|
-
\\=========================================
|
|
1994
|
-
, .{ expect_line, actual_errors });
|
|
1995
|
-
},
|
|
1996
|
-
.stderr_contains => |expect_line| {
|
|
1997
|
-
const actual_stderr: []const u8 = if (compile.step.result_error_msgs.items.len > 0)
|
|
1998
|
-
compile.step.result_error_msgs.items[0]
|
|
1999
|
-
else
|
|
2000
|
-
&.{};
|
|
2001
|
-
compile.step.result_error_msgs.clearRetainingCapacity();
|
|
2002
|
-
|
|
2003
|
-
var stderr_line_it = mem.splitScalar(u8, actual_stderr, '\n');
|
|
2004
|
-
|
|
2005
|
-
while (stderr_line_it.next()) |actual_line| {
|
|
2006
|
-
if (!matchCompileError(actual_line, expect_line)) continue;
|
|
2007
|
-
return;
|
|
2008
|
-
}
|
|
2009
|
-
|
|
2010
|
-
return compile.step.fail(
|
|
2011
|
-
\\
|
|
2012
|
-
\\========= should contain: ===============
|
|
2013
|
-
\\{s}
|
|
2014
|
-
\\========= but not found: ================
|
|
2015
|
-
\\{s}
|
|
2016
|
-
\\=========================================
|
|
2017
|
-
, .{ expect_line, actual_stderr });
|
|
2018
|
-
},
|
|
2019
|
-
.exact => |expect_lines| {
|
|
2020
|
-
for (expect_lines) |expect_line| {
|
|
2021
|
-
const actual_line = actual_line_it.next() orelse {
|
|
2022
|
-
try expected_generated.appendSlice(arena, expect_line);
|
|
2023
|
-
try expected_generated.append(arena, '\n');
|
|
2024
|
-
continue;
|
|
2025
|
-
};
|
|
2026
|
-
if (matchCompileError(actual_line, expect_line)) {
|
|
2027
|
-
try expected_generated.appendSlice(arena, actual_line);
|
|
2028
|
-
try expected_generated.append(arena, '\n');
|
|
2029
|
-
continue;
|
|
2030
|
-
}
|
|
2031
|
-
try expected_generated.appendSlice(arena, expect_line);
|
|
2032
|
-
try expected_generated.append(arena, '\n');
|
|
2033
|
-
}
|
|
2034
|
-
|
|
2035
|
-
if (mem.eql(u8, expected_generated.items, actual_errors)) return;
|
|
2036
|
-
|
|
2037
|
-
return compile.step.fail(
|
|
2038
|
-
\\
|
|
2039
|
-
\\========= expected: =====================
|
|
2040
|
-
\\{s}
|
|
2041
|
-
\\========= but found: ====================
|
|
2042
|
-
\\{s}
|
|
2043
|
-
\\=========================================
|
|
2044
|
-
, .{ expected_generated.items, actual_errors });
|
|
2045
|
-
},
|
|
2046
|
-
}
|
|
2047
|
-
}
|
|
2048
|
-
|
|
2049
|
-
fn matchCompileError(actual: []const u8, expected: []const u8) bool {
|
|
2050
|
-
if (mem.endsWith(u8, actual, expected)) return true;
|
|
2051
|
-
if (mem.startsWith(u8, expected, ":?:?: ")) {
|
|
2052
|
-
if (mem.endsWith(u8, actual, expected[":?:?: ".len..])) return true;
|
|
2053
|
-
}
|
|
2054
|
-
// We scan for /?/ in expected line and if there is a match, we match everything
|
|
2055
|
-
// up to and after /?/.
|
|
2056
|
-
const expected_trim = mem.trim(u8, expected, " ");
|
|
2057
|
-
if (mem.find(u8, expected_trim, "/?/")) |index| {
|
|
2058
|
-
const actual_trim = mem.trim(u8, actual, " ");
|
|
2059
|
-
const lhs = expected_trim[0..index];
|
|
2060
|
-
const rhs = expected_trim[index + "/?/".len ..];
|
|
2061
|
-
if (mem.startsWith(u8, actual_trim, lhs) and mem.endsWith(u8, actual_trim, rhs)) return true;
|
|
2062
|
-
}
|
|
2063
|
-
return false;
|
|
2064
|
-
}
|
|
2065
|
-
|
|
2066
750
|
pub fn rootModuleTarget(c: *Compile) std.Target {
|
|
2067
751
|
// The root module is always given a target, so we know this to be non-null.
|
|
2068
752
|
return c.root_module.resolved_target.?.result;
|
|
2069
753
|
}
|
|
2070
754
|
|
|
2071
|
-
fn moduleNeedsCliArg(mod: *const Module) bool {
|
|
2072
|
-
return for (mod.link_objects.items) |o| switch (o) {
|
|
2073
|
-
.c_source_file, .c_source_files, .assembly_file, .win32_resource_file => break true,
|
|
2074
|
-
else => continue,
|
|
2075
|
-
} else false;
|
|
2076
|
-
}
|
|
2077
|
-
|
|
2078
755
|
/// Return the full set of `Step.Compile` which `start` depends on, recursively. `start` itself is
|
|
2079
756
|
/// always returned as the first element. If `chase_dynamic` is `false`, then dynamic libraries are
|
|
2080
757
|
/// not included, and their dependencies are not considered; if `chase_dynamic` is `true`, dynamic
|