@@ -72,28 +72,25 @@ jobs:
7272 - name : Build
7373 env :
7474 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
75- MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
7675 TAG : ${{needs.prepare.outputs.TAG}}
7776 SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
7877 BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
7978 run : |
8079 # Skip dynamic library dependencies that might make it harder to
8180 # run the binaries on other distros (and that have little use within
8281 # llvm-mingw).
83- LLVM_CMAKEFLAGS="-DLLVM_ENABLE_LIBXML2=OFF -DLLDB_ENABLE_PYTHON=OFF" ./build-all.sh $(pwd)/install/llvm-mingw --stage1
84- .github/workflows/store-version.sh install/llvm-mingw/versions.txt
85- ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
86- ./run-tests.sh $(pwd)/install/llvm-mingw
82+ LLVM_CMAKEFLAGS="-DLLVM_ENABLE_LIBXML2=OFF -DLLDB_ENABLE_PYTHON=OFF" ./build-all.sh $(pwd)/install/llvm --stage1 --llvm-only
83+ .github/workflows/store-version.sh install/llvm/versions.txt
8784 cd install
8885 DISTRO=ubuntu-$(grep DISTRIB_RELEASE /etc/lsb-release | cut -f 2 -d =)-$(uname -m)
89- NAME=llvm-mingw-stage1- $TAG-ucrt -$DISTRO
90- mv llvm-mingw $NAME
86+ NAME=llvm-$TAG-$DISTRO
87+ mv llvm $NAME
9188 tar -Jcf ../$NAME.tar.xz --format=ustar --numeric-owner --owner=0 --group=0 --sort=name --mtime="$BUILD_DATE" $NAME
9289 - uses : actions/upload-artifact@v4
9390 with :
94- name : linux-stage1-ucrt- x86_64-toolchain
91+ name : linux-llvm- x86_64
9592 path : |
96- llvm-mingw- *.tar.xz
93+ llvm-*.tar.xz
9794 retention-days : 7
9895
9996 # Build a cross compiler for Linux, targeting Windows.
@@ -104,26 +101,25 @@ jobs:
104101 - uses : actions/checkout@v4
105102 - uses : actions/download-artifact@v4
106103 with :
107- name : linux-stage1-ucrt- x86_64-toolchain
104+ name : linux-llvm- x86_64
108105 - name : Unpack stage1 Clang
109106 run : |
110- tar -Jxf llvm-mingw- *.tar.xz
111- rm llvm-mingw- *.tar.xz
112- sudo mv llvm-mingw * /opt/llvm-mingw
113- echo /opt/llvm-mingw /bin >> $GITHUB_PATH
107+ tar -Jxf llvm-*.tar.xz
108+ rm llvm-*.tar.xz
109+ sudo mv llvm* /opt/llvm
110+ echo /opt/llvm/bin >> $GITHUB_PATH
114111 - name : Build
115112 env :
116113 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
114+ MINGW_W64_VERSION : ${{needs.prepare.outputs.MINGW_W64_VERSION}}
117115 TAG : ${{needs.prepare.outputs.TAG}}
118116 SOURCE_DATE_EPOCH : ${{needs.prepare.outputs.COMMIT_DATE_UNIX}}
119117 BUILD_DATE : ${{needs.prepare.outputs.BUILD_DATE}}
120118 run : |
121- mkdir -p install
122- cp -a /opt/llvm-mingw install
123119 # Skip dynamic library dependencies that might make it harder to
124120 # run the binaries on other distros (and that have little use within
125121 # llvm-mingw).
126- LLVM_CMAKEFLAGS="-DLLVM_ENABLE_LIBXML2=OFF -DLLDB_ENABLE_PYTHON=OFF" ./build-all.sh $(pwd)/install/llvm-mingw --with-clang --thinlto --llvm-only
122+ LLVM_CMAKEFLAGS="-DLLVM_ENABLE_LIBXML2=OFF -DLLDB_ENABLE_PYTHON=OFF" ./build-all.sh $(pwd)/install/llvm-mingw --with-clang --thinlto
127123 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
128124 ./test-libcxx-module.sh $(pwd)/install/llvm-mingw
129125 ./run-tests.sh $(pwd)/install/llvm-mingw
@@ -142,19 +138,19 @@ jobs:
142138 # Crosscompile the toolchain for running on Linux on a different architecture, bundle the runtime
143139 # libraries that were built in the 'linux' step above.
144140 linux-cross-aarch64 :
145- needs : [linux-stage1, prepare]
141+ needs : [linux, linux -stage1, prepare]
146142 runs-on : ubuntu-22.04
147143 steps :
148144 - uses : actions/checkout@v4
149145 - uses : actions/download-artifact@v4
150146 with :
151- name : linux-stage1-ucrt- x86_64-toolchain
147+ name : linux-llvm- x86_64
152148 - name : Unpack stage1 Clang
153149 run : |
154- tar -Jxf llvm-mingw- *.tar.xz
155- rm llvm-mingw- *.tar.xz
156- sudo mv llvm-mingw * /opt/llvm-mingw
157- echo /opt/llvm-mingw /bin >> $GITHUB_PATH
150+ tar -Jxf llvm-*.tar.xz
151+ rm llvm-*.tar.xz
152+ sudo mv llvm* /opt/llvm
153+ echo /opt/llvm/bin >> $GITHUB_PATH
158154 - name : Build
159155 env :
160156 LLVM_VERSION : ${{needs.prepare.outputs.LLVM_VERSION}}
@@ -164,9 +160,17 @@ jobs:
164160 sudo apt-get update && sudo apt-get install g++-aarch64-linux-gnu
165161 ./build-all.sh $(pwd)/install/llvm-mingw --no-runtimes --host=aarch64-linux-gnu --with-clang --thinlto
166162 .github/workflows/store-version.sh install/llvm-mingw/versions.txt
163+ - uses : actions/download-artifact@v4
164+ with :
165+ name : linux-ucrt-x86_64-toolchain
166+ - name : Unpack native toolchain
167+ run : |
168+ tar -Jxf llvm-mingw-*.tar.xz
169+ rm llvm-mingw-*.tar.xz
170+ mv llvm-mingw* llvm-mingw-native
167171 - name : Assemble the cross-built toolchain
168172 run : |
169- ./prepare-cross-toolchain-unix.sh /opt/ llvm-mingw $(pwd)/install/llvm-mingw
173+ ./prepare-cross-toolchain-unix.sh $(pwd)/ llvm-mingw-native $(pwd)/install/llvm-mingw
170174 - name : Test using the cross-built assembled toolchain
171175 run : |
172176 sudo apt-get update && sudo apt-get install qemu-user-static libc6-arm64-cross libstdc++6-arm64-cross
@@ -354,7 +358,7 @@ jobs:
354358 # llvm and make a proper standalone toolchain for Windows (for all 4
355359 # architectures). The binaries built here match actual releases quite closely.
356360 linux-cross-windows :
357- needs : [linux-stage1 , prepare]
361+ needs : [linux, prepare]
358362 runs-on : ubuntu-latest
359363 strategy :
360364 fail-fast : false
@@ -367,7 +371,7 @@ jobs:
367371 steps :
368372 - uses : actions/download-artifact@v4
369373 with :
370- name : linux-stage1- ${{matrix.crt}}-x86_64-toolchain
374+ name : linux-${{matrix.crt}}-x86_64-toolchain
371375 - name : Unpack cross toolchain
372376 run : |
373377 tar -Jxf llvm-mingw-*.tar.xz
@@ -749,7 +753,7 @@ jobs:
749753 run : |
750754 rm -rf linux-asserts*
751755 rm -rf msys2*
752- rm -rf linux-stage1 -*
756+ rm -rf linux-llvm -*
753757 rm -rf macos-llvm*
754758 mv *-toolchain/*.zip *-toolchain/*.tar.xz .
755759 - name : Upload binaries
0 commit comments