Files
glfs/shareddeps/dps/basicx/x/x7lib.xml

816 lines
23 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../../../general.ent">
%general-entities;
<!ENTITY x7libs-download "&xorg-dl;/lib/">
]>
<sect1 id="xorg7-lib" xreflabel="Xorg Libraries">
<?dbhtml filename="x7lib.html"?>
<title>Xorg Libraries</title>
<indexterm zone="xorg7-lib">
<primary sortas="a-xorg7-lib">Xorg Libraries</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Xorg Libraries</title>
<para>
The Xorg libraries provide library
routines that are used within all X Window applications.
</para>
&long-build-time;
<itemizedlist spacing="compact">
<listitem>
<para>
Download: <ulink url="&x7libs-download;"/>
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Xorg Libraries Dependencies</bridgehead>
<para role="required">
<xref linkend="fontconfig"/> and
<xref linkend="libxcb"/>
</para>
<para role="optional">
<ulink url="&w3m-url;">W3m</ulink> (to generate additional PDF or text
documentation for the libXfont package)
</para>
<!--
<bridgehead renderas="sect4" revision="systemd">Recommended at runtime</bridgehead>
<para role="recommended" revision="systemd">
<xref role="runtime" linkend="dbus"/>
</para>
-->
</sect2>
<sect2>
<title>Downloading Xorg Libraries</title>
<para>
First, create a list of files to be downloaded:
</para>
<screen><userinput>cat &gt; lib-&xorg-version;-list &lt;&lt; "EOF"
<literal>xtrans-&xtrans-version;.tar.xz
libX11-&libX11-version;.tar.xz
libXext-&libXext-version;.tar.xz
#libFS-&libFS-version;.tar.xz
libICE-&libICE-version;.tar.xz
libSM-&libSM-version;.tar.xz
libXScrnSaver-&libXScrnSaver-version;.tar.xz
libXt-&libXt-version;.tar.xz
libXmu-&libXmu-version;.tar.xz
libXpm-&libXpm-version;.tar.xz
libXaw-&libXaw-version;.tar.xz
libXfixes-&libXfixes-version;.tar.xz
libXcomposite-&libXcomposite-version;.tar.xz
libXrender-&libXrender-version;.tar.xz
libXcursor-&libXcursor-version;.tar.xz
libXdamage-&libXdamage-version;.tar.xz
libfontenc-&libfontenc-version;.tar.xz
libXfont2-&libXfont2-version;.tar.xz
libXft-&libXft-version;.tar.xz
libXi-&libXi-version;.tar.xz
libXinerama-&libXinerama-version;.tar.xz
libXrandr-&libXrandr-version;.tar.xz
libXres-&libXres-version;.tar.xz
libXtst-&libXtst-version;.tar.xz
libXv-&libXv-version;.tar.xz
libXvMC-&libXvMC-version;.tar.xz
libXxf86dga-&libXxf86dga-version;.tar.xz
libXxf86vm-&libXxf86vm-version;.tar.xz
libpciaccess-&libpciaccess-version;.tar.xz
libxkbfile-&libxkbfile-version;.tar.xz
libxshmfence-&libxshmfence-version;.tar.xz
libXpresent-&libXpresent-version;.tar.xz</literal>
EOF</userinput></screen>
<para>
libFS is commented out and will not be built
unless you go out of your way to uncomment it. It is not needed for any
packages in the LFS books and only necessary for some Xorg apps.
</para>
<para>
To download the needed files using <xref linkend='wget'/>,
use the following commands:
</para>
<screen><userinput>mkdir lib &amp;&amp;
cd lib &amp;&amp;
grep -v '^#' ../lib-&xorg-version;-list | wget -i- -c \
-B &x7libs-download;</userinput></screen>
</sect2>
<sect2 role="installation">
<title>Installation of Xorg Libraries</title>
&as_root;
<para>
First, start a subshell that will exit on error:
</para>
<screen><userinput>bash -e</userinput></screen>
<para>
Install all of the packages by running the following commands:
</para>
<screen><userinput>for package in $(grep -v '^#' ../lib-&xorg-version;-list)
do
packagedir=${package%.tar.?z*}
echo "Building $packagedir"
tar -xf $package
pushd $packagedir
docdir="--docdir=/usr/share/doc/$packagedir"
case $packagedir in
libXfont2-[0-9]* )
./configure $XORG_CONFIG $docdir --disable-devel-docs
;;
libXt-[0-9]* )
./configure $XORG_CONFIG $docdir \
--with-appdefaultdir=/etc/X11/app-defaults
;;
libXpm-[0-9]* )
./configure $XORG_CONFIG $docdir --disable-open-zfile
;;
libpciaccess* )
mkdir build
cd build
meson setup --prefix=/usr --buildtype=release ..
ninja
as_root ninja install
popd # $packagedir
rm -rf $packagedir
continue # for loop
;;
* )
./configure $XORG_CONFIG $docdir
;;
esac
make
as_root make install
popd
rm -rf $packagedir
as_root /sbin/ldconfig
done</userinput></screen>
<para>
For multilib, install all of the lib32 variants of the packages by
running the following commands:
</para>
<screen><userinput>for package in $(grep -v '^#' ../lib-&xorg-version;-list)
do
case $package in xtrans* )
continue
;;
esac
packagedir=${package%.tar.?z*}
echo "Building lib32-$packagedir"
tar -xf $package
pushd $packagedir
libdir="--libdir=/usr/lib32"
docdir="--docdir=/usr/share/doc/$packagedir"
host="--host=i686-pc-linux-gnu"
case $packagedir in
libXfont2-[0-9]* )
CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure $XORG_CONFIG $libdir $host $docdir --disable-devel-docs
;;
libXt-[0-9]* )
CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure $XORG_CONFIG $libdir $host $docdir \
--with-appdefaultdir=/etc/X11/app-defaults
;;
libXpm-[0-9]* )
CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure $XORG_CONFIG $libdir $host $docdir --disable-open-zfile
;;
libpciaccess* )
mkdir build
cd build
CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
meson setup --prefix=/usr $libdir --buildtype=release ..
ninja
DESTDIR=$PWD/DESTDIR ninja install
as_root cp -vr DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
as_root /sbin/ldconfig
popd # $packagedir
rm -rf $packagedir
continue # for loop
;;
* )
CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure $XORG_CONFIG $libdir $host $docdir
;;
esac
make
make DESTDIR=$PWD/DESTDIR install
as_root cp -vr DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
popd
rm -rf $packagedir
as_root /sbin/ldconfig
done</userinput></screen>
<para>
Finally, exit the shell that was started earlier:
</para>
<screen><userinput>exit</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<!--
<para>
<command>./configure $XORG_CONFIG - -disable-thread-safety-constructor</command>:
This fixes a bug in (at least) XFCE at runtime.
</para>
-->
<para>
<parameter>--disable-open-zfile</parameter>: Allow
libXpm to build without the
optional <command>compress</command> command present.
</para>
<para>
<parameter>--disable-devel-docs</parameter>: Disable generation of
text documentation in the libXfont2 package if
xmlto is installed without a text browser. Omit this
parameter (or the entire <command>case</command> statement) if a text
browser is installed.
</para>
<!--
<para>
<option>- -with-fop</option>: Use fop to
generate PDF documentation (only for the libXfont package).
</para>
-->
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
cxpm and sxpm
</seg>
<seg>
libfontenc,
libICE,
libpciaccess,
libSM,
libX11,
libX11-xcb,
libXaw6,
libXaw7,
libXaw,
libXcomposite,
libXcursor,
libXdamage,
libXext,
libXfixes,
libXfont2,
libXft,
libXinerama,
libXi,
libxkbfile,
libXmu,
libXmuu,
libXpm,
libXpresent,
libXrandr,
libXrender,
libXRes,
libxshmfence,
libXss,
libXt,
libXtst,
libXvMC,
libXvMCW,
libXv,
libXxf86dga and
libXxf86vm
</seg>
<seg>
/usr/include/X11/fonts,
/usr/include/X11/ICE,
/usr/include/X11/SM,
/usr/include/X11/Xmu,
/usr/include/X11/Xtrans,
/usr/share/doc/libICE-&libICE-version;,
/usr/share/doc/libSM-&libSM-version;,
/usr/share/doc/libX11-&libX11-version;,
/usr/share/doc/libXaw,
/usr/share/doc/libXext,
/usr/share/doc/libXi,
/usr/share/doc/libXmu-&libXmu-version;,
/usr/share/doc/libXrender,
/usr/share/doc/libXt,
/usr/share/doc/libXtst,
/usr/share/doc/libXvMC,
/usr/share/doc/xtrans and
/usr/share/X11/locale
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="cxpm">
<term><command>cxpm</command></term>
<listitem>
<para>
checks the format of an XPM file
</para>
<indexterm zone="xorg7-lib cxpm">
<primary sortas="b-cxpm">cxpm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="sxpm">
<term><command>sxpm</command></term>
<listitem>
<para>
shows an XPM file and/or converts XPM 1 or 2 files to XPM 3
</para>
<indexterm zone="xorg7-lib sxpm">
<primary sortas="b-sxpm">sxpm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libfontenc">
<term><filename class="libraryfile">libfontenc</filename></term>
<listitem>
<para>
is the X11 font encoding library
</para>
<indexterm zone="xorg7-lib libfontenc">
<primary sortas="c-libfontenc">libfontenc</primary>
</indexterm>
</listitem>
</varlistentry>
<!--
<varlistentry id="libFS">
<term><filename class="libraryfile">libFS</filename></term>
<listitem>
<para>
is the library interface to the X Font Server
</para>
<indexterm zone="xorg7-lib libFS">
<primary sortas="c-libFS">libFS</primary>
</indexterm>
</listitem>
</varlistentry>
-->
<varlistentry id="libICE">
<term><filename class="libraryfile">libICE</filename></term>
<listitem>
<para>
is the X Inter Client Exchange Library
</para>
<indexterm zone="xorg7-lib libICE">
<primary sortas="c-libICE">libICE</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libpciaccess">
<term><filename class="libraryfile">libpciaccess</filename></term>
<listitem>
<para>
is the generic PCI Access library for X
</para>
<indexterm zone="xorg7-lib libpciaccess">
<primary sortas="c-libpciaccess">libpciaccess</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libSM">
<term><filename class="libraryfile">libSM</filename></term>
<listitem>
<para>
is the X Session Management Library
</para>
<indexterm zone="xorg7-lib libSM">
<primary sortas="c-libSM">libSM</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libX11">
<term><filename class="libraryfile">libX11</filename></term>
<listitem>
<para>
is the Xlib Library
</para>
<indexterm zone="xorg7-lib libX11">
<primary sortas="c-libX11">libX11</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXaw6">
<term><filename class="libraryfile">libXaw6</filename></term>
<listitem>
<para>
is the X Athena Widgets Library, version 6
</para>
<indexterm zone="xorg7-lib libXaw6">
<primary sortas="c-libXaw6">libXaw6</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXaw7">
<term><filename class="libraryfile">libXaw7</filename></term>
<listitem>
<para>
is the X Athena Widgets Library, version 7
</para>
<indexterm zone="xorg7-lib libXaw7">
<primary sortas="c-libXaw7">libXaw7</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXaw">
<term><filename class="libraryfile">libXaw</filename></term>
<listitem>
<para>
are symbolic links to the current X Athena Widgets Library,
version 7
</para>
<indexterm zone="xorg7-lib libXaw">
<primary sortas="c-libXaw">libXaw</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXcomposite">
<term><filename class="libraryfile">libXcomposite</filename></term>
<listitem>
<para>
is the X Composite Library
</para>
<indexterm zone="xorg7-lib libXcomposite">
<primary sortas="c-libXcomposite">libXcomposite</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXcursor">
<term><filename class="libraryfile">libXcursor</filename></term>
<listitem>
<para>
is the X Cursor management library
</para>
<indexterm zone="xorg7-lib libXcursor">
<primary sortas="c-libXcursor">libXcursor</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXdamage">
<term><filename class="libraryfile">libXdamage</filename></term>
<listitem>
<para>
is the X Damage Library
</para>
<indexterm zone="xorg7-lib libXdamage">
<primary sortas="c-libXdamage">libXdamage</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXext">
<term><filename class="libraryfile">libXext</filename></term>
<listitem>
<para>
is the Misc X Extension Library
</para>
<indexterm zone="xorg7-lib libXext">
<primary sortas="c-libXext">libXext</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXfixes">
<term><filename class="libraryfile">libXfixes</filename></term>
<listitem>
<para>
provides augmented versions of core protocol requests
</para>
<indexterm zone="xorg7-lib libXfixes">
<primary sortas="c-libXfixes">libXfixes</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXfont2">
<term><filename class="libraryfile">libXfont2</filename></term>
<listitem>
<para>
is the X font library
</para>
<indexterm zone="xorg7-lib libXfont2">
<primary sortas="c-libXfont2">libXfont2</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXft">
<term><filename class="libraryfile">libXft</filename></term>
<listitem>
<para>
is the X FreeType interface library
</para>
<indexterm zone="xorg7-lib libXft">
<primary sortas="c-libXft">libXft</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXinerama">
<term><filename class="libraryfile">libXinerama</filename></term>
<listitem>
<para>
is the Xinerama Library
</para>
<indexterm zone="xorg7-lib libXinerama">
<primary sortas="c-libXinerama">libXinerama</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXi">
<term><filename class="libraryfile">libXi</filename></term>
<listitem>
<para>
is the X Input Extension Library
</para>
<indexterm zone="xorg7-lib libXi">
<primary sortas="c-libXi">libXi</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libxkbfile">
<term><filename class="libraryfile">libxkbfile</filename></term>
<listitem>
<para>
is the xkbfile Library
</para>
<indexterm zone="xorg7-lib libxkbfile">
<primary sortas="c-libxkbfile">libxkbfile</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXmu">
<term><filename class="libraryfile">libXmu</filename></term>
<listitem>
<para>
is the X interface library for miscellaneous utilities not
part of the Xlib standard
</para>
<indexterm zone="xorg7-lib libXmu">
<primary sortas="c-libXmu">libXmu</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXmuu">
<term><filename class="libraryfile">libXmuu</filename></term>
<listitem>
<para>
is the Mini Xmu Library
</para>
<indexterm zone="xorg7-lib libXmuu">
<primary sortas="c-libXmuu">libXmuu</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXpm">
<term><filename class="libraryfile">libXpm</filename></term>
<listitem>
<para>
is the X Pixmap Library
</para>
<indexterm zone="xorg7-lib libXpm">
<primary sortas="c-libXpm">libXpm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXpresent">
<term><filename class="libraryfile">libXpresent</filename></term>
<listitem>
<para>
is the library interface to the X Present Extension
</para>
<indexterm zone="xorg7-lib libXpresent">
<primary sortas="c-libXpresent">libXpresent</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXrandr">
<term><filename class="libraryfile">libXrandr</filename></term>
<listitem>
<para>
is the X Resize, Rotate and Reflection extension library
</para>
<indexterm zone="xorg7-lib libXrandr">
<primary sortas="c-libXrandr">libXrandr</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXrender">
<term><filename class="libraryfile">libXrender</filename></term>
<listitem>
<para>
is the X Render Library
</para>
<indexterm zone="xorg7-lib libXrender">
<primary sortas="c-libXrender">libXrender</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXRes">
<term><filename class="libraryfile">libXRes</filename></term>
<listitem>
<para>
is the X-Resource extension client library
</para>
<indexterm zone="xorg7-lib libXRes">
<primary sortas="c-libXRes">libXRes</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libxshmfence">
<term><filename class="libraryfile">libxshmfence</filename></term>
<listitem>
<para>
exposes an event API on top of Linux futexes
</para>
<indexterm zone="xorg7-lib libxshmfence">
<primary sortas="c-libxshmfence">libxshmfence</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXss">
<term><filename class="libraryfile">libXss</filename></term>
<listitem>
<para>
is the X11 Screen Saver extension client library
</para>
<indexterm zone="xorg7-lib libXss">
<primary sortas="c-libXss">libXss</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXt">
<term><filename class="libraryfile">libXt</filename></term>
<listitem>
<para>
is the X Toolkit Library
</para>
<indexterm zone="xorg7-lib libXt">
<primary sortas="c-libXt">libXt</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXtst">
<term><filename class="libraryfile">libXtst</filename></term>
<listitem>
<para>
is the Xtst Library
</para>
<indexterm zone="xorg7-lib libXtst">
<primary sortas="c-libXtst">libXtst</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXvMC">
<term><filename class="libraryfile">libXvMC</filename></term>
<listitem>
<para>
is the X-Video Motion Compensation Library
</para>
<indexterm zone="xorg7-lib libXvMC">
<primary sortas="c-libXvMC">libXvMC</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXvMCW">
<term><filename class="libraryfile">libXvMCW</filename></term>
<listitem>
<para>
is the XvMC Wrapper including the Nonstandard VLD extension
</para>
<indexterm zone="xorg7-lib libXvMCW">
<primary sortas="c-libXvMCW">libXvMCW</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXv">
<term><filename class="libraryfile">libXv</filename></term>
<listitem>
<para>
is the X Window System video extension library
</para>
<indexterm zone="xorg7-lib libXv">
<primary sortas="c-libXv">libXv</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXxf86dga">
<term><filename class="libraryfile">libXxf86dga</filename></term>
<listitem>
<para>
is the client library for the XFree86-DGA extension
</para>
<indexterm zone="xorg7-lib libXxf86dga">
<primary sortas="c-libXxf86dga">libXxf86dga</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libXxf86vm">
<term><filename class="libraryfile">libXxf86vm</filename></term>
<listitem>
<para>
is the client library for the XFree86-VidMode X extension
</para>
<indexterm zone="xorg7-lib libXxf86vm">
<primary sortas="c-libXxf86vm">libXxf86vm</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>