-
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
Cleanup No SOURCES given to Zephyr library
warnings
#38403
Comments
Related to #37770 |
It seems like there are two possible approaches from a Kconfig point of view.
|
I have been considering such approach, but I feel it's like asking Kconfig to know about Zephyr CMake internals, as it starts to have symbols intended to help CMake. Of course, if such symbol is available for internal Kconfig purposes, like the That being said, it could end-up being the cleanest solution short term.
yes, this is a broader restructure, but could end-up with a more uniform way of selecting drivers in Kconfig in general. |
Fixes: zephyrproject-rtos#38403 Changing Bluetooth drivers from being a menu into a menuconfig. This aligns the Bluetooth driver configuration with other driver configurations as well as provides a setting which identifies if Bluetooth drivers has been enable. This further helps to avoid empty Zephyr libraries for bluetooth samples. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: zephyrproject-rtos#38403 Adding NET_DRIVERS menuconfig so that network drivers are grouped together in its own menu entry under drivers, similar to most other drivers. This further has the advantages that `CONFIG_NET_DRIVERS` can be used for testing to determine if network drivers has been selected. This changed revealed a dependency flaw where both `select` (for SLIP) and `depends` (for PPP) where in use in the dependency tree for NET_SLIP_TAP. This dependency mess has been cleaned up, so that there is a single direction dependency from NET_SLIP_TAP to SLIP and PPP. Signed-off-by: Torsten Rasmussen <[email protected]>
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 <[email protected]>
Fixes: zephyrproject-rtos#38403 A board might already have created a pinmux driver library. If such library has already been created then amend to that library, else the zephyr library is created in the drivers/pinmux CMakeLists.txt file. This ensures that pinmux source files from the board and drivers/pinmux are placed in the same library. Furthermore this avoids empty pinmux driver libraries and thus avoids the following warning: > No SOURCES given to Zephyr library: drivers__pinmux > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: zephyrproject-rtos#38403 Removing unneeded `imply GPIO` and `CONFIG_GPIO=y` occurrences where no files are added to the gpio zephyr library. Selection of GPIO without selecting any drivers results in the warning: > No SOURCES given to Zephyr library: drivers__gpio > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: zephyrproject-rtos#38403 Adding NET_DRIVERS menuconfig so that network drivers are grouped together in its own menu entry under drivers, similar to most other drivers. This further has the advantages that `CONFIG_NET_DRIVERS` can be used for testing to determine if network drivers has been selected. This changed revealed a dependency flaw where both `select` (for SLIP) and `depends` (for PPP) where in use in the dependency tree for NET_SLIP_TAP. This dependency mess has been cleaned up, so that there is a single direction dependency from NET_SLIP_TAP to SLIP and PPP. Signed-off-by: Torsten Rasmussen <[email protected]>
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 <[email protected]>
Fixes: zephyrproject-rtos#38403 A board might already have created a pinmux driver library. If such library has already been created then amend to that library, else the zephyr library is created in the drivers/pinmux CMakeLists.txt file. This ensures that pinmux source files from the board and drivers/pinmux are placed in the same library. Furthermore this avoids empty pinmux driver libraries and thus avoids the following warning: > No SOURCES given to Zephyr library: drivers__pinmux > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: zephyrproject-rtos#38403 Removing unneeded `imply GPIO` and `CONFIG_GPIO=y` occurrences where no files are added to the gpio zephyr library. Also removed `CONFIG_GPIO=y` occurences where this is handled by defconfigs for the soc or board. Selection of GPIO without selecting any drivers results in the warning: > No SOURCES given to Zephyr library: drivers__gpio > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: zephyrproject-rtos#38403 Changing Bluetooth drivers from being a menu into a menuconfig. This aligns the Bluetooth driver configuration with other driver configurations as well as provides a setting which identifies if Bluetooth drivers has been enable. This further helps to avoid empty Zephyr libraries for bluetooth samples. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: zephyrproject-rtos#38403 Adding NET_DRIVERS menuconfig so that network drivers are grouped together in its own menu entry under drivers, similar to most other drivers. This further has the advantages that `CONFIG_NET_DRIVERS` can be used for testing to determine if network drivers has been selected. This changed revealed a dependency flaw where both `select` (for SLIP) and `depends` (for PPP) where in use in the dependency tree for NET_SLIP_TAP. This dependency mess has been cleaned up, so that there is a single direction dependency from NET_SLIP_TAP to SLIP and PPP. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: #38403 Changing Bluetooth drivers from being a menu into a menuconfig. This aligns the Bluetooth driver configuration with other driver configurations as well as provides a setting which identifies if Bluetooth drivers has been enable. This further helps to avoid empty Zephyr libraries for bluetooth samples. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: #38403 Adding NET_DRIVERS menuconfig so that network drivers are grouped together in its own menu entry under drivers, similar to most other drivers. This further has the advantages that `CONFIG_NET_DRIVERS` can be used for testing to determine if network drivers has been selected. This changed revealed a dependency loop where both `select` (for SLIP) and `depends` (for PPP) which both depends on NET_DRIVERS` where in use in the dependency tree for Qemu networking, especially NET_SLIP_TAP. This is handled by defaulting `NET_DRIVERS` to `y` when building for a Qemu target. `SLIP` had a dependency to `!QEMU_TARGET || NET_QEMU_SLIP`. This is changed so that SLIP prompt depends on `!QEMU_TARGET` which provides full user control in hardware but makes the symbol promptless on Qemu targets. Signed-off-by: Torsten Rasmussen <[email protected]>
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 <[email protected]>
Fixes: #38403 Removing unneeded `imply GPIO` and `CONFIG_GPIO=y` occurrences where no files are added to the gpio zephyr library. Also removed `CONFIG_GPIO=y` occurences where this is handled by defconfigs for the soc or board. Selection of GPIO without selecting any drivers results in the warning: > No SOURCES given to Zephyr library: drivers__gpio > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: #38403 Removing unneeded `CONFIG_CONSOLES=y` occurrences where no console driver is selected. Such selection results in an empty drivers__console zephyr library, which again results in the following warning message. > No SOURCES given to Zephyr library: drivers__console > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: #38403 Changing Bluetooth drivers from being a menu into a menuconfig. This aligns the Bluetooth driver configuration with other driver configurations as well as provides a setting which identifies if Bluetooth drivers has been enable. This further helps to avoid empty Zephyr libraries for bluetooth samples. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: #38403 Adding NET_DRIVERS menuconfig so that network drivers are grouped together in its own menu entry under drivers, similar to most other drivers. This further has the advantages that `CONFIG_NET_DRIVERS` can be used for testing to determine if network drivers has been selected. This changed revealed a dependency loop where both `select` (for SLIP) and `depends` (for PPP) which both depends on NET_DRIVERS` where in use in the dependency tree for Qemu networking, especially NET_SLIP_TAP. This is handled by defaulting `NET_DRIVERS` to `y` when building for a Qemu target. `SLIP` had a dependency to `!QEMU_TARGET || NET_QEMU_SLIP`. This is changed so that SLIP prompt depends on `!QEMU_TARGET` which provides full user control in hardware but makes the symbol promptless on Qemu targets. Signed-off-by: Torsten Rasmussen <[email protected]>
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 <[email protected]>
Fixes: #38403 Removing unneeded `imply GPIO` and `CONFIG_GPIO=y` occurrences where no files are added to the gpio zephyr library. Also removed `CONFIG_GPIO=y` occurences where this is handled by defconfigs for the soc or board. Selection of GPIO without selecting any drivers results in the warning: > No SOURCES given to Zephyr library: drivers__gpio > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: #38403 Removing unneeded `CONFIG_CONSOLES=y` occurrences where no console driver is selected. Such selection results in an empty drivers__console zephyr library, which again results in the following warning message. > No SOURCES given to Zephyr library: drivers__console > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
still a pending PR to be fully fixed: #38908 |
This reverts commit 4330929. Fixes: #38403 The referred commit introduced `zephyr_library()` for pinmux drivers but also resulting in #38403 because several boards has `CONFIG_PINMUX=y` without selecting any pinmux drivers from `drivers/pinmux` thus generating the following warning: > No SOURCES given to Zephyr library: drivers__pinmux > > Excluding target from build. This commit reverts the changes so that this warning disappears. This results in pinmux drivers from `drivers/pinmux` to be located in libzephyr.a which is messy, but has been so for a long time, even before Zephyr 1.14 LTS. The future pinctrl API will be designed in such a way that this problem will not occur. Thus the old behavior is acceptable until the transition to pinctrl API has completed. Signed-off-by: Torsten Rasmussen <[email protected]>
This reverts commit 4330929. Fixes: #38403 The referred commit introduced `zephyr_library()` for pinmux drivers but also resulting in #38403 because several boards has `CONFIG_PINMUX=y` without selecting any pinmux drivers from `drivers/pinmux` thus generating the following warning: > No SOURCES given to Zephyr library: drivers__pinmux > > Excluding target from build. This commit reverts the changes so that this warning disappears. This results in pinmux drivers from `drivers/pinmux` to be located in libzephyr.a which is messy, but has been so for a long time, even before Zephyr 1.14 LTS. The future pinctrl API will be designed in such a way that this problem will not occur. Thus the old behavior is acceptable until the transition to pinctrl API has completed. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: #38403 Changing Bluetooth drivers from being a menu into a menuconfig. This aligns the Bluetooth driver configuration with other driver configurations as well as provides a setting which identifies if Bluetooth drivers has been enable. This further helps to avoid empty Zephyr libraries for bluetooth samples. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: #38403 Adding NET_DRIVERS menuconfig so that network drivers are grouped together in its own menu entry under drivers, similar to most other drivers. This further has the advantages that `CONFIG_NET_DRIVERS` can be used for testing to determine if network drivers has been selected. This changed revealed a dependency loop where both `select` (for SLIP) and `depends` (for PPP) which both depends on NET_DRIVERS` where in use in the dependency tree for Qemu networking, especially NET_SLIP_TAP. This is handled by defaulting `NET_DRIVERS` to `y` when building for a Qemu target. `SLIP` had a dependency to `!QEMU_TARGET || NET_QEMU_SLIP`. This is changed so that SLIP prompt depends on `!QEMU_TARGET` which provides full user control in hardware but makes the symbol promptless on Qemu targets. Signed-off-by: Torsten Rasmussen <[email protected]>
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 <[email protected]>
Fixes: #38403 Removing unneeded `imply GPIO` and `CONFIG_GPIO=y` occurrences where no files are added to the gpio zephyr library. Also removed `CONFIG_GPIO=y` occurences where this is handled by defconfigs for the soc or board. Selection of GPIO without selecting any drivers results in the warning: > No SOURCES given to Zephyr library: drivers__gpio > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: #38403 Removing unneeded `CONFIG_CONSOLES=y` occurrences where no console driver is selected. Such selection results in an empty drivers__console zephyr library, which again results in the following warning message. > No SOURCES given to Zephyr library: drivers__console > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
This reverts commit 4330929. Fixes: #38403 The referred commit introduced `zephyr_library()` for pinmux drivers but also resulting in #38403 because several boards has `CONFIG_PINMUX=y` without selecting any pinmux drivers from `drivers/pinmux` thus generating the following warning: > No SOURCES given to Zephyr library: drivers__pinmux > > Excluding target from build. This commit reverts the changes so that this warning disappears. This results in pinmux drivers from `drivers/pinmux` to be located in libzephyr.a which is messy, but has been so for a long time, even before Zephyr 1.14 LTS. The future pinctrl API will be designed in such a way that this problem will not occur. Thus the old behavior is acceptable until the transition to pinctrl API has completed. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: zephyrproject-rtos#38403 Changing Bluetooth drivers from being a menu into a menuconfig. This aligns the Bluetooth driver configuration with other driver configurations as well as provides a setting which identifies if Bluetooth drivers has been enable. This further helps to avoid empty Zephyr libraries for bluetooth samples. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: zephyrproject-rtos#38403 Adding NET_DRIVERS menuconfig so that network drivers are grouped together in its own menu entry under drivers, similar to most other drivers. This further has the advantages that `CONFIG_NET_DRIVERS` can be used for testing to determine if network drivers has been selected. This changed revealed a dependency loop where both `select` (for SLIP) and `depends` (for PPP) which both depends on NET_DRIVERS` where in use in the dependency tree for Qemu networking, especially NET_SLIP_TAP. This is handled by defaulting `NET_DRIVERS` to `y` when building for a Qemu target. `SLIP` had a dependency to `!QEMU_TARGET || NET_QEMU_SLIP`. This is changed so that SLIP prompt depends on `!QEMU_TARGET` which provides full user control in hardware but makes the symbol promptless on Qemu targets. Signed-off-by: Torsten Rasmussen <[email protected]>
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 <[email protected]>
Fixes: zephyrproject-rtos#38403 Removing unneeded `imply GPIO` and `CONFIG_GPIO=y` occurrences where no files are added to the gpio zephyr library. Also removed `CONFIG_GPIO=y` occurences where this is handled by defconfigs for the soc or board. Selection of GPIO without selecting any drivers results in the warning: > No SOURCES given to Zephyr library: drivers__gpio > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
Fixes: zephyrproject-rtos#38403 Removing unneeded `CONFIG_CONSOLES=y` occurrences where no console driver is selected. Such selection results in an empty drivers__console zephyr library, which again results in the following warning message. > No SOURCES given to Zephyr library: drivers__console > > Excluding target from build. Signed-off-by: Torsten Rasmussen <[email protected]>
This reverts commit 4330929. Fixes: zephyrproject-rtos#38403 The referred commit introduced `zephyr_library()` for pinmux drivers but also resulting in zephyrproject-rtos#38403 because several boards has `CONFIG_PINMUX=y` without selecting any pinmux drivers from `drivers/pinmux` thus generating the following warning: > No SOURCES given to Zephyr library: drivers__pinmux > > Excluding target from build. This commit reverts the changes so that this warning disappears. This results in pinmux drivers from `drivers/pinmux` to be located in libzephyr.a which is messy, but has been so for a long time, even before Zephyr 1.14 LTS. The future pinctrl API will be designed in such a way that this problem will not occur. Thus the old behavior is acceptable until the transition to pinctrl API has completed. Signed-off-by: Torsten Rasmussen <[email protected]>
The #37512 cleanup PR created several new Zephyr libraries instead of adding sources to libzephyr.a.
Unfortunately, this also results in some libraries not having sources added to them in certain Kconfig combinations, resulting in the following warning being printed:
Expected behavior
No warning being printed
Impact
Annoyance, and bad user experience.
The text was updated successfully, but these errors were encountered: