-
Notifications
You must be signed in to change notification settings - Fork 330
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
cmake/zephyr: src/audio/CMakeLists.txt unification part 2 #9912
cmake/zephyr: src/audio/CMakeLists.txt unification part 2 #9912
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using return()
s could reduce some patches a bit, but not too important
@@ -31,6 +31,9 @@ if(NOT CONFIG_COMP_MODULE_SHARED_LIBRARY_BUILD) | |||
kpb.c | |||
) | |||
endif() | |||
if(CONFIG_COMP_MIXER) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not return()
as in others?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Add inline comments to explain how the build rules are organized and ordered in the file. Signed-off-by: Kai Vehmanen <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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