# SPDX-License-Identifier: Apache-2.0 zephyr_syscall_header( ${ZEPHYR_BASE}/include/zephyr/logging/log_msg.h ${ZEPHYR_BASE}/include/zephyr/logging/log_ctrl.h ) if(NOT CONFIG_LOG_MODE_MINIMAL) zephyr_sources_ifdef( CONFIG_LOG log_core.c log_mgmt.c log_cache.c log_msg.c ) zephyr_sources_ifdef( CONFIG_LOG_OUTPUT log_output.c ) # Determine if __auto_type is supported. If not then runtime approach must always # be used. # Supported by: # - C++ (auto) # - GCC 4.9.0 https://gcc.gnu.org/gcc-4.9/changes.html # - Clang 3.8 if (NOT CONFIG_LOG_ALWAYS_RUNTIME) if(CMAKE_C_COMPILER_ID STREQUAL "Clang") if(CMAKE_C_COMPILER_VERSION VERSION_LESS "3.8.0") message(WARNING "Compiler version requires CONFIG_LOG_ALWAYS_RUNTIME to be set") endif() endif() if(CMAKE_C_COMPILER_ID STREQUAL "GNU") if(CMAKE_C_COMPILER_VERSION VERSION_LESS "4.9.0") message(WARNING "Compiler version requires CONFIG_LOG_ALWAYS_RUNTIME to be set") endif() endif() endif() zephyr_sources_ifdef( CONFIG_LOG_CMDS log_cmds.c ) zephyr_sources_ifdef( CONFIG_LOG_DICTIONARY_SUPPORT log_output_dict.c ) add_subdirectory(backends) add_subdirectory(frontends) # For some reason, running sys-t with catalog message on # Cortex-M0 would result in hard fault in mipi_catalog_formatter() # if this is complied before the backends (only with SIZE # optimization). Workaround the issue by placing it here instead # as this is causing CI failures. Actual root-cause is TBD. zephyr_sources_ifdef( CONFIG_LOG_MIPI_SYST_ENABLE log_output_syst.c ) if(CONFIG_LOG_CUSTOM_FORMAT_SUPPORT OR CONFIG_LOG_OUTPUT_FORMAT_CUSTOM_TIMESTAMP) zephyr_sources(log_output_custom.c) endif() zephyr_sources_ifdef( CONFIG_LOG_MULTIDOMAIN_LINK log_multidomain_link.c ) zephyr_sources_ifdef( CONFIG_LOG_LINK_IPC_SERVICE log_link_ipc_service.c ) else() zephyr_sources(log_minimal.c) endif()