You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
34 lines
1.1 KiB
# 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/build/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_sim/native/64, target native_sim 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_sim, target native_sim/native/64 instead.\n" |
|
"Otherwise, be sure to define CONFIG_64BIT appropriately.\n" |
|
) |
|
endif() |
|
endif ()
|
|
|