Added and mostly finished GNAT, started MinGW-w64

This commit is contained in:
Zeckmathederg 2024-04-27 02:13:48 -06:00
parent f6e361dd1b
commit 18198782a2
39 changed files with 2223 additions and 61 deletions

View File

@ -12,7 +12,7 @@
<title>Organization</title>
<para>
This book is divided into the following 5 sections
This book is divided into the following 6 sections:
</para>
<bridgehead renderas="sect2">Part I - Introduction</bridgehead>
@ -30,7 +30,16 @@
be a precursor to the following sections.
</para>
<bridgehead renderas="sect2">Part III - Steam</bridgehead>
<bridgehead renderas="sect2">Part III - Shared Dependencies</bridgehead>
<para>
This section is dedicated to covering dependencies that are shared
between Steam and Wine. As it turns out, there are quite a lot of
dependencies they both depend on. Anything specific to Steam and
Wine are covered in their respective chapters.
</para>
<bridgehead renderas="sect2">Part IV - Steam</bridgehead>
<para>
This part details how to install Steam and the linear line of
@ -38,7 +47,7 @@
certain packages.
</para>
<bridgehead renderas="sect2">Part IV - Wine</bridgehead>
<bridgehead renderas="sect2">Part V - Wine</bridgehead>
<para>
This section goes over installing toolchains like Mingw-w64

View File

@ -16,7 +16,9 @@ $Date$
<!-- Parts -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction/introduction.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="multilib/multilib.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shareddeps/sdchapter.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="steam/steamchapter.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="wine/winechapter.xml"/>
<!-- Appendices -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="appendices/creat-comm.xml"/>

View File

@ -39,6 +39,16 @@
headache at the final stages.
</para>
<para>
The following chapter is Shared Dependencies. Every user
who wants Steam and/or Wine will want to read this chapter
as both projects use the packages. Try as you may, but this
chapter is absolutely necessary. However, it is recommended
to check the dependency lists of Steam and Wine to see what
exactly you need from that section instead of installing
everything despite only needing maybe 90% of it.
</para>
<para>
The next chapter is Steam, which covers all the packages,
patches, configuration, and setup necessary to get Steam

View File

@ -318,6 +318,7 @@
<!-- Chapter 13 -->
<!ENTITY autoconf213-version "2.13">
<!ENTITY binutils-version "2.42">
<!ENTITY cbindgen-version "0.26.0">
<!ENTITY clisp-version "2.49">
<!ENTITY cmake-major-version "3.29">
@ -337,6 +338,7 @@
<!ENTITY lua-version "5.4.6">
<!ENTITY lua52-version "5.2.4">
<!ENTITY mercurial-version "6.7.2">
<!ENTITY mingw-w64-version "11.0.0">
<!ENTITY nasm-version "2.16.01">
<!ENTITY patchelf-version "0.18.0">
<!ENTITY php-version "8.3.4">

View File

@ -0,0 +1,11 @@
<?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">
<sect1 role="dummy">
<title>Basic X11 Software</title>
<para/>
</sect1>

View File

@ -1,7 +1,7 @@
<?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">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY curl-download-http "https://curl.se/download/curl-&curl-version;.tar.xz">
@ -405,7 +405,7 @@ cp -v -R docs -T /usr/share/doc/curl-&curl-version;</userinput></screen>
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/static-libraries.xml"/>
href="../../xincludes/static-libraries.xml"/>
<para>
<parameter>--enable-threaded-resolver</parameter>: This switch enables
<application>cURL</application>'s builtin threaded DNS resolver.

View File

@ -1,7 +1,7 @@
<?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">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY libidn2-download-http "&gnu-http;/libidn/libidn2-&libidn2-version;.tar.gz">
@ -105,10 +105,10 @@ make</userinput></screen>
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/static-libraries.xml"/>
href="../../xincludes/static-libraries.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/gtk-doc-rebuild.xml"/>
href="../../xincludes/gtk-doc-rebuild.xml"/>
</sect2>

View File

@ -1,7 +1,7 @@
<?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">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY libpsl-download-http "https://github.com/rockdaboot/libpsl/releases/download/&libpsl-version;/libpsl-&libpsl-version;.tar.gz">
@ -107,7 +107,7 @@ ninja</userinput></screen>
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/meson-buildtype-release.xml"/>
href="../../xincludes/meson-buildtype-release.xml"/>
</sect2>

View File

@ -1,7 +1,7 @@
<?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">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY libtasn1-download-http "&gnu-http;/libtasn1/libtasn1-&libtasn1-version;.tar.gz">
@ -119,10 +119,10 @@ make</userinput></screen>
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/static-libraries.xml"/>
href="../../xincludes/static-libraries.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/gtk-doc-rebuild-problem.xml"/>
href="../../xincludes/gtk-doc-rebuild-problem.xml"/>
</sect2>

View File

@ -1,7 +1,7 @@
<?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">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY libunistring-download-http "&gnu-http;/libunistring/libunistring-&libunistring-version;.tar.xz">
@ -106,7 +106,7 @@ make</userinput></screen>
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/static-libraries.xml"/>
href="../../xincludes/static-libraries.xml"/>
</sect2>

View File

@ -1,7 +1,7 @@
<?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">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY certhost "https://hg.mozilla.org/">

View File

@ -1,7 +1,7 @@
<?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">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY nspr-download-http "&mozilla-http;/nspr/releases/v&nspr-version;/src/nspr-&nspr-version;.tar.gz">

View File

@ -1,7 +1,7 @@
<?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">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- for when .0 is not part of the new tarball name, but always referenced -->

View File

@ -1,7 +1,7 @@
<?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">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY p11-kit-download-http "https://github.com/p11-glue/p11-kit/releases/download/&p11-kit-version;/p11-kit-&p11-kit-version;.tar.xz">
@ -143,7 +143,7 @@ ln -sfv /usr/libexec/p11-kit/trust-extract-compat \
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../../xincludes/meson-buildtype-release.xml"/>
href="../../xincludes/meson-buildtype-release.xml"/>
<para>
<parameter>-Dtrust_paths=/etc/pki/anchors</parameter>: this switch

15
shareddeps/sdchapter.xml Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE part 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;
]>
<part id="sdchapter" xreflabel="Shared Dependencies">
<?dbhtml filename="sdchapter.html" dir="shareddeps"?>
<title>Shared Dependencies</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sdintro.xml"/>
</part>

