Build libunwind before mingw-w64-libraries

When --unwindlib=libunwind is implicit, we need to build libunwind
to have a complete working C compiler too. Currently this is worked
around by initially creating a dummy, empty libunwind.a, but with
the current version of libcxx/libunwind, we can get rid of that
workaround if we build it as soon as possible.
This commit is contained in:
Martin Storsjö committed 2022-02-09 14:02:20 +02:00
1 parent 56d0ef7900
commit 81c39dda6a
3 files changed
+7 -7

No files matched your search

+2 -2
View File
@@ -45,7 +45,7 @@ ARG TOOLCHAIN_ARCHS="i686 x86_64 armv7 aarch64"
ARG DEFAULT_CRT=ucrt ARG DEFAULT_CRT=ucrt
# Build everything that uses the llvm monorepo. We need to build the mingw runtime before the compiler-rt/libunwind/libcxxabi/libcxx runtimes. # Build everything that uses the llvm monorepo. We need to build the mingw runtime before the compiler-rt/libunwind/libcxxabi/libcxx runtimes.
COPY build-llvm.sh build-lldb-mi.sh strip-llvm.sh install-wrappers.sh build-mingw-w64.sh build-mingw-w64-tools.sh build-compiler-rt.sh build-mingw-w64-libraries.sh build-libcxx.sh build-openmp.sh ./ COPY build-llvm.sh build-lldb-mi.sh strip-llvm.sh install-wrappers.sh build-mingw-w64.sh build-mingw-w64-tools.sh build-compiler-rt.sh build-libcxx.sh build-mingw-w64-libraries.sh build-openmp.sh ./
COPY wrappers/*.sh wrappers/*.c wrappers/*.h ./wrappers/ COPY wrappers/*.sh wrappers/*.c wrappers/*.h ./wrappers/
RUN ./build-llvm.sh $TOOLCHAIN_PREFIX && \ RUN ./build-llvm.sh $TOOLCHAIN_PREFIX && \
./build-lldb-mi.sh $TOOLCHAIN_PREFIX && \ ./build-lldb-mi.sh $TOOLCHAIN_PREFIX && \
@@ -54,8 +54,8 @@ RUN ./build-llvm.sh $TOOLCHAIN_PREFIX && \
./build-mingw-w64.sh $TOOLCHAIN_PREFIX --with-default-msvcrt=$DEFAULT_CRT && \ ./build-mingw-w64.sh $TOOLCHAIN_PREFIX --with-default-msvcrt=$DEFAULT_CRT && \
./build-mingw-w64-tools.sh $TOOLCHAIN_PREFIX && \ ./build-mingw-w64-tools.sh $TOOLCHAIN_PREFIX && \
./build-compiler-rt.sh $TOOLCHAIN_PREFIX && \ ./build-compiler-rt.sh $TOOLCHAIN_PREFIX && \
./build-mingw-w64-libraries.sh $TOOLCHAIN_PREFIX && \
./build-libcxx.sh $TOOLCHAIN_PREFIX && \ ./build-libcxx.sh $TOOLCHAIN_PREFIX && \
./build-mingw-w64-libraries.sh $TOOLCHAIN_PREFIX && \
./build-compiler-rt.sh $TOOLCHAIN_PREFIX --build-sanitizers && \ ./build-compiler-rt.sh $TOOLCHAIN_PREFIX --build-sanitizers && \
./build-openmp.sh $TOOLCHAIN_PREFIX && \ ./build-openmp.sh $TOOLCHAIN_PREFIX && \
rm -rf /build/* rm -rf /build/*
+4 -4
View File
@@ -78,6 +78,10 @@ RUN ./build-mingw-w64-tools.sh $TOOLCHAIN_PREFIX
COPY build-compiler-rt.sh ./ COPY build-compiler-rt.sh ./
RUN ./build-compiler-rt.sh $TOOLCHAIN_PREFIX RUN ./build-compiler-rt.sh $TOOLCHAIN_PREFIX
# Build libunwind/libcxxabi/libcxx
COPY build-libcxx.sh ./
RUN ./build-libcxx.sh $TOOLCHAIN_PREFIX
# Build mingw-w64's extra libraries # Build mingw-w64's extra libraries
COPY build-mingw-w64-libraries.sh ./ COPY build-mingw-w64-libraries.sh ./
RUN ./build-mingw-w64-libraries.sh $TOOLCHAIN_PREFIX RUN ./build-mingw-w64-libraries.sh $TOOLCHAIN_PREFIX
@@ -105,10 +109,6 @@ RUN cd test && \
done; \ done; \
done done
# Build libunwind/libcxxabi/libcxx
COPY build-libcxx.sh ./
RUN ./build-libcxx.sh $TOOLCHAIN_PREFIX
# Build C++ test applications # Build C++ test applications
COPY test/*.cpp ./test/ COPY test/*.cpp ./test/
RUN cd test && \ RUN cd test && \
+1 -1
View File
@@ -35,8 +35,8 @@ done
./build-mingw-w64.sh $PREFIX ./build-mingw-w64.sh $PREFIX
./build-mingw-w64-tools.sh $PREFIX ./build-mingw-w64-tools.sh $PREFIX
./build-compiler-rt.sh $PREFIX ./build-compiler-rt.sh $PREFIX
./build-mingw-w64-libraries.sh $PREFIX
./build-libcxx.sh $PREFIX ./build-libcxx.sh $PREFIX
./build-mingw-w64-libraries.sh $PREFIX
./build-compiler-rt.sh $PREFIX --build-sanitizers ./build-compiler-rt.sh $PREFIX --build-sanitizers
./build-libssp.sh $PREFIX ./build-libssp.sh $PREFIX
./build-openmp.sh $PREFIX ./build-openmp.sh $PREFIX