source: chapter08/pkgconf.xml@ 5d2d864

multilib
Last change on this file since 5d2d864 was 5d2d864, checked in by Thomas Trepl <thomas@…>, 5 months ago

Automatic merge of trunk into multilib

  • Property mode set to 100644
File size: 5.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-system-pkgconf" role="wrap">
9 <?dbhtml filename="pkgconf.html"?>
10
11 <sect1info condition="script">
12 <productname>pkgconf</productname>
13 <productnumber>&pkgconf-version;</productnumber>
14 <address>&pkgconf-url;</address>
15 </sect1info>
16
17 <title>Pkgconf-&pkgconf-version;</title>
18
19 <indexterm zone="ch-system-pkgconf">
20 <primary sortas="a-pkgconf">Pkgconf</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The pkgconf package is a
27 successor to pkg-config and contains a tool for passing the include path
28 and/or library paths to build tools during the configure and make phases
29 of package installations.</para>
30
31 <segmentedlist>
32 <segtitle>&buildtime;</segtitle>
33 <segtitle>&diskspace;</segtitle>
34
35 <seglistitem>
36 <seg>&pkgconf-fin-sbu;</seg>
37 <seg>&pkgconf-fin-du;</seg>
38 </seglistitem>
39 </segmentedlist>
40
41 </sect2>
42
43 <sect2 role="installation">
44
45 <title>Installation of Pkgconf</title>
46
47 <!-- https://github.com/pkgconf/pkgconf/issues/317 -->
48 <para>Fix a regression in pkgconf-2.0.3 breaking BLFS packages:</para>
49
50 <screen><userinput remap="pre">sed -i 's/str\(cmp.*package\)/strn\1, strlen(pkg-&gt;why)/' cli/main.c</userinput></screen>
51
52 <para>Prepare Pkgconf for compilation:</para>
53
54<screen><userinput remap="configure">./configure --prefix=/usr \
55 --disable-static \
56 --docdir=/usr/share/doc/pkgconf-&pkgconf-version;</userinput></screen>
57
58 <para>Compile the package:</para>
59
60<screen><userinput remap="make">make</userinput></screen>
61
62 <para>Install the package:</para>
63
64<screen><userinput remap="install">make install</userinput></screen>
65
66 <para>To maintain compatibility with the original Pkg-config create two
67 symlinks:</para>
68
69<screen><userinput remap="install">ln -sv pkgconf /usr/bin/pkg-config
70ln -sv pkgconf.1 /usr/share/man/man1/pkg-config.1</userinput></screen>
71<!--
72 <para arch="ml_32,ml_x32,ml_all">
73 For better support of the multilib platform create some
74 additional files by executing the following commands:
75 </para>
76
77<screen arch="ml_32,ml_x32,ml_all"><userinput remap="install">ln -sv pkgconf /usr/bin/i686-pc-linux-gnu-pkg-config
78ln -sv pkgconf /usr/bin/x86_64-pc-linux-gnux32-pkg-config
79ln -sv pkgconf /usr/bin/x86_64-pc-linux-gnu-pkg-config
80
81mkdir -pv /usr/share/pkgconfig/personality.d
82
83cat &gt; /usr/share/pkgconfig/personality.d/i686-pc-linux-gnu.personality &lt;&lt;EOF
84Triplet: i686-pc-linux-gnu
85SysrootDir: /
86DefaultSearchPaths: /usr/lib32/pkgconfig:/usr/share/pkgconfig
87SystemIncludePaths: /usr/include
88SystemLibraryPaths: /usr/lib32
89EOF
90
91cat &gt; /usr/share/pkgconfig/personality.d/x86_64-pc-linux-gnux32.personality &lt;&lt;EOF
92Triplet: x86_64-pc-linux-gnux32
93SysrootDir: /
94DefaultSearchPaths: /usr/libx32/pkgconfig:/usr/share/pkgconfig
95SystemIncludePaths: /usr/include
96SystemLibraryPaths: /usr/libx32
97EOF
98
99cat &gt; /usr/share/pkgconfig/personality.d/x86_64-pc-linux-gnu.personality &lt;&lt;EOF
100Triplet: x86_64-pc-linux-gnu
101SysrootDir: /
102DefaultSearchPaths: /usr/lib/pkgconfig:/usr/share/pkgconfig
103SystemIncludePaths: /usr/include
104SystemLibraryPaths: /usr/lib
105EOF
106</userinput></screen>
107-->
108 </sect2>
109
110 <sect2 id="contents-pkgconf" role="content">
111 <title>Contents of Pkgconf</title>
112
113 <segmentedlist>
114 <segtitle>Installed programs</segtitle>
115 <segtitle>Installed library</segtitle>
116 <segtitle>Installed directory</segtitle>
117
118 <seglistitem>
119 <seg>pkgconf, pkg-config (link to pkgconf), and bomtool</seg>
120 <seg>libpkgconf.so</seg>
121 <seg>/usr/share/doc/pkgconf-&pkgconf-version;</seg>
122 </seglistitem>
123 </segmentedlist>
124
125 <variablelist>
126 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
127 <?dbfo list-presentation="list"?>
128 <?dbhtml list-presentation="table"?>
129
130 <varlistentry id="pkgconf">
131 <term><command>pkgconf</command></term>
132 <listitem>
133 <para>Returns meta information for the specified library or
134 package</para>
135 <indexterm zone="ch-system-pkgconf pkgconf">
136 <primary sortas="b-pkgconf">pkgconf</primary>
137 </indexterm>
138 </listitem>
139 </varlistentry>
140
141 <varlistentry id="bomtool">
142 <term><command>bomtool</command></term>
143 <listitem>
144 <para>Generates a Software Bill Of Materials from pkg-config .pc
145 files</para>
146 <indexterm zone="ch-system-pkgconf bomtool">
147 <primary sortas="b-bomtool">bomtool</primary>
148 </indexterm>
149 </listitem>
150 </varlistentry>
151
152 <varlistentry id="libpkgconf">
153 <term><filename class="libraryfile">libpkgconf</filename></term>
154 <listitem>
155 <para>Contains most of pkgconf's functionality, while allowing
156 other tools like IDEs and compilers to use its frameworks</para>
157 <indexterm zone="ch-system-pkgconf libpkgconf">
158 <primary sortas="c-libpkgconf">libpkgconf</primary>
159 </indexterm>
160 </listitem>
161 </varlistentry>
162 </variablelist>
163 </sect2>
164
165</sect1>
Note: See TracBrowser for help on using the repository browser.