hopefully smaller binary size
Some checks failed
Build Clang P2996 / build (push) Has been cancelled

This commit is contained in:
2025-11-18 03:33:32 +01:00
parent 4a56d347c9
commit 7f8bc1b339

View File

@@ -27,15 +27,13 @@ jobs:
zlib1g-dev \ zlib1g-dev \
build-essential \ build-essential \
lld \ lld \
clang clang \
wget \
libssl-dev
pip3 install PyYAML>=5.1 pip3 install PyYAML>=5.1
- name: Install CMake (from source) - name: Install CMake (from source)
run: | run: |
apt-get update && apt-get install -y \
wget \
libssl-dev
CMAKE_VERSION=3.28.3 CMAKE_VERSION=3.28.3
cd /tmp cd /tmp
wget -q https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}.tar.gz wget -q https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}.tar.gz
@@ -46,16 +44,25 @@ jobs:
make install make install
cmake --version cmake --version
- name: Configure Clang (using Clang) - name: Configure LLVM/Clang (lean mode)
run: | run: |
export CC=clang export CC=clang
export CXX=clang++ export CXX=clang++
cmake -S llvm -B build \ cmake -S llvm -B build \
-DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra' \ -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra' \
-DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi;libunwind' \ -DLLVM_TARGETS_TO_BUILD='X86' \
-DCMAKE_BUILD_TYPE=Release \ -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} \ -DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_ENABLE_LLD=ON -DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_ENABLE_RTTI=OFF \
-DLLVM_ENABLE_EH=OFF \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DLLVM_ENABLE_LLD=ON \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PATH}
- name: Build Clang - name: Build Clang
run: | run: |
@@ -65,13 +72,18 @@ jobs:
run: | run: |
cmake --install build --prefix ${INSTALL_PATH} cmake --install build --prefix ${INSTALL_PATH}
- name: Package artifact - name: Strip binaries (massive size reduction)
run: | run: |
tar -czf clang-p2996.tar.gz -C ${INSTALL_PATH} . find ${INSTALL_PATH} -type f -exec strip --strip-unneeded {} + || true
- name: Package artifact (Zstd)
run: |
apt-get update && apt-get install -y zstd
tar --use-compress-program=zstd -cf clang-p2996.tar.zst -C ${INSTALL_PATH} .
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: clang-p2996 name: clang-p2996
path: clang-p2996.tar.gz path: clang-p2996.tar.zst