Skip to content

Commit 2833d9b

Browse files
authored
Build/Test for x86_64-pc-windows-gnullvm (#702)
1 parent 59470c5 commit 2833d9b

File tree

2 files changed

+53
-30
lines changed

2 files changed

+53
-30
lines changed

.github/workflows/cross.yml

+49-30
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ jobs:
3737
- [ armv7-linux-androideabi, 0, 0 ]
3838
- [ armv7-unknown-linux-gnueabihf, 0, 0 ]
3939
- [ i686-unknown-linux-gnu, 0, 1 ]
40+
- [ i686-pc-windows-gnu, 0, 0 ]
4041
- [ powerpc-unknown-linux-gnu, 1, 0 ]
4142
- [ powerpc64-unknown-linux-gnu, 1, 0 ]
4243
- [ powerpc64le-unknown-linux-gnu, 1, 0 ]
@@ -192,36 +193,6 @@ jobs:
192193
- name: cargo xwin build for `aarch64-pc-windows-msvc`
193194
run: cargo xwin build -p aws-lc-rs --release --all-targets --target aarch64-pc-windows-msvc
194195

195-
aws-lc-rs-windows-gnu:
196-
if: github.repository_owner == 'aws'
197-
name: ${{ matrix.target }}
198-
runs-on: windows-latest
199-
strategy:
200-
fail-fast: false
201-
matrix:
202-
target:
203-
- "x86_64-pc-windows-gnu"
204-
- "i686-pc-windows-gnu"
205-
steps:
206-
- uses: ilammy/setup-nasm@v1
207-
- uses: actions/checkout@v4
208-
with:
209-
submodules: "recursive"
210-
- uses: dtolnay/rust-toolchain@master
211-
id: toolchain
212-
with:
213-
toolchain: stable
214-
target: ${{ matrix.target }}
215-
- if: ${{ matrix.target == 'i686-pc-windows-gnu' }}
216-
name: Install mingw
217-
uses: bwoodsend/setup-winlibs-action@v1
218-
with:
219-
architecture: i686
220-
- name: Debug Test on `${{ matrix.target }}`
221-
run: cargo test -p aws-lc-rs --target ${{ matrix.target }} --features bindgen
222-
- name: Release test on `${{ matrix.target }}`
223-
run: cargo test -p aws-lc-rs --release --target ${{ matrix.target }} --features bindgen
224-
225196
aws-lc-rs-windows-msvc:
226197
if: ${{ github.repository_owner == 'aws' }}
227198
name: ${{ matrix.target }} - ${{ (matrix.crt_static == '1' && 'crt-static and /WX') || '/WX' }}
@@ -309,6 +280,7 @@ jobs:
309280
- name: Run cargo test
310281
run: cargo build -p aws-lc-rs --features prebuilt-nasm --target x86_64-pc-windows-gnu
311282
open-harmony:
283+
if: github.repository_owner == 'aws'
312284
runs-on: ubuntu-latest
313285
env:
314286
DOCKER_BUILDKIT: 1
@@ -325,6 +297,7 @@ jobs:
325297
docker run -v "${{ github.workspace }}:/aws_lc_rs" ohos:5.0.0
326298
327299
alpine-linux:
300+
if: github.repository_owner == 'aws'
328301
runs-on: ubuntu-latest
329302
env:
330303
DOCKER_BUILDKIT: 1
@@ -339,3 +312,49 @@ jobs:
339312
- name: Build
340313
run: |
341314
docker run -v "${{ github.workspace }}:/aws_lc_rs" alpine:3.20
315+
316+
msys2:
317+
if: github.repository_owner == 'aws'
318+
runs-on: windows-latest
319+
env:
320+
AWS_LC_SYS_EXTERNAL_BINDGEN: 1
321+
strategy:
322+
fail-fast: false
323+
matrix:
324+
include:
325+
- { sys: mingw64, env: x86_64, target: x86_64-pc-windows-gnu, cc: gcc, cxx: g++ }
326+
- { sys: ucrt64, env: ucrt-x86_64, target: x86_64-pc-windows-gnu, cc: gcc, cxx: g++ }
327+
- { sys: clang64, env: clang-x86_64, target: x86_64-pc-windows-gnullvm, cc: clang, cxx: clang++ }
328+
steps:
329+
- name: Install MSYS2
330+
uses: msys2/setup-msys2@v2
331+
id: setup_msys2
332+
with:
333+
msystem: ${{ matrix.sys }}
334+
update: true
335+
pacboy: >-
336+
rust-bindgen
337+
cc
338+
nasm
339+
go
340+
- name: Update Environment
341+
shell: bash
342+
run: |
343+
echo "GOPATH=${{ steps.setup_msys2.outputs.msys2-location }}\${{ matrix.sys }}" >> $GITHUB_ENV
344+
echo "GOROOT=${{ steps.setup_msys2.outputs.msys2-location }}\${{ matrix.sys }}\lib\go" >> $GITHUB_ENV
345+
echo "CC=${{ steps.setup_msys2.outputs.msys2-location }}\${{ matrix.sys }}\bin\${{ matrix.cc }}.exe" >> $GITHUB_ENV
346+
echo "CXX=${{ steps.setup_msys2.outputs.msys2-location }}\${{ matrix.sys }}\bin\${{ matrix.cxx }}.exe" >> $GITHUB_ENV
347+
echo "${{ steps.setup_msys2.outputs.msys2-location }}\${{ matrix.sys }}\bin" >> $GITHUB_PATH
348+
- name: Checkout
349+
uses: actions/checkout@v4
350+
with:
351+
submodules: "recursive"
352+
- uses: dtolnay/rust-toolchain@master
353+
id: toolchain
354+
with:
355+
toolchain: stable
356+
target: ${{matrix.target}}
357+
- name: Build
358+
run: cargo build -p aws-lc-rs --target ${{matrix.target}} --features bindgen
359+
- name: Test
360+
run: cargo test -p aws-lc-rs --target ${{matrix.target}} --features bindgen

aws-lc-sys/builder/cmake_builder.rs

+4
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,10 @@ impl CmakeBuilder {
273273
cmake_cfg.define("CMAKE_SYSTEM_NAME", "Windows");
274274
cmake_cfg.define("CMAKE_SYSTEM_PROCESSOR", "x86");
275275
}
276+
("gnullvm", arch) => {
277+
cmake_cfg.define("CMAKE_SYSTEM_NAME", "Windows");
278+
cmake_cfg.define("CMAKE_SYSTEM_PROCESSOR", arch);
279+
}
276280
_ => {}
277281
}
278282
if use_prebuilt_nasm() {

0 commit comments

Comments
 (0)