source "package/libfoo/Config.in"
--------------------------
+[[depends-on-vs-select]]
The +Config.in+ file of your package must also ensure that
dependencies are enabled. Typically, Buildroot uses the following
rules:
dependencies are selected. For example, the _libgtk2_ package uses
+select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also
enabled.
+ The +select+ keyword express the dependency with a backward
+ semantic.
* Use a +depends on+ type of dependency when the user really needs to
be aware of the dependency. Typically, Buildroot uses this type of
- dependency for dependencies on toolchain options (large file
- support, RPC support, IPV6 support), or for dependencies on "big"
- things, such as the X.org system. In some cases, especially
- dependency on toolchain options, it is recommended to add a
- +comment+ displayed when the option is not enabled, so that the user
- knows why the package is not available.
+ dependency for dependencies on toolchain options (target
+ architecture, MMU support, C library, C++ support, large file
+ support, thread support, RPC support, IPV6 support, WCHAR support),
+ or for dependencies on "big" things, such as the X.org system. In
+ some cases, especially dependency on toolchain options, it is
+ recommended to add a +comment+ displayed when the option is not
+ enabled, so that the user knows why the package is not available.
+ The +depends on+ keyword express the dependency with a forward
+ semantic.
+
+.Note
+The current problem with the _kconfig_ language is that these two
+dependency semantics are not internally linked. Therefore, it may be
+possible to select a package, whom one of its dependencies/requirement
+is not met.
An example illustrates both the usage of +select+ and +depends on+.
so, the dependency also needs to be expressed in the +.mk+ file of the
package.
+Further formating details: see xref:writing-rules-config-in[the
+writing rules].
+
The +.mk+ file
^^^^^^^^^^^^^^
CMake. We cover them through a xref:cmake-package-tutorial[tutorial]
and xref:cmake-package-reference[reference].
-* *Hand-written Makefiles:* These are currently obsolete, and no new
- manual Makefiles should be added. However, since there are still
- many of them in the tree, we keep them documented in a
- xref:handwritten-tutorial[tutorial].
-
+Further formating details: see xref:writing-rules-mk[the writing
+rules].