50
shareddeps/sdintro.xml Normal file
View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter 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;
]>
<chapter id="SharedDependencies">
<?dbhtml filename="sdintro.html"?>
<title>Shared Dependencies</title>
<para>
This chapter covers dependencies that both Steam and Wine depend on.
</para>
<!-- NETWORKING -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/netdummy.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/libtasn1.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/nspr.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/nss.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/p11-kit.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/make-ca.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/libunistring.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/libidn2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/libpsl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="net/curl.xml"/>
<!-- AUDIO -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="audio/audiodummy.xml"/>
<!-- BASIC X11 SOFTWARE -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/basicxdummy.xml"/>
<!-- X11 -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/x/xdummy.xml"/>
<!-- WAYLAND -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/wl/wldummy.xml"/>
<!-- GRAPHICS APIS -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gfxapi/gfxapidummy.xml"/>
<!-- GRAPHICS DRIVERS -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="drivers/driversdummy.xml"/>
<!-- MISC -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="misc/miscdummy.xml"/>
</chapter>

View File

@ -18,38 +18,6 @@
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="whatissteam.xml"/>
<!-- NETWORKING -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/netdummy.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/libtasn1.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/nspr.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/nss.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/p11-kit.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/make-ca.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/libunistring.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/libidn2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/libpsl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/net/curl.xml"/>
<!-- AUDIO -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/audio/audiodummy.xml"/>
<!-- X11 -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/dps/x/xdummy.xml"/>
<!-- WAYLAND -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/dps/wl/wldummy.xml"/>
<!-- GRAPHICS APIS -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/gfxapi/gfxapidummy.xml"/>
<!-- GRAPHICS DRIVERS -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/drivers/driversdummy.xml"/>
<!-- MISC -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/misc/miscdummy.xml"/>
<!-- STEAM -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="steam/steamdummy.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="steam/steamdeps.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="steam/steam.xml"/>

View File

@ -32,11 +32,9 @@
<para>
Please check <xref linkend="steamdeps"/> to find what you will need
before proceeding, although most of this chapter is a straight shot.
There is some choice involved such as choosing if you want X11 or
Wayland, Pulseaudio or Pipewire, so forth. There are subsections to
help readability and also meant to serve those following the Wine
chapter.
before proceeding, although most of <xref linkend="sdchapter"/>
is a straight shot. There is some choice involved such as choosing
if you want X11 or Wayland, Pulseaudio or Pipewire, so forth.
</para>
</sect1>

View File

@ -0,0 +1,193 @@
<?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 gnat-binary-amd64-download-http "https://github.com/alire-project/GNAT-FSF-builds/releases/download/gnat-&gcc-version;-2/gnat-x86_64-linux-&gcc-version;-2.tar.gz">
<!ENTITY gnat-binary-amd64-download-ftp " ">
<!ENTITY gnat-binary-amd64-md5sum "65994417e385f8b8109428ccbb58a017">
<!ENTITY gnat-binary-amd64-size "334 MB">
<!ENTITY gnat-binary-amd64-buildsize "859 MB">
<!ENTITY gnat-binary-i686-download-http "https://community.download.adacore.com/v1/c5e9e6fdff5cb77ed90cf8c62536653e27c0bed6?filename=gnat-gpl-2014-x86-linux-bin.tar.gz&amp;rand=1247">
<!ENTITY gnat-binary-i686-download-ftp " ">
<!ENTITY gnat-binary-i686-md5sum "69423c7ad8d9759377d4fff71a78992d">
<!ENTITY gnat-binary-i686-size "224 MB">
<!ENTITY gnat-binary-i686-buildsize "687 MB">
]>
<sect1 id="gnat-binary" xreflabel="Binary GNAT">
<?dbhtml filename="gnat-binary.html"?>
<title>Binary GNAT</title>
<indexterm zone="gnat-binary">
<primary sortas="a-gnat-binary">gnat-binary</primary>
</indexterm>
<sect2 role="package">
<title>About GNAT</title>
<para>
Ada is a modern programming language designed for large, long-lived
applications &mdash; and embedded systems in particular &mdash; where
reliability and efficiency are essential. It has a set of unique technical
features that make it highly effective for use in large, complex and
safety-critical projects.
</para>
<para>
The compiler and associated tools on this page are known as the
<application>GNAT</application> technology, developed by the Adacore
company, using the <application>GCC</application> backend. Since
parts of the Ada compiler are written in Ada, there is a circular
dependency on an Ada compiler. The instructions below install a
binary compiler. You do not need to do that if you already have built
<application>GNAT</application> tools. The next section covers how to
build GNAT once the circular dependency is satisfied.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Binary Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Binary Download (x86): <ulink url="&gnat-binary-i686-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &gnat-binary-i686-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size (binary): &gnat-binary-i686-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &gnat-binary-i686-buildsize;
</para>
</listitem>
</itemizedlist>
<itemizedlist spacing="compact">
<listitem>
<para>
Binary Download (x86_64): <ulink url="&gnat-binary-amd64-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &gnat-binary-amd64-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size (binary): &gnat-binary-amd64-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &gnat-binary-amd64-buildsize;
</para>
</listitem>
</itemizedlist>
<note>
<para>
If you are currently in a TTY and relying on command-line
tools to obtain software, it is recommended to open the
x86 GNAT download link with
<ulink url="https://www.linuxfromscratch.org/blfs/view/svn/basicnet/lynx.html">
lynx-&lynx-version;</ulink> or
<ulink url="https://www.linuxfromscratch.org/blfs/view/svn/basicnet/links.html">
links-&links-version;</ulink>. You can use
<ulink url="https://www.linuxfromscratch.org/blfs/view/svn/basicnet/wget.html">
wget-&wget-version;</ulink> but not
<xref linkend="curl"/>.
If you do end up using <application>wget</application>
regardless of the recommendation against it, please run
the following the command before unpacking:
</para>
<screen><userinput>mv c5e9e6fdff5cb77ed90cf8c62536653e27c0bed6\?filename\=gnat-gpl-2014-x86-linux-bin.tar.gz\&amp;rand\=1247 \
gnat-gpl-2014-x86-linux-bin.tar.gz</userinput></screen>
</note>
<important>
<para>
If you are doing multilib, just download the x86_64
<application>GNAT</application> binary tarball.
The instructions in the next section for multilib will
work as expected and <application>GCC</application>
will continue to have multilib support.
</para>
</important>
</sect2>
<sect2 role="installation">
<title>Installation of GNAT Binaries</title>
<para>
Install the x86_64 <application>GNAT</application>
binaries by running the following commands as the
<systemitem class="username">root</systemitem> user
while still in the directory the tarball is in:
</para>
<screen role="root"><userinput>export GNATTBPATH=$PWD &amp;&amp;
cd /opt &amp;&amp;
tar xpvf "$GNATTBPATH"/gnat-x86_64-linux-&gcc-version;-2.tar.gz
ln -sv gnat-x86_64-linux-&gcc-version;-2 gnat &amp;&amp;
cd $GNATTBPATH
unset GNATTBPATH</userinput></screen>
<para>
Or install the x86 <application>GNAT</application>
binaries by running the following commands as the
<systemitem class="username">root</systemitem> user
while still in the directory the tarball is in:
</para>
<screen role="root"><userinput>export GNATTBPATH=$PWD &amp;&amp;
cd /opt &amp;&amp;
tar xpvf "$GNATTBPATH"/gnat-gpl-2014-x86-linux-bin.tar.gz
ln -sv gnat-gpl-2014-x86-linux-bin gnat &amp;&amp;
chown -R root:root gnat &amp;&amp;
cd $GNATTBPATH
unset GNATTBPATH</userinput></screen>
<para>
Now adjust the <filename>PATH</filename> variable so
the <application>GNAT</application> software can be found
and used:
</para>
<screen><userinput>PATH_HOLD=$PATH &amp;&amp;
export PATH=/opt/gnat/bin:$PATH_HOLD</userinput></screen>
<para>
Ensure <command>ld</command> and <command>as</command>
from the <application>GNAT</application> package aren't
used as to prevent issues with aging by issuing the
following as the <systemitem class="username">root
</systemitem> user:
</para>
<screen><userinput>find /opt/gnat -name ld -exec mv -v {} {}.old \;
find /opt/gnat -name as -exec mv -v {} {}.old \;</userinput></screen>
</sect2>
</sect1>

