Skip to content

Commit ab38973

Browse files
committed
ci(workflows): 更新交叉编译配置并移除不支持的目标
- 移除了不再需要的交叉编译帮助文档 - 在 CI 工作流中添加了 gcc-multilib 依赖项 - 安装了多种架构的交叉编译工具链 - 配置了 Cargo 的目标链接器以支持跨平台构建- 移除了对不支持 std 的 riscv32i-unknown-none-elf 目标的构建步骤 - 将交叉编译配置写入 .cargo/config.toml 文件以便复用
1 parent ecb6c2e commit ab38973

3 files changed

Lines changed: 26 additions & 46 deletions

File tree

.cargo/config.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[target.i686-unknown-linux-gnu]
2+
linker = "i686-linux-gnu-gcc"
3+
4+
[target.aarch64-unknown-linux-gnu]
5+
linker = "aarch64-linux-gnu-gcc"
6+
7+
[target.armv7-unknown-linux-gnueabihf]
8+
linker = "arm-linux-gnueabihf-gcc"
9+
10+
[target.riscv64gc-unknown-linux-gnu]
11+
linker = "riscv64-linux-gnu-gcc"

.github/workflows/cross_compile_help.md

Lines changed: 0 additions & 43 deletions
This file was deleted.

.github/workflows/rust.yml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ jobs:
124124
- armv7-unknown-linux-gnueabihf
125125
# RISC-V architectures - supported ones
126126
- riscv64gc-unknown-linux-gnu
127-
- riscv32i-unknown-none-elf
128127
steps:
129128
- uses: actions/checkout@v4
130129
- name: Install Rust
@@ -134,11 +133,25 @@ jobs:
134133
- name: Install dependencies (Linux)
135134
run: |
136135
sudo apt-get update
137-
sudo apt-get install -y libsqlite3-dev
136+
sudo apt-get install -y libsqlite3-dev gcc-multilib
138137
- name: Install cross-compilation tools
139138
run: |
140139
sudo apt-get install -y gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu gcc-i686-linux-gnu \
141140
gcc-riscv64-linux-gnu
141+
- name: Configure cargo for cross-compilation
142+
run: |
143+
mkdir -p .cargo
144+
echo '[target.i686-unknown-linux-gnu]' > .cargo/config.toml
145+
echo 'linker = "i686-linux-gnu-gcc"' >> .cargo/config.toml
146+
echo '' >> .cargo/config.toml
147+
echo '[target.aarch64-unknown-linux-gnu]' >> .cargo/config.toml
148+
echo 'linker = "aarch64-linux-gnu-gcc"' >> .cargo/config.toml
149+
echo '' >> .cargo/config.toml
150+
echo '[target.armv7-unknown-linux-gnueabihf]' >> .cargo/config.toml
151+
echo 'linker = "arm-linux-gnueabihf-gcc"' >> .cargo/config.toml
152+
echo '' >> .cargo/config.toml
153+
echo '[target.riscv64gc-unknown-linux-gnu]' >> .cargo/config.toml
154+
echo 'linker = "riscv64-linux-gnu-gcc"' >> .cargo/config.toml
142155
- name: Build release binary
143156
run: |
144157
cargo build --target ${{ matrix.target }} --release --bin file_classification_cli --verbose
@@ -245,7 +258,6 @@ jobs:
245258
artifacts/file_classification_cli-aarch64-unknown-linux-gnu/file_classification_cli
246259
artifacts/file_classification_cli-armv7-unknown-linux-gnueabihf/file_classification_cli
247260
artifacts/file_classification_cli-riscv64gc-unknown-linux-gnu/file_classification_cli
248-
artifacts/file_classification_cli-riscv32i-unknown-none-elf/file_classification_cli
249261
artifacts/file_classification_cli-x86_64-pc-windows-msvc/file_classification_cli.exe
250262
artifacts/file_classification_cli-i686-pc-windows-msvc/file_classification_cli.exe
251263
artifacts/file_classification_cli-aarch64-pc-windows-msvc/file_classification_cli.exe

0 commit comments

Comments
 (0)