cmake/zephyr: decentralize src/ipc/

Adding all source files in a single, giant zephyr/CMakeLists.txt is
inconvenient and does not scale.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This commit is contained in:
Marc Herbert 2023-10-31 06:48:28 +00:00 committed by Liam Girdwood
parent ef563ebfe3
commit 1bd9e0d2c7
4 changed files with 71 additions and 31 deletions

View File

@ -6,11 +6,33 @@ elseif (CONFIG_IPC_MAJOR_4)
add_subdirectory(ipc4)
endif()
add_local_sources(sof
set(base_files
ipc-common.c
ipc-helper.c
)
is_zephyr(it_is)
if(it_is) ### Zephyr ###
zephyr_library_sources(
${base_files}
dma-copy.c
)
if (CONFIG_SOC_SERIES_INTEL_CAVS_V25 OR CONFIG_SOC_SERIES_INTEL_ACE)
zephyr_library_sources(
ipc-zephyr.c
)
endif()
else() ### Not Zephyr ###
add_local_sources(sof
${base_files}
)
if (CONFIG_TRACE)
add_local_sources(sof
dma-copy.c)
@ -19,3 +41,6 @@ endif()
if (CONFIG_LIBRARY)
return()
endif()
endif() # Zephyr

View File

@ -1,12 +1,28 @@
# SPDX-License-Identifier: BSD-3-Clause
add_local_sources(sof
set(common_files
handler.c
helper.c
dai.c
)
is_zephyr(it_is)
if(it_is) ### Zephyr ###
zephyr_library_sources(
${common_files}
host-page-table.c
)
else() ### Not Zephyr ###
add_local_sources(sof
${common_files}
)
if (CONFIG_HOST_PTABLE)
add_local_sources(sof
host-page-table.c)
endif()
endif()
endif() # Zephyr

View File

@ -1,12 +1,36 @@
# SPDX-License-Identifier: BSD-3-Clause
add_local_sources(sof
set(common_files
dai.c
handler.c
helper.c
logging.c
notification.c
)
is_zephyr(it_is)
if(it_is) ### Zephyr ###
zephyr_library_sources(
${common_files}
)
zephyr_library_sources_ifdef(CONFIG_AMS
ams_helpers.c
)
else() ### Not Zephyr ####
add_local_sources(sof
${common_files}
ams_helpers.c
)
target_include_directories(sof_options INTERFACE ${RIMAGE_TOP}/src/include)
endif() # Zephyr

View File

@ -128,6 +128,8 @@ macro(is_zephyr ret)
endmacro()
add_subdirectory(../src/init/ init_unused_install/)
add_subdirectory(../src/ipc/ ipc_unused_install/)
# Old way below: all .c files added by this giant CMake file.
@ -136,10 +138,6 @@ add_subdirectory(../src/init/ init_unused_install/)
if (CONFIG_SOC_SERIES_INTEL_CAVS_V25)
# Driver sources
zephyr_library_sources(
${SOF_IPC_PATH}/ipc-zephyr.c
)
zephyr_library_sources_ifdef(CONFIG_INTEL_HDA
${SOF_DRIVERS_PATH}/intel/hda/hda-dma.c
)
@ -165,11 +163,6 @@ endif()
# Intel ACE 1.5 and newer platforms
if (CONFIG_SOC_SERIES_INTEL_ACE)
# Driver sources
zephyr_library_sources(
${SOF_IPC_PATH}/ipc-zephyr.c
)
# Platform sources
zephyr_library_sources(
${SOF_PLATFORM_PATH}/intel/ace/platform.c
@ -355,9 +348,6 @@ zephyr_include_directories(${SOF_PLATFORM_PATH}/${PLATFORM}/include)
# Mandatory Files used on all platforms.
# Commented files will be added/removed as integration dictates.
zephyr_library_sources(
${SOF_IPC_PATH}/dma-copy.c
${SOF_IPC_PATH}/ipc-common.c
${SOF_IPC_PATH}/ipc-helper.c
# SOF math utilities
${SOF_MATH_PATH}/decibels.c
@ -436,20 +426,6 @@ else()
)
endif()
zephyr_library_sources_ifdef(CONFIG_IPC_MAJOR_3
${SOF_IPC_PATH}/ipc3/handler.c
${SOF_IPC_PATH}/ipc3/helper.c
${SOF_IPC_PATH}/ipc3/dai.c
${SOF_IPC_PATH}/ipc3/host-page-table.c
)
zephyr_library_sources_ifdef(CONFIG_IPC_MAJOR_4
${SOF_IPC_PATH}/ipc4/handler.c
${SOF_IPC_PATH}/ipc4/helper.c
${SOF_IPC_PATH}/ipc4/dai.c
${SOF_IPC_PATH}/ipc4/logging.c
${SOF_IPC_PATH}/ipc4/notification.c
)
zephyr_library_sources_ifdef(CONFIG_TRACE
${SOF_SRC_PATH}/trace/dma-trace.c
@ -802,7 +778,6 @@ zephyr_library_sources_ifdef(CONFIG_HAVE_AGENT
zephyr_library_sources_ifdef(CONFIG_AMS
${SOF_LIB_PATH}/ams.c
${SOF_IPC_PATH}/ipc4/ams_helpers.c
)
zephyr_library_sources_ifdef(CONFIG_GDB_DEBUG