- Definitively upgrade to DocBook 5.0
This commit is contained in:
parent
35f1d6c78b
commit
24d129e8d1
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/projects/db5/; revision=43125
958 changed files with 96265 additions and 123971 deletions
|
|
@ -1,22 +1,17 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
|
||||
"../../../share/xml/freebsd45.dtd">
|
||||
|
||||
<article lang='en'>
|
||||
<articleinfo>
|
||||
<title>Using newer version of <application>GCC</application> and
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
||||
"../../../share/xml/freebsd50.dtd">
|
||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en">
|
||||
<info><title>Using newer version of <application>GCC</application> and
|
||||
<application>binutils</application> with the &os; Ports
|
||||
Collection</title>
|
||||
|
||||
|
||||
<author>
|
||||
<firstname>Martin</firstname>
|
||||
<surname>Matuska</surname>
|
||||
<affiliation>
|
||||
<author><personname><firstname>Martin</firstname><surname>Matuska</surname></personname><affiliation>
|
||||
<address><email>mm@FreeBSD.org</email></address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</affiliation></author>
|
||||
|
||||
<legalnotice id="trademarks" role="trademarks">
|
||||
<legalnotice xml:id="trademarks" role="trademarks">
|
||||
&tm-attrib.freebsd;
|
||||
&tm-attrib.general;
|
||||
</legalnotice>
|
||||
|
|
@ -37,9 +32,9 @@
|
|||
Custom <application>GCC</application> configurations are also
|
||||
discussed.</para>
|
||||
</abstract>
|
||||
</articleinfo>
|
||||
</info>
|
||||
|
||||
<sect1 id="intro">
|
||||
<sect1 xml:id="intro">
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>The default system compiler as of &os; 8.0 is
|
||||
|
|
@ -56,10 +51,10 @@
|
|||
tree.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="prerequisites">
|
||||
<sect1 xml:id="prerequisites">
|
||||
<title>Prerequisites</title>
|
||||
|
||||
<sect2 id="installing-binutils">
|
||||
<sect2 xml:id="installing-binutils">
|
||||
<title>Installing binutils from ports</title>
|
||||
|
||||
<para>To make use of all of the new features in the latest
|
||||
|
|
@ -77,25 +72,25 @@
|
|||
<screen>&prompt.root; <userinput>cd /usr/ports/devel/binutils && make install</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="installing-gcc">
|
||||
<sect2 xml:id="installing-gcc">
|
||||
<title>Installing GCC from ports</title>
|
||||
|
||||
<para>The &os; ports tree offers several new versions of
|
||||
<application>GCC</application>. The following example is for
|
||||
the stable version 4.4. However, it is possible to install
|
||||
previous or later development versions (e.g.
|
||||
<filename role="package">lang/gcc43</filename> or
|
||||
<filename role="package">lang/gcc45</filename>).</para>
|
||||
<package>lang/gcc43</package> or
|
||||
<package>lang/gcc45</package>).</para>
|
||||
|
||||
<para>To install one of the mentioned
|
||||
<application>GCC</application> ports, run the following
|
||||
command:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports/lang/<replaceable>gcc44</replaceable> && make install</userinput></screen>
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports/lang/gcc44 && make install</userinput></screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="configuring-ports-gcc">
|
||||
<sect1 xml:id="configuring-ports-gcc">
|
||||
<title>Configuring ports for custom version of
|
||||
<application>GCC</application></title>
|
||||
|
||||
|
|
@ -103,7 +98,7 @@
|
|||
custom version of <application>GCC</application> installed from
|
||||
the &os; ports tree.</para>
|
||||
|
||||
<sect2 id="adjusting-make.conf">
|
||||
<sect2 xml:id="adjusting-make.conf">
|
||||
<title>Adjusting <filename>make.conf</filename></title>
|
||||
|
||||
<para>Add the following lines to the
|
||||
|
|
@ -129,7 +124,7 @@ CPP=cpp44
|
|||
</note>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="adjusting-libmap.conf">
|
||||
<sect2 xml:id="adjusting-libmap.conf">
|
||||
<title>Adjusting <filename>libmap.conf</filename></title>
|
||||
|
||||
<para>Many of the ports' binaries and libraries link to libgcc_s
|
||||
|
|
@ -161,7 +156,7 @@ libstdc++.so.6 gcc44/libstdc++.so.6</programlisting>
|
|||
</warning>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="custom-cflags">
|
||||
<sect2 xml:id="custom-cflags">
|
||||
<title>Custom <literal>CFLAGS</literal> for the ports tree</title>
|
||||
|
||||
<para>To add custom <literal>CFLAGS</literal> for the ports tree
|
||||
|
|
@ -183,7 +178,7 @@ CFLAGS+=-mssse3
|
|||
optimizations flags based on this variable.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="excluding-unbuildable-ports">
|
||||
<sect2 xml:id="excluding-unbuildable-ports">
|
||||
<title>Excluding ports that do not build with new version of
|
||||
<application>GCC</application></title>
|
||||
|
||||
|
|
@ -202,14 +197,14 @@ CPP=cpp44
|
|||
|
||||
<para>The example above excludes the forced use of
|
||||
<command>gcc</command> 4.4 for the
|
||||
<filename role="package">net/openldap</filename>* ports. It is
|
||||
<package>net/openldap</package>* ports. It is
|
||||
also possible to specify more ports on a single line:</para>
|
||||
|
||||
<programlisting>.if empty(.CURDIR:M/usr/ports/net/openldap*) && empty(.CURDIR:M/usr/ports/xxx/yyy) && ...</programlisting>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="performance-imparct">
|
||||
<sect1 xml:id="performance-imparct">
|
||||
<title>Impact on the binary performance</title>
|
||||
|
||||
<para>Using <application>GCC</application> version 4.4 with
|
||||
|
|
@ -219,8 +214,7 @@ CPP=cpp44
|
|||
more than a 20% performance boost (e.g. in multimedia
|
||||
processing).</para>
|
||||
|
||||
<para>The table located at <ulink
|
||||
url="http://people.freebsd.org/~mm/benchmarks/perlbench/"></ulink>
|
||||
<para>The table located at <uri xlink:href="http://people.freebsd.org/~mm/benchmarks/perlbench/">http://people.freebsd.org/~mm/benchmarks/perlbench/</uri>
|
||||
shows a comparison of <application>GCC</application> versions
|
||||
currently available in base &os; system,
|
||||
<application>GCC</application> version 4.3 and
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue