diff mbox series

[4/4] clang: build with MinSizeRel

Message ID 20250929171125.2170364-4-ross.burton@arm.com
State Accepted, archived
Commit ea9b33f7c12f773830ec860ae817a3ed1368612b
Headers show
Series [1/4] linux-firmware: skip ldflags sanity check | expand

Commit Message

Ross Burton Sept. 29, 2025, 5:11 p.m. UTC
This is the recommended build configuration upstream unless speed is the
ultimate goal. They say it's almost as fast as Release (-O3) but a lot
smaller on disk:

  clang-libclang-cpp: PKGSIZE changed from 71729568 to 49368816 (-31%)
  clang-libllvm: PKGSIZE changed from 83015559 to 56662823 (-32%)
  clang-tidy: PKGSIZE changed from 15861679 to 9956175 (-37%)
  clang-tools: PKGSIZE changed from 6865635 to 5374691 (-22%)
  clang: PKGSIZE changed from 29693308 to 22697548 (-24%)
  libclang: PKGSIZE changed from 40087018 to 26966218 (-33%)

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-devtools/clang/clang_git.bb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
index 53bca1c24f8..f25633a5861 100644
--- a/meta/recipes-devtools/clang/clang_git.bb
+++ b/meta/recipes-devtools/clang/clang_git.bb
@@ -112,7 +112,7 @@  EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
                   -DFFI_INCLUDE_DIR=$(pkg-config --variable=includedir libffi) \
                   -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \
                   -DCMAKE_SYSTEM_NAME=Linux \
-                  -DCMAKE_BUILD_TYPE=Release \
+                  -DCMAKE_BUILD_TYPE=MinSizeRel \
                   -DLLVM_ENABLE_PROJECTS='${LLVM_PROJECTS}' \
                   -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \
                   -DLLVM_VERSION_SUFFIX='${VER_SUFFIX}' \
@@ -175,7 +175,7 @@  do_install:append() {
 
 do_install:append:class-target () {
     # Allow bin path to change based on YOCTO_ALTERNATE_EXE_PATH
-    sed -i 's;${_IMPORT_PREFIX}/bin;${_IMPORT_PREFIX_BIN};g' ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake
+    sed -i 's;${_IMPORT_PREFIX}/bin;${_IMPORT_PREFIX_BIN};g' ${D}${libdir}/cmake/llvm/LLVMExports-*.cmake
 
     # Insert function to populate Import Variables
     sed -i "4i\
@@ -183,7 +183,7 @@  if(DEFINED ENV{YOCTO_ALTERNATE_EXE_PATH})\n\
   execute_process(COMMAND \"llvm-config\" \"--bindir\" OUTPUT_VARIABLE _IMPORT_PREFIX_BIN OUTPUT_STRIP_TRAILING_WHITESPACE)\n\
 else()\n\
   set(_IMPORT_PREFIX_BIN \"\${_IMPORT_PREFIX}/bin\")\n\
-endif()\n" ${D}${libdir}/cmake/llvm/LLVMExports-release.cmake
+endif()\n" ${D}${libdir}/cmake/llvm/LLVMExports-*.cmake
 
     if [ -n "${LLVM_LIBDIR_SUFFIX}" ]; then
         mkdir -p ${D}${nonarch_libdir}