Skip to content

Commit 970e7ae

Browse files
committed
cmake/zephyr: decentralize src/math/
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Align new cmake files with: https://docs.zephyrproject.org/latest/contribute/style/cmake.html Link: #8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
1 parent 5b54fa7 commit 970e7ae

File tree

4 files changed

+97
-59
lines changed

4 files changed

+97
-59
lines changed

src/math/CMakeLists.txt

Lines changed: 56 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,92 @@
11
# SPDX-License-Identifier: BSD-3-Clause
22

33
if(BUILD_LIBRARY)
4-
add_local_sources(sof numbers.c)
5-
return()
4+
add_local_sources(sof numbers.c)
5+
return()
66
endif()
77

8-
add_local_sources(sof numbers.c)
8+
set(base_files numbers.c)
99

1010
if(CONFIG_CORDIC_FIXED)
11-
add_local_sources(sof trig.c)
11+
list(APPEND base_files trig.c)
1212
endif()
1313

14-
add_local_sources_ifdef(CONFIG_MATH_LUT_SINE_FIXED sof lut_trig.c)
14+
if(CONFIG_MATH_LUT_SINE_FIXED)
15+
list(APPEND base_files lut_trig.c)
16+
endif()
1517

16-
add_local_sources_ifdef(CONFIG_SQRT_FIXED sof sqrt_int16.c)
18+
if(CONFIG_SQRT_FIXED)
19+
list(APPEND base_files sqrt_int16.c)
20+
endif()
1721

18-
add_local_sources_ifdef(CONFIG_MATH_EXP sof exp_fcn.c exp_fcn_hifi.c)
22+
if(CONFIG_MATH_EXP)
23+
list(APPEND base_files exp_fcn.c exp_fcn_hifi.c)
24+
endif()
1925

2026
if(CONFIG_MATH_DECIBELS)
21-
add_local_sources(sof decibels.c)
27+
list(APPEND base_files decibels.c)
2228
endif()
2329

24-
add_local_sources_ifdef(CONFIG_NATURAL_LOGARITHM_FIXED sof log_e.c)
30+
if(CONFIG_NATURAL_LOGARITHM_FIXED)
31+
list(APPEND base_files log_e.c)
32+
endif()
2533

26-
add_local_sources_ifdef(CONFIG_COMMON_LOGARITHM_FIXED sof log_10.c)
34+
if(CONFIG_COMMON_LOGARITHM_FIXED)
35+
list(APPEND base_files log_10.c)
36+
endif()
2737

28-
add_local_sources_ifdef(CONFIG_POWER_FIXED sof power.c)
38+
if(CONFIG_POWER_FIXED)
39+
list(APPEND base_files power.c)
40+
endif()
2941

30-
add_local_sources_ifdef(CONFIG_BINARY_LOGARITHM_FIXED sof base2log.c)
42+
if(CONFIG_BINARY_LOGARITHM_FIXED)
43+
list(APPEND base_files base2log.c)
44+
endif()
3145

32-
add_local_sources_ifdef(CONFIG_MATH_FIR sof fir_generic.c fir_hifi2ep.c fir_hifi3.c fir_hifi5.c)
46+
if(CONFIG_MATH_FIR STREQUAL "m")
47+
add_subdirectory(fir_llext ${PROJECT_BINARY_DIR}/fir_llext)
48+
add_dependencies(app fir)
49+
elseif(CONFIG_MATH_FIR)
50+
list(APPEND base_files fir_generic.c fir_hifi2ep.c fir_hifi3.c fir_hifi5.c)
51+
endif()
3352

3453
if(CONFIG_MATH_FFT)
35-
add_subdirectory(fft)
54+
add_subdirectory(fft)
3655
endif()
3756

38-
add_local_sources_ifdef(CONFIG_MATH_IIR_DF2T sof
39-
iir_df2t_generic.c iir_df2t_hifi3.c iir_df2t.c)
57+
if(CONFIG_MATH_IIR_DF2T)
58+
list(APPEND base_files iir_df2t_generic.c iir_df2t_hifi3.c iir_df2t.c)
59+
endif()
4060

