@@ -18,47 +18,30 @@ jobs:
1818 include :
1919 # ---- GNU targets ----
2020 - target : x86_64-unknown-linux-gnu
21- zig_target : x86_64-linux-gnu
2221 - target : i686-unknown-linux-gnu
23- zig_target : x86-linux-gnu
2422 - target : aarch64-unknown-linux-gnu
25- zig_target : aarch64-linux-gnu
2623 - target : arm-unknown-linux-gnueabihf
27- zig_target : arm-linux-gnueabihf
2824 - target : armv7-unknown-linux-gnueabihf
29- zig_target : arm-linux-gnueabihf
3025 - target : riscv64gc-unknown-linux-gnu
31- zig_target : riscv64-linux-gnu
3226 - target : powerpc64le-unknown-linux-gnu
33- zig_target : powerpc64le-linux-gnu
3427 - target : s390x-unknown-linux-gnu
35- zig_target : s390x-linux-gnu
3628 - target : loongarch64-unknown-linux-gnu
37- zig_target : loongarch64-linux-gnu
3829 # ---- musl targets (static binaries) ----
3930 - target : x86_64-unknown-linux-musl
40- zig_target : x86_64-linux-musl
4131 musl : true
4232 - target : i686-unknown-linux-musl
43- zig_target : x86-linux-musl
4433 musl : true
4534 - target : aarch64-unknown-linux-musl
46- zig_target : aarch64-linux-musl
4735 musl : true
4836 - target : arm-unknown-linux-musleabihf
49- zig_target : arm-linux-musleabihf
5037 musl : true
5138 - target : armv7-unknown-linux-musleabihf
52- zig_target : arm-linux-musleabihf
5339 musl : true
5440 - target : riscv64gc-unknown-linux-musl
55- zig_target : riscv64-linux-musl
5641 musl : true
5742 - target : powerpc64le-unknown-linux-musl
58- zig_target : powerpc64le-linux-musl
5943 musl : true
6044 - target : loongarch64-unknown-linux-musl
61- zig_target : loongarch64-linux-musl
6245 musl : true
6346
6447 steps :
7255 - name : Install Zig
7356 uses : mlugg/setup-zig@v2
7457
75- - name : Configure Zig linker
76- run : |
77- # Create zig cc wrapper that filters unsupported linker flags
78- cat > /usr/local/bin/zig-cc << 'WRAPPER'
79- #!/usr/bin/env python3
80- import sys, os
81- args = [a for a in sys.argv[1:] if not a.startswith("-Wl,-melf_")]
82- os.execvp("zig", ["zig", "cc", "-target", os.environ["ZIG_TARGET"]] + args)
83- WRAPPER
84- chmod +x /usr/local/bin/zig-cc
85-
86- # Set linker for this matrix target
87- TARGET_UPPER="$(echo '${{ matrix.target }}' | tr 'a-z-' 'A-Z_')"
88- echo "CARGO_TARGET_${TARGET_UPPER}_LINKER=zig-cc" >> "$GITHUB_ENV"
89- echo "ZIG_TARGET=${{ matrix.zig_target }}" >> "$GITHUB_ENV"
58+ - name : Install cargo-zigbuild
59+ run : pip install cargo-zigbuild
9060
9161 - name : Build
9262 run : |
9666 fi
9767 export RUSTFLAGS
9868
99- cargo +nightly build \
69+ cargo +nightly zigbuild \
10070 -Z build-std=std,panic_abort \
10171 --target ${{ matrix.target }} \
10272 --release
0 commit comments