]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
clang: build with MinSizeRel
authorRoss Burton <ross.burton@arm.com>
Mon, 29 Sep 2025 17:11:25 +0000 (18:11 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 2 Oct 2025 10:27:31 +0000 (11:27 +0100)
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>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
meta/recipes-devtools/clang/clang_git.bb

index 53bca1c24f8dfd3eba7409bbcf6872a98c024c73..f25633a586177a646bddd794e4c3ffff5a12caf3 100644 (file)
@@ -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}