Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions build-compiler-rt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,13 @@ for arch in $ARCHS; do
-DCMAKE_CXX_FLAGS_INIT="$CFGUARD_CFLAGS" \
$SRC_DIR
cmake --build . ${CORES:+-j${CORES}}

# Skip install on arm64ec, we merge archives instead.
if [ "$arch" = "arm64ec" ]; then
cd ..
continue
fi

cmake --install . --prefix "$INSTALL_PREFIX"
mkdir -p "$PREFIX/$arch-w64-mingw32/bin"
if [ -n "$SANITIZERS" ]; then
Expand All @@ -142,6 +149,20 @@ for arch in $ARCHS; do
cd ..
done

# Clang expects the aarch64 compiler-rt name on ARM64EC. While this could be adjusted
# in Clang, the current approach mirrors MSVC, where the core CRT is provided as
# archives containing both EC and native support. Ideally, the LLVM build system would
# handle this automatically, but for now we can merge it here.
for arch in $ARCHS; do
if [ "$arch" = "arm64ec" ]; then
rm -f "$INSTALL_PREFIX/lib/windows/libclang_rt.builtins-aarch64.a" \
"$INSTALL_PREFIX/lib/windows/libclang_rt.builtins-arm64ec.a"
"$PREFIX/bin/llvm-lib" -machine:arm64ec "-out:$INSTALL_PREFIX/lib/windows/libclang_rt.builtins-aarch64.a" \
build-aarch64/lib/windows/libclang_rt.builtins-aarch64.a \
build-arm64ec/lib/windows/libclang_rt.builtins-arm64ec.a
fi
done

if [ "$INSTALL_PREFIX" != "$CLANG_RESOURCE_DIR" ]; then
# symlink to system headers - skip copy
rm -rf "$INSTALL_PREFIX/include"
Expand Down
2 changes: 1 addition & 1 deletion build-mingw-w64.sh
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ for arch in $ARCHS; do
armv7)
FLAGS="--disable-lib32 --disable-lib64 --enable-libarm32"
;;
aarch64)
aarch64|arm64ec)
FLAGS="--disable-lib32 --disable-lib64 --enable-libarm64"
;;
i686)
Expand Down
4 changes: 4 additions & 0 deletions build-openmp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ for arch in $ARCHS; do
x86_64)
CMAKEFLAGS="$CMAKEFLAGS -DLIBOMP_ASMFLAGS=-m64"
;;
arm64ec)
# Not yet supported
continue
;;
esac

[ -z "$CLEAN" ] || rm -rf build-$arch
Expand Down
Loading