Commit 540364e6c1

Andrew Kelley <andrew@ziglang.org>
2020-10-15 02:36:43
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.
1 parent bf8cc73
Changed files (2)
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
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")