Skip to content

Commit 8995ad1

Browse files
FIX hot fix for musl.
1 parent e7823e2 commit 8995ad1

1 file changed

Lines changed: 31 additions & 23 deletions

File tree

.github/workflows/llvm-x86_64-unknown-linux-musl.yml

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -47,50 +47,58 @@ jobs:
4747
tar -xf llvm-project-17.0.6.src.tar.xz
4848
mv llvm-project-17.0.6.src llvm-project
4949
50-
- name: Creating build directory
50+
- name: Build host tools first (para glibc - herramientas nativas)
51+
run: |
52+
mkdir -p host-build
53+
cmake ../llvm-project/llvm -G Ninja \
54+
-DCMAKE_BUILD_TYPE=Release \
55+
-DLLVM_ENABLE_PROJECTS="llvm" \
56+
-DLLVM_TARGETS_TO_BUILD="X86" \
57+
-DLLVM_BUILD_TESTS=OFF \
58+
-DLLVM_INCLUDE_TESTS=OFF \
59+
-DLLVM_INCLUDE_EXAMPLES=OFF \
60+
-DLLVM_INCLUDE_DOCS=OFF \
61+
-DCMAKE_INSTALL_PREFIX="/host-tools"
62+
ninja -j$(nproc) llvm-tblgen llvm-config
63+
ninja install
64+
working-directory: host-build
65+
66+
- name: Creating cross-compilation build directory
5167
run: |
5268
mkdir -p llvm-build
5369
54-
- name: Configure LLVM build
70+
- name: Configure LLVM for cross-compilation to musl
5571
run: |
5672
cmake ../llvm-project/llvm -G Ninja \
5773
-DCMAKE_BUILD_TYPE=MinSizeRel \
5874
-DCMAKE_C_COMPILER=x86_64-unknown-linux-musl-gcc \
5975
-DCMAKE_CXX_COMPILER=x86_64-unknown-linux-musl-g++ \
60-
-DLLD_INCLUDE_TOOLS=ON \
76+
-DCMAKE_SYSROOT=/usr/local/musl/x86_64-unknown-linux-musl \
77+
-DLLVM_TABLEGEN=/host-tools/bin/llvm-tblgen \
78+
-DLLVM_CONFIG_PATH=/host-tools/bin/llvm-config \
6179
-DLLVM_ENABLE_PROJECTS="llvm;lld" \
6280
-DLLVM_ENABLE_TERMINFO=OFF \
63-
-DLLVM_ENABLE_ZLIB=OFF \
64-
-DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=TRUE \
65-
-DLLVM_ENABLE_LIBXML2=0 \
81+
-DLLVM_ENABLE_ZLIB=ON \
82+
-DLLVM_ENABLE_LIBXML2=OFF \
6683
-DCMAKE_INSTALL_PREFIX="dist" \
67-
-DLLVM_TARGETS_TO_BUILD=X86 \
84+
-DLLVM_TARGETS_TO_BUILD="X86" \
85+
-DLLVM_HOST_TRIPLE=x86_64-unknown-linux-musl \
86+
-DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-unknown-linux-musl \
6887
-DLLVM_BUILD_TESTS=OFF \
6988
-DLLVM_BUILD_EXAMPLES=OFF \
7089
-DLLVM_INCLUDE_TESTS=OFF \
7190
-DLLVM_INCLUDE_EXAMPLES=OFF \
72-
-DLLVM_INCLUDE_DOCS=OFF
73-
working-directory: llvm-build
74-
75-
- name: Building LLVM tools first
76-
run: |
77-
# Primero construimos solo las herramientas esenciales
78-
ninja -j$(nproc) llvm-min-tblgen llvm-tblgen llvm-config
79-
working-directory: llvm-build
80-
81-
- name: Verify tools are built
82-
run: |
83-
ls -la bin/llvm-min-tblgen
84-
file bin/llvm-min-tblgen
85-
./bin/llvm-min-tblgen --version
91+
-DLLVM_INCLUDE_DOCS=OFF \
92+
-DLLVM_BUILD_LLVM_DYLIB=ON \
93+
-DLLVM_LINK_LLVM_DYLIB=ON
8694
working-directory: llvm-build
8795

88-
- name: Building LLVM
96+
- name: Building LLVM for musl
8997
run: |
9098
ninja -j$(nproc)
9199
working-directory: llvm-build
92100

93-
- name: Installing LLVM
101+
- name: Installing LLVM for musl
94102
run: |
95103
ninja install
96104
working-directory: llvm-build

0 commit comments

Comments
 (0)