652
wine/deps/tc/gnat.xml Normal file
View File

@ -0,0 +1,652 @@
<?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 gnat-download-http "&gnu-http;/gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz">
<!ENTITY gnat-download-ftp " ">
<!ENTITY gnat-md5sum "e0e48554cc6e4f261d55ddee9ab69075">
<!ENTITY gnat-size "UNKNOWN MB">
<!ENTITY gnat-buildsize "UNKNOWN GB">
<!ENTITY gnat-time "UNKNOWN SBU">
]>
<sect1 id="gnat" xreflabel="GNAT-&gcc-version;">
<?dbhtml filename="gnat.html"?>
<title>GNAT-&gcc-version;</title>
<indexterm zone="gnat">
<primary sortas="a-gnat">gnat</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to GNAT</title>
<para>
<application>GNAT</application> is a part of
<application>GCC</application>. It is often called
GCC-Ada because of this. Not many packages depend
on <application>GNAT</application> besides
<xref linkend="wine"/>, although some packages
optionally depend on it.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&gnat-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&gnat-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &gnat-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &gnat-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &gnat-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &gnat-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">GNAT Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="gnat-binary"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optionnal">
<ulink url="https://www.linuxfromscratch.org/blfs/view/svn/general/gdb.html">
GDB-&gdb-version;</ulink>,
<ulink url="https://www.linuxfromscratch.org/blfs/view/svn/general/valgrind.html">
Valgrind-&valgrind-version;</ulink> (for tests), and
<ulink url="https://repo.or.cz/isl.git">
ISL</ulink> (to enable graphite optimization)
</para>
</sect2>
<sect2 role="installation">
<title>Installation of GNAT</title>
<important>
<para>
Even if you specify only languages other than Ada, C, and C++
to the ./configure command below, the installation process
will overwrite your existing GCC C and C++ compilers and
libraries. Running the full suite of tests is recommended.
</para>
<para>
Do not continue with the <command>make install</command>
command until you are confident the build was successful.
You can compare your test results with those found at
<ulink url="https://gcc.gnu.org/ml/gcc-testresults/"/>.
You may also want to refer to the information found in the
GCC section of Chapter 8 in the LFS book
(<ulink url="https://www.linuxfromscratch.org/lfs/view/development/chapter08/gcc.html"/>).
</para>
</important>
<sect3>
<title>Normal Installation of GNAT</title>
<warning>
<para>
If you are doing multilib, under no circumstance should you
follow the instructions immediately below or else you will
lose multilib support in <application>GCC</application>.
Skip to the Multilib GNAT section.
</para>
</warning>
<para>
The instructions below are intentionally performing a
“bootstrap” process. Bootstrapping is needed for robustness
and is highly recommended when upgrading the compilers version.
To disable bootstrap anyway, add <parameter>--disable-bootstrap
</parameter> to the <command>./configure</command> options below.
</para>
<para>
Install <application>GNAT</application> by running the following
commands:
</para>
<screen><userinput>case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' \
-i.orig gcc/config/i386/t-linux64
;;
esac
mkdir build &amp;&amp;
cd build &amp;&amp;
../configure \
--prefix=/usr \
--disable-multilib \
--with-system-zlib \
--enable-default-pie \
--enable-default-ssp \
--disable-fixincludes \
--enable-languages=ada &amp;&amp;
make</userinput></screen>
<para>
If you have installed additional packages such as
<application>valgrind</application> and <application>gdb
</application>, the <application>gcc</application> part of the
test suite will run more tests than in LFS. Some of those will
report FAIL and others XPASS (pass when expected to FAIL).
As of gcc-&gcc-version;, about 65 FAIL occur in the “guality”
suite, as well as miscellaneous failures throughout the rest of
the test suite. If all the compilers above are built, there will
be a little over 80 unexpected failures out of over 546,000 tests.
To run the tests, issue:
</para>
<screen><userinput>ulimit -s 32768 &amp;&amp;
make -k check</userinput></screen>
<para>
The tests are very long, and the results may be hard to find in the
logs, specially if you use parallel jobs with make. You can get a
summary of the tests with:
</para>
<screen><userinput>../contrib/test_summary</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install &amp;&amp;
mkdir -pv /usr/share/gdb/auto-load/usr/lib &amp;&amp;
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib &amp;&amp;
chown -v -R root:root \
/usr/lib/gcc/*linux-gnu/7.2.0/include{,-fixed} \
/usr/lib/gcc/*linux-gnu/7.2.0/ada{lib,include}</userinput></screen>
</sect3>
<sect3>
<title>Multilib Installation of GNAT</title>
<para>
The instructions below are intentionally performing a
“bootstrap” process. Bootstrapping is needed for robustness
and is highly recommended when upgrading the compilers version.
To disable bootstrap anyway, add <parameter>--disable-bootstrap
</parameter> to the <command>./configure</command> options below.
</para>
<para>
Install Multilib <application>GNAT</application> by running the
following commands:
</para>
<screen><userinput>case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' \
-i.orig gcc/config/i386/t-linux64
;;
esac
mkdir build &amp;&amp;
cd build &amp;&amp;
../configure \
--prefix=/usr \
--enable-multilib \
--with-multilib-list=m64,m32 \
--with-system-zlib \
--enable-default-pie \
--enable-default-ssp \
--disable-fixincludes \
--enable-languages=ada &amp;&amp;
make
</userinput></screen>
<para>
If you have installed additional packages such as
<application>valgrind</application> and <application>gdb
</application>, the <application>gcc</application> part of the
test suite will run more tests than in LFS. Some of those will
report FAIL and others XPASS (pass when expected to FAIL).
As of gcc-&gcc-version;, about 65 FAIL occur in the “guality”
suite, as well as miscellaneous failures throughout the rest of
the test suite. If all the compilers above are built, there will
be a little over 80 unexpected failures out of over 546,000 tests.
To run the tests, issue:
</para>
<screen><userinput>ulimit -s 32768 &amp;&amp;
make -k check</userinput></screen>
<para>
The tests are very long, and the results may be hard to find in the
logs, specially if you use parallel jobs with make. You can get a
summary of the tests with:
</para>
<screen><userinput>../contrib/test_summary</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install &amp;&amp;
mkdir -pv /usr/share/gdb/auto-load/usr/lib &amp;&amp;
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib &amp;&amp;
chown -v -R root:root \
/usr/lib/gcc/*linux-gnu/7.2.0/include{,-fixed} \
/usr/lib/gcc/*linux-gnu/7.2.0/ada{lib,include}</userinput></screen>
</sect3>
</sect2>
<sect2>
<title>Cleaning Up and Testing</title>
<para>
Now that <application>GNAT</application> has been installed,
it is time to clean up and test your installation to make sure
everything is working as expected.
</para>
<para>
Remove the binary installation that was installed earlier
as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>rm -rf /opt/gnat*</userinput></screen>
<para>
Now as the regular user, restore the <filename>PATH</filename>
variable to what it was beforehand:
</para>
<screen><userinput>export PATH=$PATH_HOLD &amp;&amp;
unset PATH_HOLD</userinput></screen>
<para>
Now it's time to test the installation. First confirm that the
C and C++ compilers are working correctly:
</para>
<screen><userinput>echo "int main(){}" >> main.c &amp;&amp;
cp -v main.c main.cpp &amp;&amp;
gcc main.c &amp;&amp;
./a.out
rm -v a.out &amp;&amp;
g++ main.cpp &amp;&amp;
./a.out
rm -v a.out main.{c,cpp}</userinput></screen>
<para>
If you're doing multilib:
</para>
<screen><userinput>echo "int main(){}" >> main.c &amp;&amp;
cp -v main.c main.cpp &amp;&amp;
gcc -m32 main.c &amp;&amp;
./a.out
rm -v a.out &amp;&amp;
g++ -m32 main.cpp &amp;&amp;
./a.out
rm -v a.out main.{c,cpp}</userinput></screen>
<para>
And finally, test the GNAT compiler:
</para>
<screen><userinput>cat &gt;&gt; testgnat.adb &lt;&lt; "EOF"
<literal>with Ada.Text_IO; use Ada.Text_IO;
procedure Testgnat is
begin
Put_Line("Success!");
end Testgnat;</literal>
EOF
gnatmake testgnat.adb &amp;&amp;
./testgnat
rm -v testgnat*</userinput></screen>
<para>
The commands above should have no errors, otherwise
something went wrong with the installation.
</para>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>mkdir build; cd build</command>: The
<application>GCC</application> documentation recommends
building the package in a dedicated build directory.
</para>
<para>
<parameter>--disable-multilib</parameter>: This parameter ensures
that files are created for the specific architecture of your computer.
</para>
<para>
<parameter>--enable-multilib</parameter>: This parameter ensures
that files are created for both 32-bit and 64-bit despite computer
architecture.
</para>
<para>
<parameter>--with-system-zlib</parameter>: Uses the system
<application>zlib</application> instead of the bundled one.
<application>zlib</application> is used for compressing
and decompressing <application>GCC</application>'s intermediate
language in LTO (Link Time Optimization) object files.
</para>
<para>
<parameter>--enable-default-pie</parameter>: Makes the
<option>-fpie</option> option the default when compiling programs.
Together with the <xref linkend="gASLR"/> feature enabled in the kernel,
this defeats some kind of attacks based on known memory layouts.
</para>
<para>
<parameter>--enable-default-ssp</parameter>: Makes the
<option>-fstack-protector-strong</option> option the default when
compiling programs. <xref linkend="gSSP"/> is a technique preventing
alteration of the program flow by corrupting the parameter stack.
</para>
<para>
<parameter>--enable-languages=ada</parameter>:
This command builds support for ada, but will also build support
for C and C++. Refer to <ulink
url="https://www.linuxfromscratch.org/blfs/view/svn/general/gcc.html"/>
to find what other languages are supported. Make sure to add
<parameter>ada</parameter> to the option if you recompile <application>
GCC</application>.
</para>
<para>
<command>ulimit -s 32768</command>: This command prevents several
tests from running out of stack space.
</para>
<para>
<command>make -k check</command>: This command runs the test suite
without stopping if any errors are encountered.
</para>
<para>
<command>../contrib/test_summary</command>: This command will produce
a summary of the test suite results. You can append <command>| grep
-A7 Summ</command> to the command to produce an even more condensed
version of the summary. You may also wish to redirect the output
to a file for review and comparison later on.
</para>
<para>
<command>mv -v /usr/lib/*gdb.py ...</command>: The installation
stage puts some files used by <application>gdb</application> under the
<filename class="directory">/usr/lib</filename> directory. This generates
spurious error messages when performing <command>ldconfig</command>. This
command moves the files to another location.
</para>
<para>
<command>chown -v -R root:root /usr/lib/gcc/*linux-gnu/...</command>:
If the package is built by a user other than root, the ownership of the
installed <filename class="directory">include</filename> directory (and
its content) will be incorrect. This command changes the ownership to the
<systemitem class="username">root</systemitem> user and group.
</para>
<para>
<option>--enable-host-shared --enable-languages=jit</option>:
Build <systemitem class="library">libgccjit</systemitem>, a library
for embedding GCC inside programs and libraries for generating machine
code. Despite <quote>JIT</quote> (just-in-time) in the name, the
library can be used for AOT (ahead-of-time) compilation as well.
<option>--enable-host-shared</option> is needed for building
<systemitem class="library">libgccjit</systemitem>, but it
significantly slows down GCC. So
<systemitem class="library">libgccjit</systemitem> should be built and
installed separately, not as a part of the <quote>main</quote> GCC
installation. If you need this library, configure GCC with
these two options and install the library by running
<!-- from Arch, not tested -->
<command>make -C gcc jit.install-common jit.install-info</command>
as the &root; user. This library is not used by any BLFS package,
nor tested by the BLFS developers.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
gnat, gnatbind, gnatchop, gnatclean, gnatfind, gnatkr,
gnatlink, gnatls, gnatmake, gnatname, gnatprep, gnatxref
</seg>
<seg>
libgnarl.{so,a}, libgnat.{so,a} in <filename class="directory">
/usr/lib/gcc/&lt;arch-triplet&gt;/&gcc-version;/adalib</filename>
</seg>
<seg>
/usr/lib/gcc/&lt;arch-triplet&gt;/&gcc-version;/ada{include,lib}
and /usr/lib/gcc/&lt;arch-triplet&gt;/&gcc-version;/plugin/include/ada
</seg>
</seglistitem>
</segmentedlist>
<para>
Only the Ada specific files are listed here. Others can be found at
<ulink url="&lfs-root;/chapter06/gcc.html#contents-gcc"/> as they were
initially installed during the building of LFS.
</para>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="gnat-prog">
<term><command>gnat</command></term>
<listitem>
<para>
is a wrapper that accepts a number of commands and calls
the corresponding tool from the list below.
</para>
<indexterm zone="gnat gnat-prog">
<primary sortas="b-gnat">gnat</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatbind">
<term><command>gnatbind</command></term>
<listitem>
<para>
is used to bind compiled objects.
</para>
<indexterm zone="gnat gnatbind">
<primary sortas="b-gnatbind">gnatbind</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatchop">
<term><command>gnatchop</command></term>
<listitem>
<para>
is useful for renaming files to meet the standard
<application>Ada</application> default file naming conventions.
</para>
<indexterm zone="gnat gnatchop">
<primary sortas="b-gnatchop">gnatchop</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatclean">
<term><command>gnatclean</command></term>
<listitem>
<para>
is used to remove files associated with a
<application>GNAT</application> project.
</para>
<indexterm zone="gnat gnatclean">
<primary sortas="b-gnatclean">gnatclean</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatfind">
<term><command>gnatfind</command></term>
<listitem>
<para>
is intended for locating definition and/or references to
specified entities in a <application>GNAT</application> project.
</para>
<indexterm zone="gnat gnatfind">
<primary sortas="b-gnatfind">gnatfind</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatkr">
<term><command>gnatkr</command></term>
<listitem>
<para>
is used to determine the crunched name for a given file, when
crunched to a specified maximum length.
</para>
<indexterm zone="gnat gnatkr">
<primary sortas="b-gnatkr">gnatkr</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatlink">
<term><command>gnatlink</command></term>
<listitem>
<para>
is used to link programs and build an executable file.
</para>
<indexterm zone="gnat gnatlink">
<primary sortas="b-gnatlink">gnatlink</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatls">
<term><command>gnatls</command></term>
<listitem>
<para>
is the compiled unit browser.
</para>
<indexterm zone="gnat gnatls">
<primary sortas="b-gnatls">gnatls</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatmake">
<term><command>gnatmake</command></term>
<listitem>
<para>
is the <application>Ada</application> compiler, which performs
compilation, binding and linking.
</para>
<indexterm zone="gnat gnatmake">
<primary sortas="b-gnatmake">gnatmake</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatname">
<term><command>gnatname</command></term>
<listitem>
<para>
will list the files associated with a
<application>GNAT</application> project.
</para>
<indexterm zone="gnat gnatname">
<primary sortas="b-gnatname">gnatname</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatprep">
<term><command>gnatprep</command></term>
<listitem>
<para>
is the <application>GNAT</application> external preprocessor.
</para>
<indexterm zone="gnat gnatprep">
<primary sortas="b-gnatprep">gnatprep</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gnatxref">
<term><command>gnatxref</command></term>
<listitem>
<para>
is similar to <command>gnatfind</command>, but generates
a full report of all cross-references.
</para>
<indexterm zone="gnat gnatxref">
<primary sortas="b-gnatxref">gnatxref</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

View File

@ -0,0 +1,113 @@
<?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 mingw-w64-binary-download-http "https://github.com/Zeckmathederg/mingw-w64-binary-builds/releases/download/mingw-w64-binary-gcc-&gcc-version;-mingw-&mingw-w64-version;/mingw-w64-gcc-&gcc-version;-mingw-&mingw-w64-version;.tar.xz">
<!ENTITY mingw-w64-binary-download-ftp " ">
<!ENTITY mingw-w64-binary-md5sum "3596109b369fc7d0ee091bdcb880e19f">
<!ENTITY mingw-w64-binary-size "206 MB">
<!ENTITY mingw-w64-binary-buildsize "1.3 GB">
]>
<sect1 id="mingw-w64-binary" xreflabel="Binary MinGW-w64">
<?dbhtml filename="mingw-w64-binary.html"?>
<title>Binary MinGW-w64</title>
<indexterm zone="mingw-w64-binary">
<primary sortas="a-mingw-w64-binary">gnat-binary</primary>
</indexterm>
<sect2 role="package">
<title>About MinGW-w64</title>
<para>
MinGW-w64 is an advancement of the original mingw.org project,
created to support the GCC compiler on Windows systems.
It has forked it in 2007 in order to provide support for 64 bits
and new APIs. It has since then gained widespread use and distribution.
</para>
<para>
On Linux, it serves as a useful toolchain to compile code targeting
Windows, resulting binaries can include .exe and .dll files.
<xref linkend="wine"/> is a project that depends on <application>
MinGW-W64</application> to compile .dll files. However in order
to build this toolchain, the toolchain must already be on the system,
so you need to install the binary toolchain first to satisfy the
circular dependency.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Binary Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Binary Download: <ulink url="&mingw-w64-binary-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &mingw-w64-binary-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size (binary): &mingw-w64-binary-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &mingw-w64-binary-buildsize;
</para>
</listitem>
</itemizedlist>
<note>
<para>
There is only one binary package, but that is fine.
The <application>MinGW-w64</application> binaries
are separated based on the target architecture
and the binaries are often named with the architecture
prefix such as x86_64 and i686. The binary package
has binaries for those two architectures.
</para>
</note>
</sect2>
<sect2 role="installation">
<title>Installation of MinGW-w64 Binaries</title>
<para>
Install the <application>MinGW-w64</application>
binaries by running the following commands as the
<systemitem class="username">root</systemitem> user
while still in the directory the tarball is in:
</para>
<screen role="root"><userinput>export MINGWTBPATH=$PWD &amp;&amp;
cd /opt &amp;&amp;
tar xpvf "$MINGWTBPATH"/mingw-w64-gcc-&gcc-version;-mingw-&mingw-w64-version;.tar.xz
ln -sv mingw-w64-latest-03122024 mingw-w64 &amp;&amp;
cd $MINGWTBPATH
unset MINGWTBPATH</userinput></screen>
<para>
Now adjust the <filename>PATH</filename> variable so
the <application>MinGW-w64</application> software can be found
and used:
</para>
<screen><userinput>PATH_HOLD=$PATH &amp;&amp;
export PATH=/opt/mingw-w64/usr/bin:$PATH_HOLD</userinput></screen>
</sect2>
</sect1>

View File

@ -0,0 +1,314 @@
<?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 mingw-w64-binutils-download-http "https://sourceware.org/pub/binutils/releases/binutils-&binutils-version;.tar.xz">
<!ENTITY mingw-w64-binutils-download-ftp " ">
<!ENTITY mingw-w64-binutils-md5sum "a075178a9646551379bfb64040487715">
<!ENTITY mingw-w64-binutils-size "26.9 MB">
<!ENTITY mingw-w64-binutils-buildsize "36.6 MB">
<!ENTITY mingw-w64-binutils-time "2.2 SBU">
]>
<sect1 id="mingw-w64-binutils" xreflabel="MinGW-w64-binutils-&binutils-version;">
<?dbhtml filename="mingw-w64-binutils.html"?>
<title>MinGW-w64-binutils-&binutils-version;</title>
<indexterm zone="mingw-w64-binutils">
<primary sortas="a-mingw-w64-binutils">mingw-w64-binutils</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to MinGW-w64-binutils</title>
<para>
MinGW-w64-binutils is a collection of software that can change
the state of Windows binaries or make them executable. These
binutils are specific to MinGW-w64, and using regular binutils
will not work for the proceeding packages.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&mingw-w64-binutils-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&mingw-w64-binutils-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &mingw-w64-binutils-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &mingw-w64-binutils-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &mingw-w64-binutils-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &mingw-w64-binutils-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">MinGW-w64-binutils Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="mingw-w64-binary"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of MinGW-w64-binutils</title>
<para>
First make sure libiberty does not get installed:
</para>
<screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' \ libiberty/Makefile.in
</userinput></screen>
<para>
Now you may proceed.
</para>
<sect3>
<title>x86_64 MinGW-w64-binutils</title>
<para>
Install x86_64 <application>MinGW-w64-binutils</application>
by running the following commands:
</para>
<screen><userinput>mkdir build-x86_64 &amp;&amp;
cd build-x86_64
../configure --prefix=/usr \
--target=x86_64-w64-mingw32 \
--infodir=/usr/share/info/x86_64-w64-mingw32 \
--enable-lto \
--enable-plugins \
--enable-deterministic-archives \
--disable-multilib \
--disable-nls \
--disable-werror
make</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install
rm -v /usr/lib/bfd-plugins/libdep.so
</userinput></screen>
</sect3>
<sect3>
<title>i686 MinGW-w64-binutils</title>
<para>
Install i686 <application>MinGW-w64-binutils</application>
by running the following commands:
</para>
<screen><userinput>mkdir build-i686 &amp;&amp;
cd build-i686
../configure --prefix=/usr \
--target=i686-w64-mingw32 \
--infodir=/usr/share/info/i686-w64-mingw32 \
--enable-lto \
--enable-plugins \
--enable-deterministic-archives \
--disable-multilib \
--disable-nls \
--disable-werror
make</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install
rm -v /usr/lib/bfd-plugins/libdep.so
</userinput></screen>
</sect3>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<parameter>--enable-lto</parameter>: This option builds lto support.
</para>
<para>
<parameter>--enable-plugins</parameter>: This option enables
plugin support for the linker.
</para>
<para>
<parameter>--enable-deterministic-archives</parameter>: This option
enables building determinable archives by hardcoding filemodes,
timestamps, and file owners into the archive.
</para>
<para>
<parameter>--disable-multilib</parameter>: This option disables
multilib support in each architecture. It is not needed and doing
a <application>Wine</application> WoW64 build just uses the
binaries from each architecture. Do not set <parameter>
--enable-multilib</parameter> for any <application>MinGW-w64
</application> package or else problems will occur.
</para>
<para>
<parameter>--disable-nls</parameter>: This option disables
nls support, disabling output diagnostics in languages other than
American English. Omit <parameter>--disable-nls</parameter> and
invoke <parameter>--enable-nls</parameter> to enable nls support.
</para>
<para>
<parameter>--disable-werror</parameter>: This option makes it so
warnings won't be considered errors.
</para>
<para>
<parameter>--target=*</parameter>: This option builds files for
the architecture passed to it.
</para>
<para>
<command>rm -v /usr/lib/bfd-plugins/libdep.so</command>:
This command removes an unnecessary library.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
{i686,x86_64}-w64-mingw32-addr2line,
{i686,x86_64}-w64-mingw32-c++filt,
{i686,x86_64}-w64-mingw32-dllwrap,
{i686,x86_64}-w64-mingw32-elfedit,
{i686,x86_64}-w64-mingw32-gprof,
{i686,x86_64}-w64-mingw32-size,
{i686,x86_64}-w64-mingw32-strings,
{i686,x86_64}-w64-mingw32-windmc,
{i686,x86_64}-w64-mingw32-windres,
ar, as, dlltool, ld, ld.bfd, nm, objcopy, ranlib,
readelf, and strip (<application>MinGW-w64</application>
specific binaries besides formatting include:
{i686,x86_64}-w64-mingw32-dllwrap,
{i686,x86_64}-w64-mingw32-windmc,
{i686,x86_64}-w64-mingw32-windres,
and dlltool)
</seg>
<seg>
None
</seg>
<seg>
/usr/{i686,x86_64}-w64-mingw32/bin,
/usr/{i686,x86_64}-w64-mingw32/lib/ldscripts, and
/usr/share/info/{i686,x86_64}-w64-mingw32
</seg>
</seglistitem>
</segmentedlist>
<para>
Only binutils specific to <application>MinGW-w64</application>
will be explained. For the rest, see
<ulink url="https://www.linuxfromscratch.org/~thomas/multilib/chapter08/binutils.html">
binutils-&binutils-version;</ulink>.
</para>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="dllwrap">
<term><command>{i686,x86_64}-w64-mingw32-dllwrap</command></term>
<listitem>
<para>
ancient tool for generating PE style DLLs
</para>
<indexterm zone="mingw-w64-binutils dllwrap">
<primary sortas="b-dllwrap">dllwrap</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="windmc">
<term><command>{i686,x86_64}-w64-mingw32-windmc</command></term>
<listitem>
<para>
generates Windows message resources
</para>
<indexterm zone="mingw-w64-binutils windmc">
<primary sortas="b-windmc">windmc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="windres">
<term><command>{i686,x86_64}-w64-mingw32-windres</command></term>
<listitem>
<para>
manipulates Windows resources
</para>
<indexterm zone="mingw-w64-binutils windres">
<primary sortas="b-windres">windres</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="dlltool">
<term><command>dlltool</command></term>
<listitem>
<para>
creates files neededto build and use DLLs
</para>
<indexterm zone="mingw-w64-binutils dlltool">
<primary sortas="b-dlltool">dlltool</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

View File

@ -0,0 +1,186 @@
<?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 libunistring-download-http "&gnu-http;/libunistring/libunistring-&libunistring-version;.tar.xz">
<!ENTITY libunistring-download-ftp " ">
<!ENTITY libunistring-md5sum "6b4ea63617bf09d76e5234379e75e7f9">
<!ENTITY libunistring-size "2.4 MB">
<!ENTITY libunistring-buildsize "54 MB (add 56 MB for tests)">
<!ENTITY libunistring-time "0.5 SBU; add 0.3 SBU for tests; both using parallelism=4">
]>
<sect1 id="libunistring" xreflabel="libunistring-&libunistring-version;">
<?dbhtml filename="libunistring.html"?>
<title>libunistring-&libunistring-version;</title>
<indexterm zone="libunistring">
<primary sortas="a-libunistring">libunistring</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to libunistring</title>
<para>
<application>libunistring</application> is a library that provides
functions for manipulating Unicode strings and for manipulating C
strings according to the Unicode standard.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&libunistring-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&libunistring-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &libunistring-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &libunistring-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &libunistring-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &libunistring-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">libunistring Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<!-- xref linkend="texlive"/> (or <xref linkend="tl-installer"/ -->)
(to rebuild the documentation)
</para>
</sect2>
<sect2 role="installation">
<title>Installation of libunistring</title>
<para>
Install <application>libunistring</application> by running the following
commands:
</para>
<screen><userinput>./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libunistring-&libunistring-version; &amp;&amp;
make</userinput></screen>
<para>
To test the results, issue: <command>make check</command>.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
</sect2>
<sect2>
<title>32-bit Installation of lib32-libunistring</title>
<para>
First clean the directory by running the following command:
</para>
<screen><userinput>make distclean</userinput></screen>
<para>
Install <application>lib32-libunistring</application>
by running the following commands:
</para>
<screen><userinput>CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure --prefix=/usr \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu \
--disable-static &amp;&amp;
make</userinput></screen>
<para>
Now as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make DESTDIR=$PWD/DESTDIR install
cp -vr DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
ldconfig</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>None</seg>
<seg>libunistring.so</seg>
<seg>
/usr/include/unistring and
/usr/share/doc/libunistring-&libunistring-version;
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libunistring-lib">
<term><command>libunistring.so</command></term>
<listitem>
<para>
provides the unicode string library API
</para>
<indexterm zone="libunistring libunistring-lib">
<primary sortas="c-libunistring-lib">libunistring.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

View File

@ -0,0 +1,186 @@
<?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 libunistring-download-http "&gnu-http;/libunistring/libunistring-&libunistring-version;.tar.xz">
<!ENTITY libunistring-download-ftp " ">
<!ENTITY libunistring-md5sum "6b4ea63617bf09d76e5234379e75e7f9">
<!ENTITY libunistring-size "2.4 MB">
<!ENTITY libunistring-buildsize "54 MB (add 56 MB for tests)">
<!ENTITY libunistring-time "0.5 SBU; add 0.3 SBU for tests; both using parallelism=4">
]>
<sect1 id="libunistring" xreflabel="libunistring-&libunistring-version;">
<?dbhtml filename="libunistring.html"?>
<title>libunistring-&libunistring-version;</title>
<indexterm zone="libunistring">
<primary sortas="a-libunistring">libunistring</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to libunistring</title>
<para>
<application>libunistring</application> is a library that provides
functions for manipulating Unicode strings and for manipulating C
strings according to the Unicode standard.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&libunistring-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&libunistring-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &libunistring-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &libunistring-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &libunistring-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &libunistring-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">libunistring Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<!-- xref linkend="texlive"/> (or <xref linkend="tl-installer"/ -->)
(to rebuild the documentation)
</para>
</sect2>
<sect2 role="installation">
<title>Installation of libunistring</title>
<para>
Install <application>libunistring</application> by running the following
commands:
</para>
<screen><userinput>./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libunistring-&libunistring-version; &amp;&amp;
make</userinput></screen>
<para>
To test the results, issue: <command>make check</command>.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
</sect2>
<sect2>
<title>32-bit Installation of lib32-libunistring</title>
<para>
First clean the directory by running the following command:
</para>
<screen><userinput>make distclean</userinput></screen>
<para>
Install <application>lib32-libunistring</application>
by running the following commands:
</para>
<screen><userinput>CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure --prefix=/usr \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu \
--disable-static &amp;&amp;
make</userinput></screen>
<para>
Now as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make DESTDIR=$PWD/DESTDIR install
cp -vr DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
ldconfig</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>None</seg>
<seg>libunistring.so</seg>
<seg>
/usr/include/unistring and
/usr/share/doc/libunistring-&libunistring-version;
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libunistring-lib">
<term><command>libunistring.so</command></term>
<listitem>
<para>
provides the unicode string library API
</para>
<indexterm zone="libunistring libunistring-lib">
<primary sortas="c-libunistring-lib">libunistring.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

View File

@ -0,0 +1,181 @@
<?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 mingw-w64-download-http "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v&mingw-w64-version;.tar.bz2">
<!ENTITY mingw-w64-download-ftp " ">
<!ENTITY mingw-w64-md5sum "6c621754f7076548e57cfc432ec6de51">
<!ENTITY mingw-w64-size "11 MB">
<!ENTITY mingw-w64-buildsize "132.2 MB">
<!ENTITY mingw-w64-time "less than 0.1 SBU">
]>
<sect1 id="mingw-w64-headers" xreflabel="MinGW-w64-headers-&mingw-w64-version;">
<?dbhtml filename="mingw-w64-headers.html"?>
<title>MinGW-w64-headers-&mingw-w64-version;</title>
<indexterm zone="mingw-w64-headers">
<primary sortas="a-mingw-w64-headers">mingw-w64-headers</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to MinGW-w64-headers</title>
<para>
MinGW-w64-headers provides header files for Windows.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&mingw-w64-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&mingw-w64-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &mingw-w64-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &mingw-w64-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &mingw-w64-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &mingw-w64-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">MinGW-w64-headers Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="mingw-w64-binary"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of MinGW-w64-headers</title>
<sect3>
<title>x86_64 MinGW-w64-headers</title>
<para>
Install x86_64 <application>MinGW-w64-headers</application>
by running the following commands:
</para>
<screen><userinput>mkdir build-x86_64-headers &amp;&amp;
cd build-x86_64-headers
../mingw-w64-headers/configure --prefix=/usr/x86_64-w64-mingw32 \
--enable-sdk=all \
--host=x86_64-w64-mingw32</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install
rm -v /usr/x86_64-w64-mingw32/include/pthread_{signal,time,unistd}.h
</userinput></screen>
</sect3>
<sect3>
<title>i686 MinGW-w64-headers</title>
<para>
Install i686 <application>MinGW-w64-headers</application>
by running the following commands:
</para>
<screen><userinput>mkdir build-i686-headers &amp;&amp;
cd build-i686-headers
../mingw-w64-headers/configure --prefix=/usr/i686-w64-mingw32 \
--enable-sdk=all \
--host=i686-w64-mingw32
</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install
rm -v /usr/i686-w64-mingw32/include/pthread_{signal,time,unistd}.h
</userinput></screen>
</sect3>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<parameter>--prefix=/usr/*</parameter>: This option installs
the files to their respective architecture for better separation
of architectures.
</para>
<para>
<parameter>--enable-sdk=all</parameter>: This option enables
the full SDK.
</para>
<para>
<parameter>--host=*</parameter>: This option builds files for
the architecture passed to it.
</para>
<para>
<command>rm -v /usr/*/include/pthread_*</command>:
This command removes unnecessary header files.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
None
</seg>
<seg>
None
</seg>
<seg>
/usr/{i686,x86_64}-w64-mingw32/include
</seg>
</seglistitem>
</segmentedlist>
</sect2>
</sect1>

