@@ -49,6 +49,7 @@ supposed to contain anything but the 'bare' name of the package.
The +Config.in+ file of your package must also ensure that
dependencies are enabled. Typically, Buildroot uses the following
@@ -59,15 +60,26 @@ rules:
dependencies are selected. For example, the _libgtk2_ package uses
+select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also
+ The +select+ keyword express the dependency with a backward
* 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
+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+.
@@ -147,6 +159,9 @@ is also enabled, but not necessarily built before your package. To do
so, the dependency also needs to be expressed in the +.mk+ file of the
+Further formating details: see xref:writing-rules-config-in[the
The +.mk+ file
@@ -182,8 +197,5 @@ different way, using different infrastructures:
CMake. We cover them through a xref:cmake-package-tutorial[tutorial]
-* *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
+Further formating details: see xref:writing-rules-mk[the writing