poky/documentation/getting-started/eclipse/html/getting-started/metadata-virtual-providers.html
Scott Rifenbark ae06e04cd2 documentation: Created new "Getting Started" manual.
Creation involved removing the overview-manual and replacing it
with the getting-started manual.  All links to the string
"&YOCTO_DOCS_OVERVIEW_URL" had to be replaced with
"&YOCTO_DOCS_GS_URL" across the entire YP manual set.  I renamed
files used to create the manual with prefixes suited for the
new manual name, which is "Getting Started With Yocto Project".

The style sheet for the new manual needed updating to display the
new .PNG image for the title page.  The mega-manual file had to
be updated to include the files.  The mega-manual.sed file had
to be updated to include the new manual and not use the overview
manual.

(From yocto-docs rev: 6c7abf9192390121000f577d6c98f259d290d15d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:25:29 +00:00

75 lines
4.0 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>3.1.3. Metadata (Virtual Providers)</title>
<link rel="stylesheet" type="text/css" href="../book.css">
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="Getting Started With Yocto Project">
<link rel="up" href="yocto-project-components.html" title="3.1. Yocto Project Components">
<link rel="prev" href="usingpoky-components-metadata.html" title="3.1.2. Metadata (Recipes)">
<link rel="next" href="usingpoky-components-classes.html" title="3.1.4. Classes">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" title="3.1.3. Metadata (Virtual Providers)">
<div class="titlepage"><div><div><h3 class="title">
<a name="metadata-virtual-providers"></a>3.1.3. Metadata (Virtual Providers)</h3></div></div></div>
<p>
Prior to the build, if you know that several different recipes
provide the same functionality, you can use a virtual provider
(i.e. <code class="filename">virtual/*</code>) as a placeholder for the
actual provider.
The actual provider would be determined at build time.
In this case, you should add <code class="filename">virtual/*</code>
to
<a class="link" href="../ref-manual/var-DEPENDS.html" target="_self"><code class="filename">DEPENDS</code></a>,
rather than listing the specified provider.
You would select the actual provider by setting the
<a class="link" href="../ref-manual/var-PREFERRED_PROVIDER.html" target="_self"><code class="filename">PREFERRED_PROVIDER</code></a>
variable (i.e.
<code class="filename">PREFERRED_PROVIDER_virtual/*</code>)
in the build's configuration file (e.g.
<code class="filename">poky/build/conf/local.conf</code>).
</p>
<div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
Any recipe that PROVIDES a <code class="filename">virtual/*</code>
item that is ultimately not selected through
<code class="filename">PREFERRED_PROVIDER</code> does not get built.
Preventing these recipes from building is usually the
desired behavior since this mechanism's purpose is to
select between mutually exclusive alternative providers.
</div>
<p>
</p>
<p>
The following lists specific examples of virtual providers:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><p>
<code class="filename">virtual/mesa</code>:
Provides <code class="filename">gbm.pc</code>.
</p></li>
<li class="listitem"><p>
<code class="filename">virtual/egl</code>:
Provides <code class="filename">egl.pc</code> and possibly
<code class="filename">wayland-egl.pc</code>.
</p></li>
<li class="listitem"><p>
<code class="filename">virtual/libgl</code>:
Provides <code class="filename">gl.pc</code> (i.e. libGL).
</p></li>
<li class="listitem"><p>
<code class="filename">virtual/libgles1</code>:
Provides <code class="filename">glesv1_cm.pc</code>
(i.e. libGLESv1_CM).
</p></li>
<li class="listitem"><p>
<code class="filename">virtual/libgles2</code>:
Provides <code class="filename">glesv2.pc</code>
(i.e. libGLESv2).
</p></li>
</ul></div>
<p>
</p>
</div></body>
</html>