41-
add_local_sources_ifdef(CONFIG_MATH_IIR_DF1 sof
42-
iir_df1_generic.c iir_df1_hifi3.c iir_df1_hifi4.c iir_df1_hifi5.c iir_df1.c)
61+
if(CONFIG_MATH_IIR_DF1)
62+
list(APPEND base_files iir_df1_generic.c iir_df1_hifi3.c iir_df1_hifi4.c iir_df1_hifi5.c iir_df1.c)
63+
endif()
4364

4465
if(CONFIG_MATH_WINDOW)
45-
add_local_sources(sof window.c)
66+
list(APPEND base_files window.c)
4667
endif()
4768

4869
if(CONFIG_MATH_MATRIX)
49-
add_local_sources(sof matrix.c)
70+
list(APPEND base_files matrix.c)
5071
endif()
5172

5273
if(CONFIG_MATH_AUDITORY)
53-
add_subdirectory(auditory)
74+
add_subdirectory(auditory)
5475
endif()
5576

5677
if(CONFIG_MATH_DCT)
57-
add_local_sources(sof dct.c)
78+
list(APPEND base_files dct.c)
79+
endif()
80+
81+
is_zephyr(it_is)
82+
if(it_is) ### Zephyr ###
83+
84+
zephyr_library_sources(
85+
${base_files}
86+
)
87+
88+
else() ### XTOS ###
89+
90+
add_local_sources(sof ${base_files})
91+
5892
endif()

src/math/auditory/CMakeLists.txt

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,24 @@
11
# SPDX-License-Identifier: BSD-3-Clause
22

3-
add_local_sources(sof auditory.c)
3+
set(base_files auditory.c)
44

5-
add_local_sources_ifdef(CONFIG_MATH_16BIT_MEL_FILTERBANK sof mel_filterbank_16.c)
5+
if(CONFIG_MATH_16BIT_MEL_FILTERBANK)
6+
list(APPEND base_files mel_filterbank_16.c)
7+
endif()
68

7-
add_local_sources_ifdef(CONFIG_MATH_32BIT_MEL_FILTERBANK sof mel_filterbank_32.c)
9+
if(CONFIG_MATH_32BIT_MEL_FILTERBANK)
10+
list(APPEND base_files mel_filterbank_32.c)
11+
endif()
12+
13+
is_zephyr(it_is)
14+
if(it_is) ### Zephyr ###
15+
16+
zephyr_library_sources(
17+
${base_files}
18+
)
19+
20+
else() ### XTOS ###
21+
22+
add_local_sources(sof ${base_files})
23+
24+
endif()

src/math/fft/CMakeLists.txt

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,24 @@
11
# SPDX-License-Identifier: BSD-3-Clause
22

3-
add_local_sources(sof fft_common.c)
3+
set(base_files fft_common.c)
44

5-
add_local_sources_ifdef(CONFIG_MATH_16BIT_FFT sof fft_16.c fft_16_hifi3.c)
5+
if(CONFIG_MATH_16BIT_FFT)
6+
list(APPEND base_files fft_16.c fft_16_hifi3.c)
7+
endif()
68

7-
add_local_sources_ifdef(CONFIG_MATH_32BIT_FFT sof fft_32.c fft_32_hifi3.c)
9+
if(CONFIG_MATH_32BIT_FFT)
10+
list(APPEND base_files fft_32.c fft_32_hifi3.c)
11+
endif()
12+
13+
is_zephyr(it_is)
14+
if(it_is) ### Zephyr ###
15+
16+
zephyr_library_sources(
17+
${base_files}
18+
)
19+
20+
else() ### XTOS ###
21+
22+
add_local_sources(sof ${base_files})
23+
24+
endif()

