From e3cd6fc1c2813852e2b299db4f45b212ea70b91e Mon Sep 17 00:00:00 2001 From: Luca Burelli Date: Tue, 6 Aug 2024 17:27:24 +0200 Subject: [PATCH] llext-edk: fix: add compile definitions to the generated EDK The LLEXT EDK was not exporting common Zephyr compile definitions ("-Dxxx" flags). This patch adds the compile definitions before the other compile flags, as it is done in the Zephyr build system. This patch also adds to this list the "-DLL_EXTENSION_BUILD" flag, instead of providing a special case at a later stage. Signed-off-by: Luca Burelli --- CMakeLists.txt | 7 +++++-- cmake/llext-edk.cmake | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 586d7c8eb08..dfd1b4f75da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2133,12 +2133,15 @@ endif() set(llext_edk_file ${PROJECT_BINARY_DIR}/${CONFIG_LLEXT_EDK_NAME}.tar.xz) # TODO maybe generate flags for C CXX ASM +zephyr_get_compile_definitions_for_lang(C zephyr_defs) zephyr_get_compile_options_for_lang(C zephyr_flags) # Filter out non LLEXT and LLEXT_EDK flags - and add required ones -llext_filter_zephyr_flags(LLEXT_REMOVE_FLAGS ${zephyr_flags} llext_edk_cflags) -llext_filter_zephyr_flags(LLEXT_EDK_REMOVE_FLAGS ${llext_edk_cflags} llext_edk_cflags) +llext_filter_zephyr_flags(LLEXT_REMOVE_FLAGS ${zephyr_flags} llext_filt_flags) +llext_filter_zephyr_flags(LLEXT_EDK_REMOVE_FLAGS ${llext_filt_flags} llext_filt_flags) +set(llext_edk_cflags ${zephyr_defs} -DLL_EXTENSION_BUILD) +list(APPEND llext_edk_cflags ${llext_filt_flags}) list(APPEND llext_edk_cflags ${LLEXT_APPEND_FLAGS}) list(APPEND llext_edk_cflags ${LLEXT_EDK_APPEND_FLAGS}) diff --git a/cmake/llext-edk.cmake b/cmake/llext-edk.cmake index 24ea41fa143..e78498c7845 100644 --- a/cmake/llext-edk.cmake +++ b/cmake/llext-edk.cmake @@ -118,8 +118,8 @@ foreach(flag ${llext_edk_cflags}) endforeach() set(llext_edk_cflags ${new_cflags}) -list(APPEND base_flags_make ${llext_edk_cflags} ${imacros_make} -DLL_EXTENSION_BUILD) -list(APPEND base_flags_cmake ${llext_edk_cflags} ${imacros_cmake} -DLL_EXTENSION_BUILD) +list(APPEND base_flags_make ${llext_edk_cflags} ${imacros_make}) +list(APPEND base_flags_cmake ${llext_edk_cflags} ${imacros_cmake}) separate_arguments(include_dirs NATIVE_COMMAND ${INTERFACE_INCLUDE_DIRECTORIES}) file(MAKE_DIRECTORY ${llext_edk_inc})