Skip to content

Commit 70536c5

Browse files
committed
Fix build of Rust on Windows
1 parent 404fd0a commit 70536c5

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

.github/workflows/main.yml

+5-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
else
5252
curl -f -OL --retry 5 https://github.com/bytecodealliance/wasm-tools/releases/download/wasm-tools-1.0.54/wasm-tools-1.0.54-x86_64-macos.tar.gz
5353
tar xf wasm-tools-1.0.54-x86_64-macos.tar.gz
54-
cp wasm-tools-1.0.54-x86_64-macos/wasm-tools ~/.wasmtime/bin/
54+
cp wasm-tools-1.0.54-x86_64-macos/wasm-tools ~/.wasmtime/bin/
5555
fi
5656
- uses: actions/checkout@v3
5757
with:
@@ -90,9 +90,11 @@ jobs:
9090
- arch: x64
9191
sys: clang64
9292
env: clang-x86_64
93+
rust_target: x86_64-pc-windows-msvc
9394
- arch: x86
9495
sys: clang32
9596
env: clang-i686
97+
rust_target: i686-pc-windows-msvc
9698
steps:
9799
- uses: actions/cache@v3
98100
with:
@@ -112,14 +114,15 @@ jobs:
112114
msystem: ${{ matrix.sys }}
113115
update: true
114116
release: false
117+
path-type: inherit
115118
- uses: actions/checkout@v3
116119
with:
117120
fetch-depth: 0
118121
- run: git submodule update --init --depth 32 --jobs 3
119122
- name: Build
120123
shell: msys2 {0}
121124
run: |
122-
make package LLVM_CMAKE_FLAGS=-DLLVM_CCACHE_BUILD=ON
125+
make package LLVM_CMAKE_FLAGS=-DLLVM_CCACHE_BUILD=ON RUST_TARGET=${{ matrix.rust_target }}
123126
make check
124127
- name: Does it work sans msys2?
125128
run: |

Makefile

+7-3
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ override LLVM_CMAKE_FLAGS += -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
4444
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12
4545
endif
4646

47+
RUST_TARGET ?= $(lastword $(shell rustc -vV | grep host))
48+
4749
# Only the major version is needed for Clang, see https://reviews.llvm.org/D125860.
4850
CLANG_VERSION=$(shell $(BASH) ./llvm_version_major.sh $(LLVM_PROJ_DIR))
4951
VERSION:=$(shell $(BASH) ./version.sh)
@@ -254,14 +256,16 @@ build/config.BUILT:
254256
touch build/config.BUILT
255257

256258
define COPY_SHIMS_FOR
257-
cp ./src/clang-shims/target/release/clang-shims$(EXE_SUFFIX) \
259+
cp $(BUILD_PREFIX)/clang-shims/$(RUST_TARGET)/release/clang-shims$(EXE_SUFFIX) \
258260
$(BUILD_PREFIX)/bin/$(1)-clang
259-
cp ./src/clang-shims/target/release/clang-shims$(EXE_SUFFIX) \
261+
cp $(BUILD_PREFIX)/clang-shims/$(RUST_TARGET)/release/clang-shims$(EXE_SUFFIX) \
260262
$(BUILD_PREFIX)/bin/$(1)-clang++
261263
endef
262264

263265
build/clang-shims.BUILT: build/llvm.BUILT
264-
cargo build --release --manifest-path ./src/clang-shims/Cargo.toml
266+
CARGO_TARGET_DIR=$(BUILD_PREFIX)/clang-shims \
267+
cargo build --release --manifest-path ./src/clang-shims/Cargo.toml \
268+
--target $(RUST_TARGET)
265269
$(call COPY_SHIMS_FOR,wasm32-wasi)
266270
$(call COPY_SHIMS_FOR,wasm32-wasi-preview2)
267271
$(call COPY_SHIMS_FOR,wasm32-wasi-threads)

0 commit comments

Comments
 (0)