zephyr/CMakeLists.txt

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ set(SOF_SAMPLES_PATH "${SOF_SRC_PATH}/samples")
140140
set(SOF_LIB_PATH "${SOF_SRC_PATH}/lib")
141141
set(SOF_DRIVERS_PATH "${SOF_SRC_PATH}/drivers")
142142
set(SOF_DEBUG_PATH "${SOF_SRC_PATH}/debug")
143-
set(SOF_MATH_PATH "${SOF_SRC_PATH}/math")
144143
set(SOF_TRACE_PATH "${SOF_SRC_PATH}/trace")
145144

146145
set(RIMAGE_TOP ${sof_top_dir}/tools/rimage)
@@ -204,6 +203,7 @@ add_subdirectory(../src/ipc/ ipc_unused_install/)
204203
add_subdirectory(../src/debug/telemetry/ telemetry_unused_install/)
205204
add_subdirectory(../src/debug/debug_stream/ debug_stream_unused_install/)
206205
add_subdirectory(../src/debug/tester/ debug_tester_unused_install/)
206+
add_subdirectory(../src/math/ math_unused_install/)
207207
add_subdirectory(../src/schedule/ schedule_unused_install/)
208208
add_subdirectory(test/)
209209

@@ -450,13 +450,6 @@ zephyr_include_directories(${SOF_PLATFORM_PATH}/${PLATFORM}/include)
450450
# Commented files will be added/removed as integration dictates.
451451
zephyr_library_sources(
452452

453-
# SOF math utilities
454-
${SOF_MATH_PATH}/decibels.c
455-
${SOF_MATH_PATH}/numbers.c
456-
${SOF_MATH_PATH}/trig.c
457-
${SOF_MATH_PATH}/exp_fcn.c
458-
${SOF_MATH_PATH}/exp_fcn_hifi.c
459-
460453
# SOF library - parts to transition to Zephyr over time
461454
${SOF_LIB_PATH}/notifier.c
462455
${SOF_LIB_PATH}/dma.c
@@ -569,20 +562,6 @@ elseif(CONFIG_COMP_IIR)
569562
)
570563
endif()
571564

572-
zephyr_library_sources_ifdef(CONFIG_MATH_IIR_DF1
573-
${SOF_MATH_PATH}/iir_df1_generic.c
574-
${SOF_MATH_PATH}/iir_df1_hifi3.c
575-
${SOF_MATH_PATH}/iir_df1_hifi4.c
576-
${SOF_MATH_PATH}/iir_df1_hifi5.c
577-
${SOF_MATH_PATH}/iir_df1.c
578-
)
579-
580-
zephyr_library_sources_ifdef(CONFIG_MATH_IIR_DF2T
581-
${SOF_MATH_PATH}/iir_df2t_generic.c
582-
${SOF_MATH_PATH}/iir_df2t_hifi3.c
583-
${SOF_MATH_PATH}/iir_df2t.c
584-
)
585-
586565
if(CONFIG_COMP_ASRC STREQUAL "m")
587566
add_subdirectory(${SOF_AUDIO_PATH}/asrc/llext
588567
${PROJECT_BINARY_DIR}/asrc_llext)
@@ -970,15 +949,6 @@ elseif(CONFIG_COMP_TDFB)
970949
)
971950
endif()
972951

973-
zephyr_library_sources_ifdef(CONFIG_SQRT_FIXED
974-
${SOF_MATH_PATH}/sqrt_int16.c
975-
)
976-
977-
zephyr_library_sources_ifdef(CONFIG_MATH_EXP
978-
${SOF_MATH_PATH}/exp_fcn.c
979-
${SOF_MATH_PATH}/exp_fcn_hifi.c
980-
)
981-
982952
zephyr_library_sources_ifdef(CONFIG_COMP_UP_DOWN_MIXER
983953
${SOF_AUDIO_PATH}/up_down_mixer/up_down_mixer.c
984954
${SOF_AUDIO_PATH}/up_down_mixer/up_down_mixer_hifi3.c

0 commit comments

Comments
 (0)