doc: more details about expressing dependencies in Config.in
[Peter: Minor tweak] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
d031a031bd
commit
d0afbdad6b
@ -46,6 +46,51 @@ supposed to contain anything but the 'bare' name of the package.
|
||||
source "package/libfoo/Config.in"
|
||||
--------------------------
|
||||
|
||||
The +Config.in+ file of your package must also ensure that
|
||||
dependencies are enabled. Typically, Buildroot uses the following
|
||||
rules:
|
||||
|
||||
* Use a +select+ type of dependency for dependencies on
|
||||
libraries. These dependencies are generally not obvious and it
|
||||
therefore make sense to have the kconfig system ensure that the
|
||||
dependencies are selected. For example, the _libgtk2_ package uses
|
||||
+select BR2_PACKAGE_LIBGLIB2+ to make sure this library is also
|
||||
enabled.
|
||||
|
||||
* 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.
|
||||
|
||||
An example illustrates both the usage of +select+ and +depends on+.
|
||||
|
||||
--------------------------
|
||||
config BR2_PACKAGE_ACL
|
||||
bool "acl"
|
||||
select BR2_PACKAGE_ATTR
|
||||
depends on BR2_LARGEFILE
|
||||
help
|
||||
POSIX Access Control Lists, which are used to define more
|
||||
fine-grained discretionary access rights for files and
|
||||
directories.
|
||||
This package also provides libacl.
|
||||
|
||||
http://savannah.nongnu.org/projects/acl
|
||||
|
||||
comment "acl requires a toolchain with LARGEFILE support"
|
||||
depends on !BR2_LARGEFILE
|
||||
--------------------------
|
||||
|
||||
|
||||
Note that such dependencies will make sure that the dependency option
|
||||
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
|
||||
package.
|
||||
|
||||
The +.mk+ file
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user