classes/cmake: CMAKE_RANLIB needs to be a filename without arguments

CMAKE_RANLIB is the path to the binary without any arguments. However,
gcc-native.bbclass sets BUILD_RANLIB to "ranlib -D" which means that
CMake looks for a binary called "ranlib;-D".

This is expected behaviour upstream[1] and as there's no variable for
"ranlib flags", we should just set CMAKE_RANLIB to the first element of
the list.

[1] https://gitlab.kitware.com/cmake/cmake/-/issues/23554

(From OE-Core rev: 598fa6761488bffb09ba0cbe115b562fb95df959)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2025-09-24 13:07:37 +01:00
committed by Richard Purdie
parent 81569a68e9
commit fbef81c833

View File

@@ -56,7 +56,7 @@ OECMAKE_NATIVE_C_COMPILER_LAUNCHER ?= "${@oecmake_map_compiler('BUILD_CC', d)[1]
OECMAKE_NATIVE_CXX_COMPILER ?= "${@oecmake_map_compiler('BUILD_CXX', d)[0]}"
OECMAKE_NATIVE_CXX_COMPILER_LAUNCHER ?= "${@oecmake_map_compiler('BUILD_CXX', d)[1]}"
OECMAKE_NATIVE_AR ?= "${BUILD_AR}"
OECMAKE_NATIVE_RANLIB ?= "${BUILD_RANLIB}"
OECMAKE_NATIVE_RANLIB ?= "${@d.getVar('BUILD_RANLIB').split()[0]}"
OECMAKE_NATIVE_NM ?= "${BUILD_NM}"
# Native compiler flags