mirror of
https://git.yoctoproject.org/meta-raspberrypi
synced 2026-01-12 03:10:08 +00:00
* the CMakeLists.txt recognizes only 2 values:
IF (NOT ENABLE_COMPILE_FLAGS_FOR_TARGET)
# On a Pi this will give us armhf or arm64.
execute_process(COMMAND dpkg-architecture -qDEB_HOST_ARCH
OUTPUT_VARIABLE ENABLE_COMPILE_FLAGS_FOR_TARGET OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
message(STATUS "Platform: ${ENABLE_COMPILE_FLAGS_FOR_TARGET}")
if ("${ENABLE_COMPILE_FLAGS_FOR_TARGET}" STREQUAL "arm64")
# 64-bit binaries can be fully optimised.
add_definitions(-ftree-vectorize)
elseif ("${ENABLE_COMPILE_FLAGS_FOR_TARGET}" STREQUAL "armv8-neon")
# Only build with 32-bit Pi 3/4 specific optimisations if requested on the command line.
add_definitions(-mfpu=neon-fp-armv8 -ftree-vectorize)
endif()
the value from dpkg-architecture on host is useless
when cross-compiling, so we always need to pass something
for raspberrypi4-64 we were passing "armv8-neon" which results in:
aarch64-oe-linux-g++: error: unrecognized command-line option '-mfpu=neon-fp-armv8'
as all -mfpu options are rejected in aarch64 builds, pass better
ENABLE_COMPILE_FLAGS_FOR_TARGET value for all MACHINEs
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>