View File

@ -0,0 +1,186 @@
<?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 libunistring-download-http "&gnu-http;/libunistring/libunistring-&libunistring-version;.tar.xz">
<!ENTITY libunistring-download-ftp " ">
<!ENTITY libunistring-md5sum "6b4ea63617bf09d76e5234379e75e7f9">
<!ENTITY libunistring-size "2.4 MB">
<!ENTITY libunistring-buildsize "54 MB (add 56 MB for tests)">
<!ENTITY libunistring-time "0.5 SBU; add 0.3 SBU for tests; both using parallelism=4">
]>
<sect1 id="libunistring" xreflabel="libunistring-&libunistring-version;">
<?dbhtml filename="libunistring.html"?>
<title>libunistring-&libunistring-version;</title>
<indexterm zone="libunistring">
<primary sortas="a-libunistring">libunistring</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to libunistring</title>
<para>
<application>libunistring</application> is a library that provides
functions for manipulating Unicode strings and for manipulating C
strings according to the Unicode standard.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&libunistring-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&libunistring-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &libunistring-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &libunistring-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &libunistring-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &libunistring-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">libunistring Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<!-- xref linkend="texlive"/> (or <xref linkend="tl-installer"/ -->)
(to rebuild the documentation)
</para>
</sect2>
<sect2 role="installation">
<title>Installation of libunistring</title>
<para>
Install <application>libunistring</application> by running the following
commands:
</para>
<screen><userinput>./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libunistring-&libunistring-version; &amp;&amp;
make</userinput></screen>
<para>
To test the results, issue: <command>make check</command>.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
</sect2>
<sect2>
<title>32-bit Installation of lib32-libunistring</title>
<para>
First clean the directory by running the following command:
</para>
<screen><userinput>make distclean</userinput></screen>
<para>
Install <application>lib32-libunistring</application>
by running the following commands:
</para>
<screen><userinput>CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure --prefix=/usr \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu \
--disable-static &amp;&amp;
make</userinput></screen>
<para>
Now as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make DESTDIR=$PWD/DESTDIR install
cp -vr DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
ldconfig</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>None</seg>
<seg>libunistring.so</seg>
<seg>
/usr/include/unistring and
/usr/share/doc/libunistring-&libunistring-version;
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libunistring-lib">
<term><command>libunistring.so</command></term>
<listitem>
<para>
provides the unicode string library API
</para>
<indexterm zone="libunistring libunistring-lib">
<primary sortas="c-libunistring-lib">libunistring.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

