cmake/zephyr: src/audio/CMakeLists.txt unification part 2#9912
cmake/zephyr: src/audio/CMakeLists.txt unification part 2#9912kv2019i merged 17 commits intothesofproject:mainfrom
Conversation
lyakh
left a comment
There was a problem hiding this comment.
Using return()s could reduce some patches a bit, but not too important
| kpb.c | ||
| ) | ||
| endif() | ||
| if(CONFIG_COMP_MIXER) |
There was a problem hiding this comment.
(a general comment to an earlier discussion) I think optically I actually prefer TAB over "two spaces" indentation. And cmake shouldn't really go beyond 3 levels of indentation... So 8-space TABs shouldn't exceed maximum line length
There was a problem hiding this comment.
@lyakh I'll redirect to https://github.com/orgs/thesofproject/discussions/9899 and note that even the "Mastering CMake" O'Reily book follows the 2-space indent ;)
| add_local_sources(sof tdfb_ipc4.c) | ||
| if(CONFIG_COMP_TDFB STREQUAL "m") | ||
| add_subdirectory(llext ${PROJECT_BINARY_DIR}/tdfb_llext) | ||
| add_dependencies(app tdfb) |
There was a problem hiding this comment.
why not return() as in others?
There was a problem hiding this comment.
@lyakh Ack, this might have been a return() case. I've used two approaches to convert src/audio/foo/ build rules:
-
if-else if the non-llext code had a single or two statements, or I anyways needed to touch the existing non-llext code.
-
use return() f there was more logic in the CMakeLists.txt for the module that I did not need to touch.
I think this might have been better as a (2) case.
Split the build directory listing into two. First introduce directories that add auxiliary modules to the build. These directories provide modules that may be used by other modules. Then a second list for all other directories. This split avoids dependency issues with llext modules that require auxiliary modules to be introduced first. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/mixer instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/mixin_mixout/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/copier/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/volume/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio for base_fw and chain_dma modules. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/pcm_converter/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Add inline comments to explain how the build rules are organized and ordered in the file. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/aria/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/crossover/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/drc/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/tdbf/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/up_down_mixer/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/mux/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/multiband_drc/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is inconvenient and does not scale. Modify Zephyr rules to use definitions in src/audio/mfcc/ instead. Link: thesofproject#8260 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
b3e12a0 to
47a7b81
Compare
|
New version pushed:
|
|
Stub error are due to Zephyr upstream bug zephyrproject-rtos/zephyr#87475 . PTL alsabat fail is known and tracked in https://github.com/thesofproject/sof/issues?q=is%3Aissue+is%3Aopen+label%3A%22Known+PR+Failures%22+ . Proceeding with merge. |
Follow-up to #9906
This now converts all the remaining "simple cases" in src/audio.
I will submit separate PRs for remaining cases with added logic to handle stubs and 3p library integration. Also module_adapter will be a separate PR.
Link: #8260