Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preparation for zephyr/cmake/math transfer #8494

Merged
merged 4 commits into from
Nov 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions scripts/cmake/misc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@ macro(is_zephyr ret)
endif()
endmacro()

# This macro
# - saves a LOT of repetition, and
# - mimics Zephyr, which helps with compatibility.
macro(add_local_sources_ifdef condition target)
lgirdwood marked this conversation as resolved.
Show resolved Hide resolved
if(${condition})
add_local_sources(${target} ${ARGN})
endif()
endmacro()

# Adds sources to target like target_sources, but assumes that
# paths are relative to subdirectory.
# Works like:
Expand Down
38 changes: 11 additions & 27 deletions src/math/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,49 +11,33 @@ if(CONFIG_CORDIC_FIXED)
add_local_sources(sof trig.c)
endif()

if(CONFIG_SQRT_FIXED)
add_local_sources(sof sqrt_int16.c)
endif()
add_local_sources_ifdef(CONFIG_SQRT_FIXED sof sqrt_int16.c)

if(CONFIG_MATH_EXP)
add_local_sources(sof exp_fcn.c exp_fcn_hifi.c)
endif()
add_local_sources_ifdef(CONFIG_MATH_EXP sof exp_fcn.c exp_fcn_hifi.c)

if(CONFIG_MATH_DECIBELS)
add_local_sources(sof decibels.c)
endif()

if(CONFIG_NATURAL_LOGARITHM_FIXED)
add_local_sources(sof log_e.c)
endif()
add_local_sources_ifdef(CONFIG_NATURAL_LOGARITHM_FIXED sof log_e.c)

if(CONFIG_COMMON_LOGARITHM_FIXED)
add_local_sources(sof log_10.c)
endif()
add_local_sources_ifdef(CONFIG_COMMON_LOGARITHM_FIXED sof log_10.c)

if(CONFIG_POWER_FIXED)
add_local_sources(sof power.c)
endif()
add_local_sources_ifdef(CONFIG_POWER_FIXED sof power.c)

if(CONFIG_BINARY_LOGARITHM_FIXED)
add_local_sources(sof base2log.c)
endif()
add_local_sources_ifdef(CONFIG_BINARY_LOGARITHM_FIXED sof base2log.c)

if(CONFIG_MATH_FIR)
add_local_sources(sof fir_generic.c fir_hifi2ep.c fir_hifi3.c)
endif()
add_local_sources_ifdef(CONFIG_MATH_FIR sof fir_generic.c fir_hifi2ep.c fir_hifi3.c)

if(CONFIG_MATH_FFT)
add_subdirectory(fft)
endif()

if(CONFIG_MATH_IIR_DF2T)
add_local_sources(sof iir_df2t_generic.c iir_df2t_hifi3.c iir_df2t.c)
endif()
add_local_sources_ifdef(CONFIG_MATH_IIR_DF2T sof
iir_df2t_generic.c iir_df2t_hifi3.c iir_df2t.c)

if(CONFIG_MATH_IIR_DF1)
add_local_sources(sof iir_df1_generic.c iir_df1_hifi3.c iir_df1.c)
endif()
add_local_sources_ifdef(CONFIG_MATH_IIR_DF1 sof
iir_df1_generic.c iir_df1_hifi3.c iir_df1.c)

if(CONFIG_MATH_WINDOW)
add_local_sources(sof window.c)
Expand Down
8 changes: 2 additions & 6 deletions src/math/auditory/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

add_local_sources(sof auditory.c)

if(CONFIG_MATH_16BIT_MEL_FILTERBANK)
add_local_sources(sof mel_filterbank_16.c)
endif()
add_local_sources_ifdef(CONFIG_MATH_16BIT_MEL_FILTERBANK sof mel_filterbank_16.c)

if(CONFIG_MATH_32BIT_MEL_FILTERBANK)
add_local_sources(sof mel_filterbank_32.c)
endif()
add_local_sources_ifdef(CONFIG_MATH_32BIT_MEL_FILTERBANK sof mel_filterbank_32.c)
8 changes: 2 additions & 6 deletions src/math/fft/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

add_local_sources(sof fft_common.c)

if(CONFIG_MATH_16BIT_FFT)
add_local_sources(sof fft_16.c fft_16_hifi3.c)
endif()
add_local_sources_ifdef(CONFIG_MATH_16BIT_FFT sof fft_16.c fft_16_hifi3.c)

if(CONFIG_MATH_32BIT_FFT)
add_local_sources(sof fft_32.c fft_32_hifi3.c)
endif()
add_local_sources_ifdef(CONFIG_MATH_32BIT_FFT sof fft_32.c fft_32_hifi3.c)
16 changes: 4 additions & 12 deletions src/module/audio/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause

is_zephyr(it_is)
if(it_is) ### Zephyr ###
zephyr_library_sources(
source_api.c
sink_api.c
)
else() ### Not Zephyr ###
add_local_sources(sof
source_api.c
sink_api.c
)
endif() # Zephyr
add_local_sources(sof
source_api.c
sink_api.c
)
19 changes: 18 additions & 1 deletion zephyr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,17 @@ zephyr_interface_library_named(SOF)
# SOF source paths.
cmake_path(SET sof_top_dir NORMALIZE "${CMAKE_CURRENT_SOURCE_DIR}/..")
set(SOF_SRC_PATH "${sof_top_dir}/src")

set(SOF_PLATFORM_PATH "${SOF_SRC_PATH}/platform")
set(SOF_AUDIO_PATH "${SOF_SRC_PATH}/audio")
set(SOF_AUDIO_MODULES_PATH "${SOF_SRC_PATH}/audio/module_adapter/module")
set(SOF_SAMPLES_PATH "${SOF_SRC_PATH}/samples")
set(SOF_LIB_PATH "${SOF_SRC_PATH}/lib")
set(SOF_DRIVERS_PATH "${SOF_SRC_PATH}/drivers")
set(SOF_IPC_PATH "${SOF_SRC_PATH}/ipc")
set(SOF_DEBUG_PATH "${SOF_SRC_PATH}/debug")
set(SOF_MATH_PATH "${SOF_SRC_PATH}/math")
set(SOF_TRACE_PATH "${SOF_SRC_PATH}/trace")

set(RIMAGE_TOP ${sof_top_dir}/tools/rimage)

# Save path to rimage configuration files in cmake cache for later use by
Expand Down Expand Up @@ -127,6 +128,22 @@ macro(is_zephyr ret)
endif()
endmacro()

# Wrappers for compatibility and re-use of existing, XTOS CMake files.
# Do NOT use these macros in this file or in any other Zephyr-specific
# CMake code.
macro(add_local_sources target)
if (NOT "${target}" STREQUAL "sof")
message(FATAL_ERROR "add_local_sources() target is not 'sof'")
endif()
zephyr_library_sources(${ARGN})
endmacro()
macro(add_local_sources_ifdef condition target)
if (NOT "${target}" STREQUAL "sof")
message(FATAL_ERROR "add_local_sources_ifdef() target is not 'sof'")
endif()
zephyr_library_sources_ifdef(${condition} ${ARGN})
endmacro()

add_subdirectory(../src/init/ init_unused_install/)
add_subdirectory(../src/ipc/ ipc_unused_install/)

Expand Down