Don't rely on AR/RANLIB env variables during the toolchain build
Instead manually specify the tools to be used in all of these steps.
This commit is contained in:
1 parent
968e574272
commit
d8261ac0fb
1 file changed
+14
-14
+14
-14
@@ -72,11 +72,6 @@ RUN for arch in armv7 aarch64 i686 x86_64; do \
|
|||||||
done; \
|
done; \
|
||||||
done
|
done
|
||||||
|
|
||||||
ENV AR=llvm-ar
|
|
||||||
ENV RANLIB=llvm-ranlib
|
|
||||||
ENV AS=llvm-as
|
|
||||||
ENV NM=llvm-nm
|
|
||||||
|
|
||||||
# Build mingw with our freshly built cross compiler
|
# Build mingw with our freshly built cross compiler
|
||||||
RUN cd mingw-w64/mingw-w64-crt && \
|
RUN cd mingw-w64/mingw-w64-crt && \
|
||||||
for arch in armv7 aarch64 i686 x86_64; do \
|
for arch in armv7 aarch64 i686 x86_64; do \
|
||||||
@@ -96,7 +91,7 @@ RUN cd mingw-w64/mingw-w64-crt && \
|
|||||||
;; \
|
;; \
|
||||||
esac && \
|
esac && \
|
||||||
CC=$arch-w64-mingw32-clang \
|
CC=$arch-w64-mingw32-clang \
|
||||||
AR=llvm-ar DLLTOOL=llvm-dlltool ../configure --host=$arch-w64-mingw32 --prefix=$TOOLCHAIN_PREFIX/$arch-w64-mingw32 $FLAGS && \
|
AR=llvm-ar RANLIB=llvm-ranlib DLLTOOL=llvm-dlltool ../configure --host=$arch-w64-mingw32 --prefix=$TOOLCHAIN_PREFIX/$arch-w64-mingw32 $FLAGS && \
|
||||||
make -j4 && make install && \
|
make -j4 && make install && \
|
||||||
cd .. || exit 1; \
|
cd .. || exit 1; \
|
||||||
done
|
done
|
||||||
@@ -129,8 +124,8 @@ RUN cd compiler-rt && \
|
|||||||
mkdir build-$arch && cd build-$arch && cmake \
|
mkdir build-$arch && cd build-$arch && cmake \
|
||||||
-DCMAKE_C_COMPILER=$arch-w64-mingw32-clang \
|
-DCMAKE_C_COMPILER=$arch-w64-mingw32-clang \
|
||||||
-DCMAKE_SYSTEM_NAME=Windows \
|
-DCMAKE_SYSTEM_NAME=Windows \
|
||||||
-DCMAKE_AR=$TOOLCHAIN_PREFIX/bin/$AR \
|
-DCMAKE_AR=$TOOLCHAIN_PREFIX/bin/llvm-ar \
|
||||||
-DCMAKE_RANLIB=$TOOLCHAIN_PREFIX/bin/$RANLIB \
|
-DCMAKE_RANLIB=$TOOLCHAIN_PREFIX/bin/llvm-ranlib \
|
||||||
-DCMAKE_C_COMPILER_WORKS=1 \
|
-DCMAKE_C_COMPILER_WORKS=1 \
|
||||||
-DCMAKE_C_COMPILER_TARGET=$buildarchname-windows-gnu \
|
-DCMAKE_C_COMPILER_TARGET=$buildarchname-windows-gnu \
|
||||||
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=TRUE \
|
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=TRUE \
|
||||||
@@ -183,8 +178,8 @@ RUN cd libcxxabi && \
|
|||||||
-DCMAKE_SYSTEM_NAME=Windows \
|
-DCMAKE_SYSTEM_NAME=Windows \
|
||||||
-DCMAKE_C_COMPILER_WORKS=TRUE \
|
-DCMAKE_C_COMPILER_WORKS=TRUE \
|
||||||
-DCMAKE_CXX_COMPILER_WORKS=TRUE \
|
-DCMAKE_CXX_COMPILER_WORKS=TRUE \
|
||||||
-DCMAKE_AR=$TOOLCHAIN_PREFIX/bin/$AR \
|
-DCMAKE_AR=$TOOLCHAIN_PREFIX/bin/llvm-ar \
|
||||||
-DCMAKE_RANLIB=$TOOLCHAIN_PREFIX/bin/$RANLIB \
|
-DCMAKE_RANLIB=$TOOLCHAIN_PREFIX/bin/llvm-ranlib \
|
||||||
-DLIBCXXABI_USE_COMPILER_RT=ON \
|
-DLIBCXXABI_USE_COMPILER_RT=ON \
|
||||||
-DLIBCXXABI_ENABLE_EXCEPTIONS=$EXCEPTIONS \
|
-DLIBCXXABI_ENABLE_EXCEPTIONS=$EXCEPTIONS \
|
||||||
-DLIBCXXABI_ENABLE_THREADS=OFF \
|
-DLIBCXXABI_ENABLE_THREADS=OFF \
|
||||||
@@ -218,8 +213,8 @@ RUN cd libcxx && \
|
|||||||
-DCMAKE_SYSTEM_NAME=Windows \
|
-DCMAKE_SYSTEM_NAME=Windows \
|
||||||
-DCMAKE_C_COMPILER_WORKS=TRUE \
|
-DCMAKE_C_COMPILER_WORKS=TRUE \
|
||||||
-DCMAKE_CXX_COMPILER_WORKS=TRUE \
|
-DCMAKE_CXX_COMPILER_WORKS=TRUE \
|
||||||
-DCMAKE_AR=$TOOLCHAIN_PREFIX/bin/$AR \
|
-DCMAKE_AR=$TOOLCHAIN_PREFIX/bin/llvm-ar \
|
||||||
-DCMAKE_RANLIB=$TOOLCHAIN_PREFIX/bin/$RANLIB \
|
-DCMAKE_RANLIB=$TOOLCHAIN_PREFIX/bin/llvm-ranlib \
|
||||||
-DLIBCXX_USE_COMPILER_RT=ON \
|
-DLIBCXX_USE_COMPILER_RT=ON \
|
||||||
-DLIBCXX_INSTALL_HEADERS=ON \
|
-DLIBCXX_INSTALL_HEADERS=ON \
|
||||||
-DLIBCXX_ENABLE_EXCEPTIONS=$EXCEPTIONS \
|
-DLIBCXX_ENABLE_EXCEPTIONS=$EXCEPTIONS \
|
||||||
@@ -253,8 +248,8 @@ RUN cd libunwind && \
|
|||||||
-DCMAKE_SYSTEM_NAME=Windows \
|
-DCMAKE_SYSTEM_NAME=Windows \
|
||||||
-DCMAKE_C_COMPILER_WORKS=TRUE \
|
-DCMAKE_C_COMPILER_WORKS=TRUE \
|
||||||
-DCMAKE_CXX_COMPILER_WORKS=TRUE \
|
-DCMAKE_CXX_COMPILER_WORKS=TRUE \
|
||||||
-DCMAKE_AR=$TOOLCHAIN_PREFIX/bin/$AR \
|
-DCMAKE_AR=$TOOLCHAIN_PREFIX/bin/llvm-ar \
|
||||||
-DCMAKE_RANLIB=$TOOLCHAIN_PREFIX/bin/$RANLIB \
|
-DCMAKE_RANLIB=$TOOLCHAIN_PREFIX/bin/llvm-ranlib \
|
||||||
-DLLVM_NO_OLD_LIBSTDCXX=TRUE \
|
-DLLVM_NO_OLD_LIBSTDCXX=TRUE \
|
||||||
-DLIBUNWIND_USE_COMPILER_RT=TRUE \
|
-DLIBUNWIND_USE_COMPILER_RT=TRUE \
|
||||||
-DLIBUNWIND_ENABLE_THREADS=TRUE \
|
-DLIBUNWIND_ENABLE_THREADS=TRUE \
|
||||||
@@ -288,3 +283,8 @@ RUN cd /build/hello && \
|
|||||||
for arch in armv7 x86_64 i686; do \
|
for arch in armv7 x86_64 i686; do \
|
||||||
$arch-w64-mingw32-clang++ hello-exception.cpp -o hello-exception-$arch.exe -fsjlj-exceptions || exit 1; \
|
$arch-w64-mingw32-clang++ hello-exception.cpp -o hello-exception-$arch.exe -fsjlj-exceptions || exit 1; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
ENV AR=llvm-ar
|
||||||
|
ENV RANLIB=llvm-ranlib
|
||||||
|
ENV AS=llvm-as
|
||||||
|
ENV NM=llvm-nm
|
||||||
Reference in new issue
Block a user