Skip to content

Commit fe2b5dc

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 b27d4d3 commit fe2b5dc

File tree

4 files changed

+97
-123
lines changed

4 files changed

+97
-123
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 & 95 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
@@ -502,57 +495,6 @@ zephyr_library_sources_ifdef(CONFIG_KCPS_DYNAMIC_CLOCK_CONTROL
502495
${SOF_LIB_PATH}/cpu-clk-manager.c
503496
)
504497

505-
# Optional math utility
506-
zephyr_library_sources_ifdef(CONFIG_MATH_LUT_SINE_FIXED
507-
${SOF_MATH_PATH}/lut_trig.c
508-
)
509-
510-
zephyr_library_sources_ifdef(CONFIG_MATH_FFT
511-
${SOF_MATH_PATH}/fft/fft_common.c
512-
)
513-
514-
zephyr_library_sources_ifdef(CONFIG_MATH_16BIT_FFT
515-
${SOF_MATH_PATH}/fft/fft_16.c
516-
${SOF_MATH_PATH}/fft/fft_16_hifi3.c
517-
)
518-
519-
zephyr_library_sources_ifdef(ONFIG_MATH_32BIT_FFT
520-
${SOF_MATH_PATH}/fft/fft_32.c
521-
${SOF_MATH_PATH}/fft/fft_32_hifi3.c
522-
)
523-
524-
zephyr_library_sources_ifdef(CONFIG_MATH_DCT
525-
${SOF_MATH_PATH}/dct.c
526-
)
527-
528-
zephyr_library_sources_ifdef(CONFIG_MATH_WINDOW
529-
${SOF_MATH_PATH}/window.c
530-
)
531-
532-
zephyr_library_sources_ifdef(CONFIG_MATH_MATRIX
533-
${SOF_MATH_PATH}/matrix.c
534-
)
535-
536-
zephyr_library_sources_ifdef(CONFIG_MATH_AUDITORY
537-
${SOF_MATH_PATH}/auditory/auditory.c
538-
)
539-
540-
zephyr_library_sources_ifdef(CONFIG_MATH_16BIT_MEL_FILTERBANK
541-
${SOF_MATH_PATH}/auditory/mel_filterbank_16.c
542-
)
543-
544-
zephyr_library_sources_ifdef(CONFIG_MATH_32BIT_MEL_FILTERBANK
545-
${SOF_MATH_PATH}/auditory/mel_filterbank_32.c
546-
)
547-
548-
zephyr_library_sources_ifdef(CONFIG_NATURAL_LOGARITHM_FIXED
549-
${SOF_MATH_PATH}/log_e.c
550-
)
551-
552-
zephyr_library_sources_ifdef(CONFIG_BINARY_LOGARITHM_FIXED
553-
${SOF_MATH_PATH}/base2log.c
554-
)
555-
556498
# SOF module interface functions
557499
add_subdirectory(../src/module module_unused_install/)
558500

@@ -620,33 +562,6 @@ elseif(CONFIG_COMP_IIR)
620562
)
621563
endif()
622564

623-
if(CONFIG_MATH_FIR STREQUAL "m")
624-
add_subdirectory(${SOF_MATH_PATH}/fir_llext
625-
${PROJECT_BINARY_DIR}/fir_llext)
626-
add_dependencies(app fir)
627-
elseif(CONFIG_MATH_FIR)
628-
zephyr_library_sources(
629-
${SOF_MATH_PATH}/fir_generic.c
630-
${SOF_MATH_PATH}/fir_hifi2ep.c
631-
${SOF_MATH_PATH}/fir_hifi3.c
632-
${SOF_MATH_PATH}/fir_hifi5.c
633-
)
634-
endif()
635-
636-
zephyr_library_sources_ifdef(CONFIG_MATH_IIR_DF1
637-
${SOF_MATH_PATH}/iir_df1_generic.c
638-
${SOF_MATH_PATH}/iir_df1_hifi3.c
639-
${SOF_MATH_PATH}/iir_df1_hifi4.c
640-
${SOF_MATH_PATH}/iir_df1_hifi5.c
641-
${SOF_MATH_PATH}/iir_df1.c
642-
)
643-
644-
zephyr_library_sources_ifdef(CONFIG_MATH_IIR_DF2T
645-
${SOF_MATH_PATH}/iir_df2t_generic.c
646-
${SOF_MATH_PATH}/iir_df2t_hifi3.c
647-
${SOF_MATH_PATH}/iir_df2t.c
648-
)
649-
650565
if(CONFIG_COMP_ASRC STREQUAL "m")
651566
add_subdirectory(${SOF_AUDIO_PATH}/asrc/llext
652567
${PROJECT_BINARY_DIR}/asrc_llext)
@@ -1034,15 +949,6 @@ elseif(CONFIG_COMP_TDFB)
1034949
)
1035950
endif()
1036951

1037-
zephyr_library_sources_ifdef(CONFIG_SQRT_FIXED
1038-
${SOF_MATH_PATH}/sqrt_int16.c
1039-
)
1040-
1041-
zephyr_library_sources_ifdef(CONFIG_MATH_EXP
1042-
${SOF_MATH_PATH}/exp_fcn.c
1043-
${SOF_MATH_PATH}/exp_fcn_hifi.c
1044-
)
1045-
1046952
zephyr_library_sources_ifdef(CONFIG_COMP_UP_DOWN_MIXER
1047953
${SOF_AUDIO_PATH}/up_down_mixer/up_down_mixer.c
1048954
${SOF_AUDIO_PATH}/up_down_mixer/up_down_mixer_hifi3.c

0 commit comments

Comments
 (0)