clang: build with MinSizeRel

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%)

(From OE-Core rev: ea9b33f7c12f773830ec860ae817a3ed1368612b)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2025-09-29 18:11:25 +01:00
committed by Richard Purdie
parent 5b89175dc1
commit 89a51c02e6

View 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}