35 lines
1.1 KiB
CMake
35 lines
1.1 KiB
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# For Aarch64, multilib is not an actively pursued solution for most Linux
|
|
# distributions. Userspace is (generally) either 32-bit or 64-bit but not
|
|
# both.
|
|
|
|
# @Intent: Call a script to get userspace wordsize for comparison with CONFIG_64BIT
|
|
execute_process(
|
|
COMMAND
|
|
${PYTHON_EXECUTABLE}
|
|
${ZEPHYR_BASE}/scripts/user_wordsize.py
|
|
OUTPUT_VARIABLE
|
|
WORDSIZE
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
if (CONFIG_64BIT)
|
|
if (${WORDSIZE} STREQUAL "32")
|
|
message(FATAL_ERROR
|
|
"CONFIG_64BIT=y but this Aarch64 machine has a 32-bit userspace.\n"
|
|
"If you were targeting native_posix_64, target native_posix instead.\n"
|
|
"Otherwise, be sure to define CONFIG_64BIT appropriately.\n"
|
|
)
|
|
endif()
|
|
zephyr_compile_options(-fPIC)
|
|
else ()
|
|
if (${WORDSIZE} STREQUAL "64")
|
|
message(FATAL_ERROR
|
|
"CONFIG_64BIT=n but this Aarch64 machine has a 64-bit userspace.\n"
|
|
"If you were targeting native_posix, target native_posix_64 instead.\n"
|
|
"Otherwise, be sure to define CONFIG_64BIT appropriately.\n"
|
|
)
|
|
endif()
|
|
endif ()
|