|
21 | 21 | - target: x86_64-unknown-linux-gnu |
22 | 22 | os: ubuntu-latest |
23 | 23 | name: mumei-x86_64-unknown-linux-gnu |
24 | | - - target: x86_64-unknown-linux-musl |
25 | | - os: ubuntu-latest |
26 | | - name: mumei-x86_64-unknown-linux-musl |
27 | | - musl: true |
28 | 24 | - target: aarch64-unknown-linux-gnu |
29 | 25 | os: ubuntu-24.04-arm |
30 | 26 | name: mumei-aarch64-unknown-linux-gnu |
|
36 | 32 | with: |
37 | 33 | targets: ${{ matrix.target }} |
38 | 34 | - name: Install system dependencies (Ubuntu) |
39 | | - if: runner.os == 'Linux' && !matrix.musl |
| 35 | + if: runner.os == 'Linux' |
40 | 36 | run: | |
41 | 37 | sudo apt-get update |
42 | 38 | sudo apt-get install -y libz3-dev pkg-config libssl-dev libzstd-dev |
|
48 | 44 | sudo apt-get install -y llvm-17-dev libclang-17-dev libpolly-17-dev |
49 | 45 | echo "LLVM_SYS_170_PREFIX=/usr/lib/llvm-17" >> $GITHUB_ENV |
50 | 46 | echo "LIBCLANG_PATH=/usr/lib/llvm-17/lib" >> $GITHUB_ENV |
51 | | - - name: Install musl toolchain and static dependencies |
52 | | - if: matrix.musl |
53 | | - run: | |
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 |
78 | | - # z3-sys build.rs only emits rustc-link-search with static-link-z3 feature; |
79 | | - # we must add the search path manually via RUSTFLAGS |
80 | | - echo "RUSTFLAGS=-L /usr/local/z3-static/lib" >> $GITHUB_ENV |
81 | 47 | - name: Install system dependencies (macOS) |
82 | 48 | if: runner.os == 'macOS' |
83 | 49 | run: | |
|
0 commit comments