Commit f53571e5 authored by Yann E. MORIN's avatar Yann E. MORIN Committed by Peter Korsgaard
Browse files

docs/manual: document the new FOO_PROVIDES variable



Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 91169d33
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -304,6 +304,9 @@ information is (assuming the package name is +libfoo+) :
  a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for
  the current host package.

* +LIBFOO_PROVIDES+ lists all the virtual packages +libfoo+ is an
  implementation of. See xref:virtual-package-tutorial[].

* +LIBFOO_INSTALL_STAGING+ can be set to +YES+ or +NO+ (default). If
  set to +YES+, then the commands in the +LIBFOO_INSTALL_STAGING_CMDS+
  variables are executed to install the package into the staging
+12 −3
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and
+BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the
providers.

==== Virtual package's +*.mk+ file
==== Virtual package's +.mk+ file

The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro:

@@ -59,8 +59,7 @@ The ability to have target and host packages is also available, with the
==== Provider's +Config.in+ file

When adding a package as a provider, only the +Config.in+ file requires some
modifications. The +*.mk+ file should follow the Buildroot infrastructure with
no change at all.
modifications.

The +Config.in+ file of the package 'some-provider', which provides the
functionalities of 'something-virtual', should contain:
@@ -84,6 +83,16 @@ On line 3, we select +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+, and on line 11, we
set the value of +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+ to the name of the
provider, but only if it is selected.

==== Provider's +.mk+ file

The +.mk+ file should also declare an additional variable
+SOME_PROVIDER_PROVIDES+ to contain the names of all the virtual
packages it is an implementation of:

---------------------------
01: SOME_PROVIDER_PROVIDES = something-virtual
---------------------------

Of course, do not forget to add the proper build and runtime dependencies for
this package!