summaryrefslogtreecommitdiff
path: root/docs/usermanual/reference/class_pkgconfig.xml
blob: 8c2177cecfef38c130322e58fb56187c0aab69c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?xml version="1.0" encoding="UTF-8"?>
<section id="pkgconfig_class" xreflabel="pkgconfig class">
  <title>pkgconfig class</title>

  <para>The pkgconfig class is for packages that install
  <command>&lt;pkg&gt;.pc</command> files. These files provide information
  about the build settings for the package which are then made available by
  the <command>pkg-config</command> command.</para>

  <para>Since the contents of the <command>.pc</command> files are used at
  build time they need to be installed into the staging area. All the actions
  performed by this class are appended to the <emphasis>stage</emphasis>
  task.</para>

  <para>The actions performed by the pkgconfig class are:</para>

  <orderedlist>
    <listitem>
      <para>Copies the <command>&lt;x&gt;.pc</command> files into the
      <command>${PKG_CONFIG_PATH}</command> directory;</para>
    </listitem>

    <listitem>
      <para>If the package is not native then it modifies the contents of the
      <command>&lt;x&gt;.pc</command> file in the
      <command>${PKG_CONFIG_PATH}</command> area to ensure that all the paths
      in the script refer to the staging area;</para>
    </listitem>
  </orderedlist>

  <para>A package is considered to be native if it also inherits the native
  class.</para>

  <para>The class will search the source directory, <command>${S}</command>,
  and all it's subdirectories, for files that end in <command>.pc</command>
  (it will ignore those that end in <command>-uninstalled.pc)</command> and
  process them as described above. All that is required to use the class is
  the addition of pkgconfig in an inherit statement:<screen>inherit autotools pkgconfig</screen></para>
</section>