mirror of
https://github.com/chatmail/core.git
synced 2026-04-05 23:22:11 +03:00
cargo-zigbuild is replaced with a simple zig-cc wrapper.
cargo-zigbuild still tries to use i386-linux-musl triple,
while in zig 0.11 x86-linux-musl should be used [1].
This also gives us more control over compilation flags used
and prevents changes due to cargo-zigbuild upgrades,
as its version was not pinned.
[1] Merged PR "all: rename i386 to x86 "
<https://github.com/ziglang/zig/pull/13101>
33 lines
718 B
Python
Executable File
33 lines
718 B
Python
Executable File
#!/usr/bin/env python
|
|
import subprocess
|
|
import sys
|
|
import os
|
|
|
|
|
|
def flag_filter(flag: str) -> bool:
|
|
if flag == "-lc":
|
|
return False
|
|
if flag == "-Wl,-melf_i386":
|
|
return False
|
|
if "self-contained" in flag and "crt" in flag:
|
|
return False
|
|
return True
|
|
|
|
|
|
def main():
|
|
args = [flag for flag in sys.argv[1:] if flag_filter(flag)]
|
|
zig_target = os.environ["ZIG_TARGET"]
|
|
zig_cpu = os.environ.get("ZIG_CPU")
|
|
if zig_cpu:
|
|
zig_cpu_args = ["-mcpu=" + zig_cpu]
|
|
args = [x for x in args if not x.startswith("-march")]
|
|
else:
|
|
zig_cpu_args = []
|
|
|
|
subprocess.run(
|
|
["zig", "cc", "-target", zig_target, *zig_cpu_args, *args], check=True
|
|
)
|
|
|
|
|
|
main()
|