summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorKristi Rifenbark <kristi.rifenbark@gmail.com>2017-09-06 16:06:03 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-13 18:00:18 +0100
commit734de503faf1f211e2a367dd7579af0b55b2f57d (patch)
tree81ec7f0eb59be7ca9d3288255daa6b823ff7df45 /documentation
parent1d42e21db4d4bb1284e118903e1264b359b4438e (diff)
downloadpoky-734de503faf1f211e2a367dd7579af0b55b2f57d.tar.gz
ref-manual: Added new section on virtual providers
Fixes [YOCTO #11762] (From yocto-docs rev: 2633bae48fa08cd3a889d3f205abcc9833b1be2f) Signed-off-by: Kristi Rifenbark <kristi.rifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/ref-manual/technical-details.xml57
1 files changed, 57 insertions, 0 deletions
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml
index 7fc2e184e6..f566ec243a 100644
--- a/documentation/ref-manual/technical-details.xml
+++ b/documentation/ref-manual/technical-details.xml
@@ -146,6 +146,63 @@
146 </para> 146 </para>
147 </section> 147 </section>
148 148
149 <section id='metadata-virtual-providers'>
150 <title>Metadata (Virtual Providers)</title>
151
152 <para>
153 Prior to the build, if you know that several different recipes
154 provide the same functionality, you can use a virtual provider
155 (i.e. <filename>virtual/*</filename>) as a placeholder for the
156 actual provider.
157 The actual provider would be determined at build
158 time.
159 In this case, you should add <filename>virtual/*</filename>
160 to <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>,
161 rather than listing the specified provider.
162 You would select the actual provider by setting the
163 <link linkend='var-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>
164 variable (i.e. <filename>PREFERRED_PROVIDER_virtual/*</filename>)
165 in the build's configuration file (e.g.
166 <filename>poky/build/conf/local.conf</filename>).
167 <note>
168 Any recipe that PROVIDES a <filename>virtual/*</filename> item
169 that is ultimately not selected through
170 <filename>PREFERRED_PROVIDER</filename> does not get built.
171 Preventing these recipes from building is usually the desired
172 behavior since this mechanism's purpose is to select between
173 mutually exclusive alternative providers.
174 </note>
175 </para>
176
177 <para>
178 The following lists specific examples of virtual providers:
179 <itemizedlist>
180 <listitem><para>
181 <filename>virtual/mesa</filename>:
182 Provides <filename>gbm.pc</filename>.
183 </para></listitem>
184 <listitem><para>
185 <filename>virtual/egl</filename>:
186 Provides <filename>egl.pc</filename> and possibly
187 <filename>wayland-egl.pc</filename>.
188 </para></listitem>
189 <listitem><para>
190 <filename>virtual/libgl</filename>:
191 Provides <filename>gl.pc</filename> (i.e. libGL).
192 </para></listitem>
193 <listitem><para>
194 <filename>virtual/libgles1</filename>:
195 Provides <filename>glesv1_cm.pc</filename>
196 (i.e. libGLESv1_CM).
197 </para></listitem>
198 <listitem><para>
199 <filename>virtual/libgles2</filename>:
200 Provides <filename>glesv2.pc</filename> (i.e. libGLESv2).
201 </para></listitem>
202 </itemizedlist>
203 </para>
204 </section>
205
149 <section id='usingpoky-components-classes'> 206 <section id='usingpoky-components-classes'>
150 <title>Classes</title> 207 <title>Classes</title>
151 208