1313 matrix :
1414 include :
1515 - target : x86_64-apple-darwin
16- os : macos-latest
16+ os : macos-13
1717 name : mumei-x86_64-apple-darwin
1818 - target : aarch64-apple-darwin
1919 os : macos-latest
3636 with :
3737 targets : ${{ matrix.target }}
3838 - name : Install system dependencies (Ubuntu)
39- if : runner.os == 'Linux'
39+ if : runner.os == 'Linux' && !matrix.musl
4040 run : |
4141 sudo apt-get update
4242 sudo apt-get install -y libz3-dev pkg-config libssl-dev libzstd-dev
@@ -48,10 +48,33 @@ jobs:
4848 sudo apt-get install -y llvm-17-dev libclang-17-dev libpolly-17-dev
4949 echo "LLVM_SYS_170_PREFIX=/usr/lib/llvm-17" >> $GITHUB_ENV
5050 echo "LIBCLANG_PATH=/usr/lib/llvm-17/lib" >> $GITHUB_ENV
51- - name : Install musl toolchain
51+ - name : Install musl toolchain and static dependencies
5252 if : matrix.musl
5353 run : |
54- sudo apt-get install -y musl-tools
54+ sudo apt-get update
55+ sudo apt-get install -y musl-tools pkg-config libzstd-dev cmake ninja-build python3
56+ # LLVM 17 from official apt repo
57+ wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc > /dev/null
58+ codename=$(lsb_release -cs)
59+ echo "deb http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-17 main" | sudo tee /etc/apt/sources.list.d/llvm-17.list > /dev/null
60+ sudo apt-get update
61+ sudo apt-get install -y llvm-17-dev libclang-17-dev libpolly-17-dev
62+ echo "LLVM_SYS_170_PREFIX=/usr/lib/llvm-17" >> $GITHUB_ENV
63+ echo "LIBCLANG_PATH=/usr/lib/llvm-17/lib" >> $GITHUB_ENV
64+ # Build Z3 as a static library for musl compatibility
65+ Z3_VERSION=4.13.4
66+ curl -sL https://github.com/Z3Prover/z3/archive/refs/tags/z3-${Z3_VERSION}.tar.gz | tar xz
67+ cd z3-z3-${Z3_VERSION}
68+ mkdir build && cd build
69+ cmake -G Ninja .. -DCMAKE_INSTALL_PREFIX=/usr/local/z3-static \
70+ -DZ3_BUILD_LIBZ3_SHARED=OFF \
71+ -DCMAKE_C_COMPILER=musl-gcc \
72+ -DCMAKE_CXX_COMPILER=g++ \
73+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
74+ ninja -j$(nproc)
75+ sudo ninja install
76+ echo "Z3_SYS_Z3_HEADER=/usr/local/z3-static/include/z3.h" >> $GITHUB_ENV
77+ echo "Z3_SYS_Z3_LIB_DIR=/usr/local/z3-static/lib" >> $GITHUB_ENV
5578 - name : Install system dependencies (macOS)
5679 if : runner.os == 'macOS'
5780 run : |
0 commit comments