18
wine/whatiswine.xml Normal file
View File

@ -0,0 +1,18 @@
<?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;
]>
<sect1 id="whatiswine" xreflabel="What is Wine?">
<?dbhtml filename="whatiswine.html"?>
<title>What is Wine?</title>
<para>
a
</para>
</sect1>

18
wine/wine/wine.xml Normal file
View File

@ -0,0 +1,18 @@
<?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;
]>
<sect1 id="wine" xreflabel="Wine">
<?dbhtml filename="wine.html"?>
<title>Wine</title>
<para>
a
</para>
</sect1>

18
wine/wine/winedeps.xml Normal file
View File

@ -0,0 +1,18 @@
<?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;
]>
<sect1 id="winedeps" xreflabel="Wine Dependencies">
<?dbhtml filename="winedeps.html"?>
<title>Wine Dependencies</title>
<para>
a
</para>
</sect1>

View File

@ -5,11 +5,11 @@
%general-entities;
]>
<part id="introduction" xreflabel="Introduction">
<?dbhtml filename="introduction.html" dir="introduction"?>
<part id="winechapter" xreflabel="Wine">
<?dbhtml filename="winechapter.html" dir="wine"?>
<title>Introduction</title>
<title>Wine</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="welcome/welcome.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="wineintro.xml"/>
</part>

32
wine/wineintro.xml Normal file
View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter 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;
]>
<chapter id="Wine">
<?dbhtml filename="wineintro.html"?>
<title>Wine</title>
<para>
This section covers how to install the dependencies of Wine,
such as the gnat and Mingw-w64 toolchains, as well as Wine
itself and its configuration.
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="whatiswine.xml"/>
<!-- TOOLCHAINS -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/tc/gnat-binary.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/tc/gnat.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/tc/mingw-w64-binary.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/tc/mingw-w64-headers.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="deps/tc/mingw-w64-binutils.xml"/>
<!-- WINE -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="wine/winedeps.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="wine/wine.xml"/>
</chapter>