commit 540364e6c18e7acb744ba92b6d38dc1275fbcfa5 (tree)
parent bf8cc73cf397338e24183b24cd4ef2a698160877
Author: Andrew Kelley <andrew@ziglang.org>
Date: Wed, 14 Oct 2020 17:36:43 -0700
ci: macos: update to new cache tarball
This tarball contains LLVM, Clang, LLD, Zig, and libz.a for macOS. This
is everything we need for the CI to produce a working Zig executable.
Diffstat:
2 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -85,8 +85,12 @@ find_package(lld)
if(APPLE AND ZIG_STATIC)
list(REMOVE_ITEM LLVM_LIBRARIES "-lz")
- find_library(ZLIB NAMES z zlib libz)
+ find_library(ZLIB NAMES libz.a z zlib libz)
list(APPEND LLVM_LIBRARIES "${ZLIB}")
+
+ list(REMOVE_ITEM LLVM_LIBRARIES "-lcurses")
+ find_library(CURSES NAMES libcurses.a curses libcurses libncurses.a ncurses libncurses)
+ list(APPEND LLVM_LIBRARIES "${CURSES}")
endif()
set(ZIG_CPP_LIB_DIR "${CMAKE_BINARY_DIR}/zigcpp")
diff --git a/ci/azure/macos_script b/ci/azure/macos_script
@@ -7,7 +7,7 @@ brew install s3cmd
ZIGDIR="$(pwd)"
ARCH="x86_64"
-CACHE_BASENAME="zig+llvm+lld+clang-$ARCH-macos-gnu-0.6.0+0f4386875f"
+CACHE_BASENAME="zig+llvm+lld+clang-$ARCH-macos-gnu-0.6.0+1c9ef63a"
PREFIX="$HOME/$CACHE_BASENAME"
JOBS="-j2"
@@ -17,6 +17,9 @@ wget -nv "https://ziglang.org/deps/$CACHE_BASENAME.tar.xz"
tar xf "$CACHE_BASENAME.tar.xz"
ZIG="$PREFIX/bin/zig"
+NATIVE_LIBC_TXT="$HOME/native_libc.txt"
+$ZIG libc > "$NATIVE_LIBC_TXT"
+export ZIG_LIBC="$NATIVE_LIBC_TXT"
export CC="$ZIG cc"
export CXX="$ZIG c++"
@@ -31,14 +34,16 @@ cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX="$(pwd)/release" \
-DCMAKE_PREFIX_PATH="$PREFIX" \
- -DCMAKE_CROSSCOMPILING=True \
- -DCMAKE_SYSTEM_NAME="Darwin" \
- -DCMAKE_AR="$PREFIX/bin/llvm-ar" \
- -DCMAKE_RANLIB="$PREFIX/bin/llvm-ranlib" \
-DCMAKE_BUILD_TYPE=Release \
- -DZIG_TARGET_TRIPLE="$ARCH-macos.10.15.7-gnu" \
+ -DZIG_TARGET_TRIPLE="$ARCH-native-gnu" \
-DZIG_TARGET_MCPU="baseline" \
- -DZIG_EXECUTABLE="$ZIG"
+ -DZIG_EXECUTABLE="$ZIG" \
+ -DZIG_STATIC=ON
+
+# TODO unsetting this before `make install` is a workaround for Zig crashing
+# with "unable to exec C compiler".
+unset CC
+unset CXX
make $JOBS install
release/bin/zig build test