-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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: Many libraries causes noise in IDE's #8826
Comments
As example, as working on #8441 and creating the PR #8451 which reduces the number of libs to ease removal of --whole-archive and remove the need for --start-group / --end-group, the following reduction is also seen in Eclipse. The red encirclements marks the reduced libraries, and the blue encirclements mark libs that could also be reduced, thus creating a nicer structure. |
Fixes: zephyrproject-rtos#8441 This commit merges the multiple sub libraries under soc_arm and arch_arm, e.g. arch_arm_Y_Z into a single arch_arm libraries. It also moves arch related stray files from libzephyr.a and places them inside the arch_${ARCH} and soc_${ARCH} library, see zephyrproject-rtos#8826. Signed-off-by: Torsten Rasmussen <torsten.rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#8441 This commit merges the multiple sub libraries under soc_arc and arch_arc, e.g. arch_arc_Y_Z into a single arch_arc libraries. It also moves arch related stray files from libzephyr.a and places them inside the soc_${ARCH} and arch_${ARCH} library, see zephyrproject-rtos#8826. Signed-off-by: Torsten Rasmussen <torsten.rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#8441 This commit merges the multiple sub libraries under soc_nios2 and arch_nios2, e.g. arch_nios2_Y_Z into a single arch_nios2 libraries. It also moves arch related stray files from libzephyr.a and places them inside the arch_${ARCH} library, see zephyrproject-rtos#8826. Signed-off-by: Torsten Rasmussen <torsten.rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#8441 This commit merges the multiple sub libraries under soc_posix and arch_posix, e.g. arch_posix_Y_Z into a single arch_posix libraries. It also moves arch related stray files from libzephyr.a and places them inside the arch_${ARCH} library, see zephyrproject-rtos#8826. Signed-off-by: Torsten Rasmussen <torsten.rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#8441 This commit merges the multiple sub libraries under soc_riscv32 and arch_riscv32, e.g. arch_riscv32_Y_Z into a single arch_riscv32 libraries. It also moves arch related stray files from libzephyr.a and places them inside the arch_${ARCH} library, see zephyrproject-rtos#8826. Signed-off-by: Torsten Rasmussen <torsten.rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#8441 This commit merges the multiple sub libraries under soc_xtense and arch_xtensa, e.g. arch_xtensa_Y_Z into a single arch_xtensa libraries. It also moves arch related stray files from libzephyr.a and places them inside the arch_${ARCH} library, see zephyrproject-rtos#8826. Signed-off-by: Torsten Rasmussen <torsten.rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#8441 This commit merges the multiple sub libraries under soc_x86 and arch_x86, e.g. arch_x86_Y_Z into a single arch_x86 libraries. It also moves arch related stray files from libzephyr.a and places them inside the arch_${ARCH} library, see zephyrproject-rtos#8826. Signed-off-by: Torsten Rasmussen <torsten.rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#38403 The two eth_native_posix.c and eth_native_posix_adapt.c are now added to the common drivers__ethernet Zephyr library. Instead of creating a dedicated library for just two files those files are now added to the common ethernet library, see also zephyrproject-rtos#8826. Instead, the dedicated compile definitions required for those files are specified using COMPILE_DEFINITIONS on the source files. This also avoids the following warning as the ethernet library is no longer empty. > No SOURCES given to Zephyr library: drivers__ethernet > > Excluding target from build. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#38403 The two eth_native_posix.c and eth_native_posix_adapt.c are now added to the common drivers__ethernet Zephyr library. Instead of creating a dedicated library for just two files those files are now added to the common ethernet library, see also zephyrproject-rtos#8826. Instead, the dedicated compile definitions required for those files are specified using COMPILE_DEFINITIONS on the source files. This also avoids the following warning as the ethernet library is no longer empty. > No SOURCES given to Zephyr library: drivers__ethernet > > Excluding target from build. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#38403 The two eth_native_posix.c and eth_native_posix_adapt.c are now added to the common drivers__ethernet Zephyr library. Instead of creating a dedicated library for just two files those files are now added to the common ethernet library, see also zephyrproject-rtos#8826. Instead, the dedicated compile definitions required for those files are specified using COMPILE_DEFINITIONS on the source files. This also avoids the following warning as the ethernet library is no longer empty. > No SOURCES given to Zephyr library: drivers__ethernet > > Excluding target from build. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#38403 The two eth_native_posix.c and eth_native_posix_adapt.c are now added to the common drivers__ethernet Zephyr library. Instead of creating a dedicated library for just two files those files are now added to the common ethernet library, see also zephyrproject-rtos#8826. Instead, the dedicated compile definitions required for those files are specified using COMPILE_DEFINITIONS on the source files. This also avoids the following warning as the ethernet library is no longer empty. > No SOURCES given to Zephyr library: drivers__ethernet > > Excluding target from build. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: #38403 The two eth_native_posix.c and eth_native_posix_adapt.c are now added to the common drivers__ethernet Zephyr library. Instead of creating a dedicated library for just two files those files are now added to the common ethernet library, see also #8826. Instead, the dedicated compile definitions required for those files are specified using COMPILE_DEFINITIONS on the source files. This also avoids the following warning as the ethernet library is no longer empty. > No SOURCES given to Zephyr library: drivers__ethernet > > Excluding target from build. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: #38403 The two eth_native_posix.c and eth_native_posix_adapt.c are now added to the common drivers__ethernet Zephyr library. Instead of creating a dedicated library for just two files those files are now added to the common ethernet library, see also #8826. Instead, the dedicated compile definitions required for those files are specified using COMPILE_DEFINITIONS on the source files. This also avoids the following warning as the ethernet library is no longer empty. > No SOURCES given to Zephyr library: drivers__ethernet > > Excluding target from build. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: #38403 The two eth_native_posix.c and eth_native_posix_adapt.c are now added to the common drivers__ethernet Zephyr library. Instead of creating a dedicated library for just two files those files are now added to the common ethernet library, see also #8826. Instead, the dedicated compile definitions required for those files are specified using COMPILE_DEFINITIONS on the source files. This also avoids the following warning as the ethernet library is no longer empty. > No SOURCES given to Zephyr library: drivers__ethernet > > Excluding target from build. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Fixes: zephyrproject-rtos#38403 The two eth_native_posix.c and eth_native_posix_adapt.c are now added to the common drivers__ethernet Zephyr library. Instead of creating a dedicated library for just two files those files are now added to the common ethernet library, see also zephyrproject-rtos#8826. Instead, the dedicated compile definitions required for those files are specified using COMPILE_DEFINITIONS on the source files. This also avoids the following warning as the ethernet library is no longer empty. > No SOURCES given to Zephyr library: drivers__ethernet > > Excluding target from build. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Hi @tejlmand, This issue, marked as an Enhancement, was opened a while ago and did not get any traction. It was just assigned to you based on the labels. If you don't consider yourself the right person to address this issue, please re-assing it to the right person. Please take a moment to review if the issue is still relevant to the project. If it is, please provide feedback and direction on how to move forward. If it is not, has already been addressed, is a duplicate, or is no longer relevant, please close it with a short comment explaining the reason. @tejlmand you are also encouraged to help moving this issue forward by providing additional information and confirming this request/issue is still relevant to you. Thanks! |
In Zephyr many subfolders are made into a libraries.
When working in an IDE, all those libraries are presented to the user.
Such libraries are often displayed at the top of the tree in an IDE.
A general user of Zephyr must be expected to primarily work on libapp and
his own libraries and therefore it is not a good experience to be presented with
so many sub-libraries.
Having a single bluetooth or network library would be much nicer.
As well as drivers, arch_arm / arch_x86 / ... , can also be made into fewer libraries.
The screen dump is from the sample bluetooth/ipsp, but any target and sample would gives similar experience.
An application which enables everything in the subsys_net, could in worst case result in the following list of libraries, just for subsys net:
subsys__net, subsys__net_ip, subsys__net_ip_l2, subsys__net_ip_l2_ethernet,
subsys__net_ip_l2_ieee802154, subsys__net_ip_l2_openthread,
subsys__net__lib__app, subsys__net__lib__dns, subsys__net__lib__http,
subsys__net__lib__lwm2m, subsys__net__lib__mqtt, subsys__net__lib__websocket
EDIT: This is part of umbrella issue: #8827
The text was updated successfully, but these errors were encountered: