Andrew Kelley
105db13536
std.Build: implement --host-target, --host-cpu, --host-dynamic-linker
...
This also makes a long-overdue change of extracting common state from
Build into a shared Graph object.
Getting the semantics right for these flags turned out to be quite
tricky. In the end it works like this:
* The override only happens when the target is fully native, with no
additional query parameters, such as versions or CPU features added.
* The override affects the resolved Target but leaves the original Query
unmodified.
* The "is native?" detection logic operates on the original, unmodified
query. This makes it possible to provide invalid host target
information, causing confusing errors to occur. Don't do that.
There are some minor breaking changes to std.Build API such as the fact
that `b.zig_exe` is now moved to `b.graph.zig_exe`, as well as a handful
of other similar flags.
2024-02-02 20:43:01 -07:00
Andrew Kelley
bd1d2b0ae2
std.Target.Query: avoid using builtin.target.abi
...
This value is very likely incorrect. When glibc_version is provided but
no explicit ABI is provided, use the string "gnu" instead.
2024-02-02 20:43:01 -07:00
Andrew Kelley
b3596d72b0
CLI: add --host-target, --host-cpu, and --host-dynamic-linker
...
These are advanced options that make it possible to simultaneously
target the "host" computer, while overriding assumptions about the host
computer such as what CPU features are available, or what OS version
range to target.
This is useful only for the case of integrating with system package
manager builds which want to pretend the host is also the target.
2024-02-02 20:43:01 -07:00
Andrew Kelley
8f867eaf84
build system: introduce system library integration
...
* New --help section
* Add b.systemLibraryOption
* Rework the build runner CLI logic a bit
2024-02-02 20:43:01 -07:00
Ryan Liptak
f2e249e920
fs tests: Make path type show up in stack traces of testWithAllSupportedPathTypes
...
This allows for easier debugging without the need to print out the path type to stderr.
Context: 5a3ae38f3b79a69cb6f4ad28934a51165cae2ef1
2024-02-02 18:03:17 -08:00
Jacob Young
5e791e8e07
tls: support ed25519 signatures
...
Which were claimed to be supported during the handshake but were not
actually implemented.
2024-02-02 17:27:26 -08:00
Jakub Konka
92deebcd66
cli+build: handle -ObjC flag and route it to MachO linker
2024-02-02 22:00:16 +01:00
mlugg
9eda6ccefc
InternPool: use separate key for slices
...
This change eliminates some problematic recursive logic in InternPool,
and provides a safer API.
2024-02-02 11:02:03 +00:00
Andrew Kelley
5a3ae38f3b
std: remove garbage being printed to stderr during unit tests
2024-02-01 18:05:14 -07:00
mlugg
8944935499
std: eliminate some uses of usingnamespace
...
This eliminates some simple usages of `usingnamespace` in the standard
library. This construct may in future be removed from the language, and
is generally an inappropriate way to formulate code. It is also
problematic for incremental compilation, which may not initially support
projects using it.
I wasn't entirely sure what the appropriate namespacing for the types in
`std.os.uefi.tables` would be, so I ofted to preserve the current
namespacing, meaning this is not a breaking change. It's possible some
of the moved types should instead be namespaced under `BootServices`
etc, but this can be a future enhancement.
2024-02-01 20:30:42 +00:00
Andrew Kelley
776cd673f2
Merge pull request #18746 from jacobly0/http-auth
...
http: support basic access authentication
2024-01-31 21:03:40 -08:00
Jakub Konka
788a0409af
Merge pull request #18761 from ziglang/macho-fixes
...
macho: misc fixes and improvements
2024-01-31 15:21:59 +01:00
Jacob Young
c1e7d0c08f
http: optimize allocations for proxy basic authorization
2024-01-31 15:00:27 +01:00
Jacob Young
a111f805cd
http: avoid allocator use when encoding basic authorization
2024-01-31 15:00:27 +01:00
Jacob Young
82b37ea024
http: support basic access authentication
2024-01-31 12:05:12 +01:00
Jakub Konka
d4966517f6
x86_64+macho: emit .got instead of .got_load relocs
2024-01-31 09:33:49 +01:00
Jakub Konka
1ee628a3e0
macho: improve error msg when relaxing GOT fails
2024-01-31 09:33:39 +01:00
danielsan901998
d7a27bf803
Use mem.zeroes for empty union initializer list
2024-01-31 06:38:44 +02:00
Gustavo C. Viegas
fc48bbdf90
std.Build.Step.TranslateC: fix use of outdated Module in createModule
2024-01-31 02:46:05 +02:00
Jakub Konka
f63f4508d2
macho: fix parsing versions from TBDs if parsed as floats
2024-01-30 20:56:20 +01:00
Jakub Konka
b8490c05c1
macho: improve weak-ref symbols handling
2024-01-30 13:56:08 +01:00
Pavel Verigo
a2ad8517ee
Sema: fix union init with zero size field
2024-01-30 12:20:23 +02:00
Jiacai Liu
1b5cbf0d08
fix(autodoc): avoid panic when module not found ( #18699 )
2024-01-29 21:43:11 -05:00
Constantin Pestka
e460ba66a5
std: add docs about return value of submit() ( #18721 )
...
being misleading if used alongside with IORING_SETUP_SQPOLL
2024-01-29 21:26:52 -05:00
Krzysztof Wolicki
d8981dc493
std.os: fix chdirZ to compile on Windows ( #18695 )
2024-01-29 21:19:07 -05:00
Veikka Tuominen
7d75c3d3b8
llvm: ensure returned undef is 0xaa bytes when runtime safety is enabled
...
Closes #13178
2024-01-29 17:35:07 -08:00
Jacob Young
4dfca01de4
gzip: implement compression
2024-01-29 14:30:23 -08:00
Ian Johnson
27d2d8e81f
Apply cflags from pkg-config to all dependent modules
...
Closes #18628
This commit splits the arguments obtained from pkg-config into two
groups, cflags and libs, and consistently applies the cflags to each
individual module linking the library while applying the libs only once
for each compilation.
2024-01-29 14:08:41 -08:00
SuperAuguste
a479fd3132
Fix some comptime packed struct issues
...
Co-authored-by: Veikka Tuominen <git@vexu.eu>
2024-01-29 13:09:17 -08:00
Andrew Kelley
f4f8036ec0
Merge pull request #18729 from Vexu/fixes
...
Fix some generic{Reader,Writer} related issues
2024-01-29 13:07:37 -08:00
Jakub Konka
3e939e6153
Merge pull request #18722 from ziglang/macho-debug-info
...
macho: reinstate DWARF in self-hosted x86_64-macho
2024-01-29 20:33:54 +01:00
Veikka Tuominen
f93a36c091
llvm: revert bad array access optimization
...
Closes #18723
2024-01-29 08:43:27 -08:00
Christian Flicker
9c7fa358c1
std.Thread: fix off-by-one in PosixThreadImpl ( #18711 )
...
by removing ZST special case
2024-01-29 11:07:21 -05:00
Jakub Konka
7b4561170a
ci: re-enable reproducibility for x86_64-macos
2024-01-29 13:16:58 +01:00
Jakub Konka
78740e5540
macho: flush Dwarf module before flushing dSYM
2024-01-29 13:01:32 +01:00
Veikka Tuominen
78e982f7c3
llvm: fix alignment of array ptr when bitcasting vector
...
Closes #17996
2024-01-29 13:51:57 +02:00
Veikka Tuominen
281b2695c4
Value: expand canMutateComptimeVarState
...
Closes #17761
2024-01-29 13:48:45 +02:00
Veikka Tuominen
f782202910
Sema: do not emit @errorCast safety check when dest is adhoc inferred error set
...
Closes #17354
2024-01-29 13:48:45 +02:00
Jakub Konka
ec757ea666
macho: reset Zig-tracked section handles
2024-01-29 07:26:59 +01:00
Jakub Konka
5dbac19d8c
macho: re-instate writing DWARF into dSYM
2024-01-29 07:26:59 +01:00
Jakub Konka
f2214e4371
macho: re-enable dSYM but don't write anything to it yet
2024-01-29 07:26:59 +01:00
Jakub Konka
d53cb284de
macho: re-enable emitting empty dSYM bundle
2024-01-29 07:26:59 +01:00
Jakub Konka
3ae4c3cc36
macho: dedup -o flag from --verbose-link output
2024-01-29 07:26:59 +01:00
Jakub Konka
abb8e7478d
Merge pull request #18714 from ziglang/macho-mem
...
macho: reduce heap allocations
2024-01-29 02:50:40 +01:00
Pavel Verigo
96a5f7c8ed
Sema: fix casting runtime value to enum with comptime int tag type
2024-01-29 01:43:19 +02:00
Jakub Konka
5b315f8a3a
macho: fix 32bit builds
2024-01-28 19:14:55 +01:00
Jakub Konka
17215bd2c8
macho: insert global symbol name into the correct strtab
2024-01-28 10:02:28 +01:00
Jakub Konka
2d757c65d8
build: reduce max rss back down to 7GB
2024-01-28 01:05:36 +01:00
Jakub Konka
8cdaaa7b4f
macho: move getAtomData switch into Atom
2024-01-28 00:49:59 +01:00
Jakub Konka
6337ce16ae
macho: do not allocate input files in full
2024-01-28 00:40:50 +01:00