mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-27 05:06:39 +00:00
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"
|
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
|
The +.mk+ file
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user