File tree Expand file tree Collapse file tree 5 files changed +67
-8
lines changed
dist-aarch64-windows-gnullvm
dist-x86_64-windows-gnullvm Expand file tree Collapse file tree 5 files changed +67
-8
lines changed Original file line number Diff line number Diff line change
1
+ FROM ubuntu:22.04
2
+
3
+ WORKDIR /build
4
+
5
+ ARG DEBIAN_FRONTEND=noninteractive
6
+ RUN apt-get update && apt-get install -y --no-install-recommends \
7
+ ca-certificates \
8
+ cmake \
9
+ curl \
10
+ g++ \
11
+ git \
12
+ make \
13
+ ninja-build \
14
+ python3 \
15
+ xz-utils
16
+
17
+ COPY host-x86_64/dist-windows-gnullvm/install-llvm-mingw.sh /build
18
+ RUN ./install-llvm-mingw.sh
19
+
20
+ COPY scripts/sccache.sh /scripts/
21
+ RUN sh /scripts/sccache.sh
22
+
23
+ ENV CC_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang \
24
+ CXX_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang++
25
+
26
+ ENV HOST=aarch64-pc-windows-gnullvm
27
+
28
+ # We are bootstrapping this target and cannot use previously built artifacts.
29
+ # Without this option Clang is given `"-I/checkout/obj/build/aarch64-pc-windows-gnullvm/ci-llvm/include"`
30
+ # despite no such directory existing:
31
+ # ❯ ls obj/dist-windows-gnullvm/build/aarch64-pc-windows-gnullvm/ -1
32
+ # llvm
33
+ # stage2
34
+ ENV NO_DOWNLOAD_CI_LLVM 1
35
+
36
+ ENV RUST_CONFIGURE_ARGS \
37
+ --enable-extended \
38
+ --enable-profiler \
39
+ --enable-sanitizers \
40
+ --disable-docs \
41
+ --set llvm.download-ci-llvm=false \
42
+ --set rust.llvm-tools=false
43
+ # LLVM cross tools are not installed into expected location so copying fails.
44
+ # Probably will solve itself when building from Windows.
45
+ # --enable-full-tools \
46
+
47
+ ENV SCRIPT python3 ../x.py dist --host $HOST --target $HOST
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ set -ex
4
+
5
+ release_date=20250430
6
+ archive=llvm-mingw-${release_date} -ucrt-ubuntu-22.04-x86_64.tar.xz
7
+ curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date} /${archive} | \
8
+ tar --extract --xz --strip 1 --directory /usr/local
9
+
10
+ # https://github.com/mstorsjo/llvm-mingw/issues/493
11
+ ln -s $aarch64 -w64-windows-gnu.cfg /usr/local/bin/$arch -pc-windows-gnu.cfg
Original file line number Diff line number Diff line change @@ -20,14 +20,12 @@ RUN ./install-llvm-mingw.sh
20
20
COPY scripts/sccache.sh /scripts/
21
21
RUN sh /scripts/sccache.sh
22
22
23
- ENV CC_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang \
24
- CXX_aarch64_pc_windows_gnullvm=aarch64-w64-mingw32-clang++ \
25
- CC_i686_pc_windows_gnullvm=i686-w64-mingw32-clang \
23
+ ENV CC_i686_pc_windows_gnullvm=i686-w64-mingw32-clang \
26
24
CC_x86_64_pc_windows_gnullvm=x86_64-w64-mingw32-clang \
27
25
CXX_x86_64_pc_windows_gnullvm=x86_64-w64-mingw32-clang++
28
26
29
- ENV HOSTS=aarch64-pc-windows-gnullvm, x86_64-pc-windows-gnullvm
30
- ENV TARGETS=aarch64-pc-windows-gnullvm, i686-pc-windows-gnullvm,x86_64-pc-windows-gnullvm
27
+ ENV HOST= x86_64-pc-windows-gnullvm
28
+ ENV TARGETS=i686-pc-windows-gnullvm,x86_64-pc-windows-gnullvm
31
29
32
30
# We are bootstrapping this target and cannot use previously built artifacts.
33
31
# Without this option Clang is given `"-I/checkout/obj/build/aarch64-pc-windows-gnullvm/ci-llvm/include"`
@@ -48,4 +46,4 @@ ENV RUST_CONFIGURE_ARGS \
48
46
# Probably will solve itself when building from Windows.
49
47
# --enable-full-tools \
50
48
51
- ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $TARGETS
49
+ ENV SCRIPT python3 ../x.py dist --host $HOST --target $TARGETS
Original file line number Diff line number Diff line change @@ -8,6 +8,6 @@ curl -L https://github.com/mstorsjo/llvm-mingw/releases/download/${release_date}
8
8
tar --extract --xz --strip 1 --directory /usr/local
9
9
10
10
# https://github.com/mstorsjo/llvm-mingw/issues/493
11
- for arch in aarch64 x86_64; do
11
+ for arch in i686 x86_64; do
12
12
ln -s $arch -w64-windows-gnu.cfg /usr/local/bin/$arch -pc-windows-gnu.cfg
13
13
done
Original file line number Diff line number Diff line change @@ -204,7 +204,10 @@ auto:
204
204
- name : dist-s390x-linux
205
205
<< : *job-linux-4c
206
206
207
- - name : dist-windows-gnullvm
207
+ - name : dist-aarch64-windows-gnullvm
208
+ << : *job-linux-4c
209
+
210
+ - name : dist-x86_64-windows-gnullvm
208
211
<< : *job-linux-4c
209
212
210
213
- name : dist-various-1
You can’t perform that action at this time.
0 commit comments