aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEitan Adler <eadler@FreeBSD.org>2015-04-04 23:36:32 +0000
committerEitan Adler <eadler@FreeBSD.org>2015-04-04 23:36:32 +0000
commit5ec7a2ea1e1f9aedd4151949ac4a0f412770ded0 (patch)
tree61db8fddd1e0b3e094752af05909a2d1259498e4
parent30f1f1fe821b80731ad6b6e80708c180262624b2 (diff)
downloaddoc-5ec7a2ea1e1f9aedd4151949ac4a0f412770ded0.tar.gz
doc-5ec7a2ea1e1f9aedd4151949ac4a0f412770ded0.zip
articles/custom-gcc: remove it
- using a custom gcc should be done within poudriere - there is a framework for choosing a ports compiler anyways - this article is incomplete w.r.t. modern gcc verisons - encouraging people to add global options like `mssse3` is dangerous - the original reason to use a custom gcc is gone (our old gcc was outdated)
Notes
Notes: svn path=/head/; revision=46470
-rw-r--r--en_US.ISO8859-1/articles/Makefile1
-rw-r--r--en_US.ISO8859-1/articles/custom-gcc/Makefile18
-rw-r--r--en_US.ISO8859-1/articles/custom-gcc/article.xml201
-rw-r--r--ja_JP.eucJP/articles/Makefile1
-rw-r--r--ru_RU.KOI8-R/articles/Makefile1
-rw-r--r--ru_RU.KOI8-R/articles/custom-gcc/Makefile21
-rw-r--r--ru_RU.KOI8-R/articles/custom-gcc/article.xml229
7 files changed, 0 insertions, 472 deletions
diff --git a/en_US.ISO8859-1/articles/Makefile b/en_US.ISO8859-1/articles/Makefile
index 6a17fcfa38..68cf2b6bbc 100644
--- a/en_US.ISO8859-1/articles/Makefile
+++ b/en_US.ISO8859-1/articles/Makefile
@@ -9,7 +9,6 @@ SUBDIR+= contributing
SUBDIR+= contributing-ports
SUBDIR+= contributors
SUBDIR+= cups
-SUBDIR+= custom-gcc
SUBDIR+= explaining-bsd
SUBDIR+= filtering-bridges
SUBDIR+= fonts
diff --git a/en_US.ISO8859-1/articles/custom-gcc/Makefile b/en_US.ISO8859-1/articles/custom-gcc/Makefile
deleted file mode 100644
index c6b3eb4a60..0000000000
--- a/en_US.ISO8859-1/articles/custom-gcc/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# $FreeBSD$
-#
-
-DOC?= article
-
-FORMATS?= html
-WITH_ARTICLE_TOC?= YES
-
-INSTALL_COMPRESSED?= gz
-INSTALL_ONLY_COMPRESSED?=
-
-SRCS= article.xml
-
-URL_RELPREFIX?= ../../../..
-DOC_PREFIX?= ${.CURDIR}/../../..
-
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/en_US.ISO8859-1/articles/custom-gcc/article.xml b/en_US.ISO8859-1/articles/custom-gcc/article.xml
deleted file mode 100644
index 69d06b2536..0000000000
--- a/en_US.ISO8859-1/articles/custom-gcc/article.xml
+++ /dev/null
@@ -1,201 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "http://www.FreeBSD.org/XML/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><personname><firstname>Martin</firstname><surname>Matuska</surname></personname><affiliation>
- <address><email>mm@FreeBSD.org</email></address>
- </affiliation></author>
-
- <legalnotice xml:id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.general;
- </legalnotice>
-
- <copyright>
- <year>2009</year>
- <holder>The &os; Documentation Project</holder>
- </copyright>
-
- <pubdate>$FreeBSD$</pubdate>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
-
- <abstract>
- <para>This article describes how to use newer versions of the
- <application>GCC</application> compilers and
- <application>binutils</application> from the &os; ports tree.
- Custom <application>GCC</application> configurations are also
- discussed.</para>
- </abstract>
- </info>
-
- <sect1 xml:id="intro">
- <title>Introduction</title>
-
- <para>The default system compiler as of &os; 8.0 is
- <application>GCC</application> version 4.2.1. In addition, the
- base system of &os; includes <application>binutils</application>
- version 2.15. These versions are several years old and lack,
- among other things, support for recent <acronym>CPU</acronym>
- instructions like <acronym>SSSE3</acronym>,
- <acronym>SSE4.1</acronym>, <acronym>SSE4.2</acronym>, etc.
- Due to licensing issues, new versions of these applications will
- not be integrated into the base system. Luckily, it is possible
- to use a newer version of the <application>GCC</application>
- compiler (e.g. version 4.4) with the help of the &os; ports
- tree.</para>
- </sect1>
-
- <sect1 xml:id="prerequisites">
- <title>Prerequisites</title>
-
- <sect2 xml:id="installing-binutils">
- <title>Installing binutils and gcc</title>
-
- <para>To make use of all of the new features in the latest
- <application>GCC</application> versions, the latest version of
- <application>binutils</application> needs to be installed.
- Installation of the newer version of
- <application>binutils</application> is optional; but without it,
- there will be no support for new <acronym>CPU</acronym>
- instructions.</para>
-
- <para>To install the latest available version of
- <application>binutils</application> using the &os; ports tree,
- issue the following command:</para>
-
- <screen>&prompt.root; <userinput>pkg install devel/binutils</userinput></screen>
-
- <para>The &os; ports tree offers several new versions of
- <application>GCC</application>. The default version is called
- <package>lang/gcc</package>. Other versions can be found
- with
- <screen>&prompt.user; <userinput>pkg search gcc</userinput></screen>
- </para>
-
- <para>To install one of the mentioned
- <application>GCC</application> ports, run:</para>
-
- <screen>&prompt.root; <userinput>pkg install <replaceable>lang/gcc</replaceable></userinput></screen>
- </sect2>
- </sect1>
-
- <sect1 xml:id="configuring-ports-gcc">
- <title>Configuring ports for custom version of
- <application>GCC</application></title>
-
- <para>Additional system configuration is required in order to use
- custom version of <application>GCC</application> installed from
- the &os; ports tree.</para>
-
- <sect2 xml:id="adjusting-make.conf">
- <title>Adjusting <filename>make.conf</filename></title>
-
- <para>Add the following lines to the
- <filename>/etc/make.conf</filename> file (or modify
- appropriately):</para>
-
- <programlisting>.if !empty(.CURDIR:M/usr/ports/*) &amp;&amp; exists(/usr/local/bin/gcc44)
-CC=gcc44
-CXX=g++44
-CPP=cpp44
-.endif</programlisting>
-
- <para>Alternatively, it is possible to specify the
- <envar>${CC}</envar> and <envar>${CPP}</envar> variables
- manually.</para>
-
- <note>
- <para>The examples above are for <application>GCC</application>
- version 4.4. To use <command>gcc43</command>, replace
- <literal>"gcc44"</literal> with <literal>"gcc43"</literal> and
- <literal>"4.4"</literal> with <literal>"4.3"</literal> and so
- on.</para>
- </note>
- </sect2>
-
- <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
- or libstdc++. The base system already includes these libraries,
- but from an earlier version of <application>GCC</application>
- (version 4.2.1). To supply rtld (and ldd) with correct versions,
- add the following lines to the
- <filename>/etc/libmap.conf</filename> file (or modify
- appropriately):</para>
-
- <programlisting>libgcc_s.so.1 gcc44/libgcc_s.so.1
-libgomp.so.1 gcc44/libgomp.so.1
-libobjc.so.3 gcc44/libobjc.so.2
-libssp.so.0 gcc44/libssp.so.0
-libstdc++.so.6 gcc44/libstdc++.so.6</programlisting>
-
- <note>
- <para>The examples above are for <application>GCC</application>
- version 4.4. To use <command>gcc43</command>, replace
- <literal>"gcc44"</literal> with <literal>"gcc43"</literal>
- and so on. Note also that all of these libraries are fully
- backwards compatible with base system libraries.</para>
- </note>
-
- <warning>
- <para>Some C++ programs may refuse to work if these libraries
- are not mapped correctly. If it is not feasible to map them
- all, it is recommended to map at least libstdc++.so.</para>
- </warning>
- </sect2>
-
- <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
- which are unsupported by the base system, adjust the
- <filename>/etc/make.conf</filename> according to the following
- example:</para>
-
- <programlisting>.if !empty(.CURDIR:M/usr/ports/*) &amp;&amp; exists(/usr/local/bin/gcc44)
-CC=gcc44
-CXX=g++44
-CPP=cpp44
-CFLAGS+=-mssse3
-.endif</programlisting>
-
- <para>It is possible to completely replace
- <literal>CFLAGS</literal> and/or define custom
- <literal>CPUTYPE</literal> as well. We recommend setting
- <literal>CPUTYPE</literal> because many ports decide their
- optimizations flags based on this variable.</para>
- </sect2>
-
- <sect2 xml:id="excluding-unbuildable-ports">
- <title>Excluding ports that do not build with new version of
- <application>GCC</application></title>
-
- <para>To exclude ports that have problems with custom version of
- <application>GCC</application>, adjust the
- <filename>/etc/make.conf</filename> according to the following
- example:</para>
-
- <programlisting>.if !empty(.CURDIR:M/usr/ports/*) &amp;&amp; exists(/usr/local/bin/gcc44)
-.if empty(.CURDIR:M/usr/ports/net/openldap*)
-CC=gcc44
-CXX=g++44
-CPP=cpp44
-.endif
-.endif</programlisting>
-
- <para>The example above excludes the forced use of
- <command>gcc</command> 4.4 for the
- <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*) &amp;&amp; empty(.CURDIR:M/usr/ports/xxx/yyy) &amp;&amp; ...</programlisting>
- </sect2>
- </sect1>
-</article>
diff --git a/ja_JP.eucJP/articles/Makefile b/ja_JP.eucJP/articles/Makefile
index e751e1ae7e..0ca28fa976 100644
--- a/ja_JP.eucJP/articles/Makefile
+++ b/ja_JP.eucJP/articles/Makefile
@@ -10,7 +10,6 @@ SUBDIR+= contributing
#SUBDIR+= contributing-ports
SUBDIR+= contributors
#SUBDIR+= cups
-#SUBDIR+= custom-gcc
#SUBDIR+= explaining-bsd
#SUBDIR+= filtering-bridges
SUBDIR+= fonts
diff --git a/ru_RU.KOI8-R/articles/Makefile b/ru_RU.KOI8-R/articles/Makefile
index e5e3e9ce39..d1e3a5940e 100644
--- a/ru_RU.KOI8-R/articles/Makefile
+++ b/ru_RU.KOI8-R/articles/Makefile
@@ -13,7 +13,6 @@ SUBDIR+= console-server
SUBDIR+= contributing
#SUBDIR+= contributors
SUBDIR+= cups
-SUBDIR+= custom-gcc
SUBDIR+= cvs-freebsd
SUBDIR+= explaining-bsd
#SUBDIR+= filtering-bridges
diff --git a/ru_RU.KOI8-R/articles/custom-gcc/Makefile b/ru_RU.KOI8-R/articles/custom-gcc/Makefile
deleted file mode 100644
index 7d13ba38d7..0000000000
--- a/ru_RU.KOI8-R/articles/custom-gcc/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-# $FreeBSD$
-#
-# Original revision: r39631
-#
-
-
-DOC?= article
-
-FORMATS?= html
-WITH_ARTICLE_TOC?= YES
-
-INSTALL_COMPRESSED?= gz
-INSTALL_ONLY_COMPRESSED?=
-
-SRCS= article.xml
-
-URL_RELPREFIX?= ../../../..
-DOC_PREFIX?= ${.CURDIR}/../../..
-
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/ru_RU.KOI8-R/articles/custom-gcc/article.xml b/ru_RU.KOI8-R/articles/custom-gcc/article.xml
deleted file mode 100644
index 04fbd962b1..0000000000
--- a/ru_RU.KOI8-R/articles/custom-gcc/article.xml
+++ /dev/null
@@ -1,229 +0,0 @@
-<?xml version="1.0" encoding="koi8-r"?>
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
-<!--
- The FreeBSD Russian Documentation Project
- $FreeBSD$
- Original revision: r43184
--->
-<!-- Перевод: Коренко Тарас -->
-<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru">
- <info><title>Использование более новых версий <application>GCC</application>
- и <application>binutils</application> c коллекцией портов
- &os;</title>
-
-
- <author><personname><firstname>Martin</firstname><surname>Matuska</surname></personname><affiliation>
- <address><email>mm@FreeBSD.org</email></address>
- </affiliation></author>
-
- <legalnotice xml:id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.general;
- </legalnotice>
-
- <copyright>
- <year>2009</year>
- <holder>The &os; Documentation Project</holder>
- </copyright>
-
- <pubdate>$FreeBSD$</pubdate>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
-
- <abstract>
- <para>В этой статье описано, как использовать более новые версии
- компиляторов <application>GCC</application> и набора утилит
- <application>binutils</application> из коллекции портов &os;.
- Здесь также обсуждаются специализированные конфигурации
- <application>GCC</application>.</para>
- </abstract>
- </info>
-
- <sect1 xml:id="intro">
- <title>Предисловие</title>
-
- <para>Компилятор, поставляемый с &os; 8.0, &mdash; это
- <application>GCC</application> версии 4.2.1. В базовую систему
- &os; включены <application>binutils</application> версии
- 2.15. Это довольно-таки старые версии, и в них, между прочим,
- отсутствует поддержка новых инструкций <acronym>CPU</acronym>, таких
- как <acronym>SSSE3</acronym>, <acronym>SSE4.1</acronym>,
- <acronym>SSE4.2</acronym> и т.п. Ввиду лицензионных ограничений,
- новые версии этих приложений не будут включены в базовую систему.
- К счастью, есть возможность использовать более новую версию компилятора
- <application>GCC</application> (например, версию 4.4)
- установив его из коллекции портов &os;.</para>
- </sect1>
-
- <sect1 xml:id="prerequisites">
- <title>Подготовка</title>
-
- <sect2 xml:id="installing-binutils">
- <title>Установка binutils из портов</title>
-
- <para>Чтобы задействовать все новые функциональные возможности
- последней версии <application>GCC</application>, желательна установка
- наиболее новой версии <application>binutils</application>. Это
- не является обязательным, но без обновления
- <application>binutils</application> вы не получите поддержку
- новых инструкций <acronym>CPU</acronym>.</para>
-
- <para>Для того, чтоб установить наиболее новую версию
- <application>binutils</application> используя коллекцию портов
- &os;, выполните следующую команду:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/devel/binutils &amp;&amp; make install</userinput></screen>
- </sect2>
-
- <sect2 xml:id="installing-gcc">
- <title>Установка GCC из портов</title>
-
- <para>
- В коллекции портов &os; можно найти несколько новых версий
- <application>GCC</application>. В нашем примере мы устанавливаем
- стабильную версию 4.4. Однако, возможно установить предыдущую
- или более новую (развивающуюся) версию (например:
- <package>lang/gcc43</package> или
- <package>lang/gcc45</package>).</para>
-
- <para>Для установки одного из вышеупомянутых портов
- <application>GCC</application>, наберите следующую команду:</para>
-
- <screen>&prompt.root; <userinput>cd /usr/ports/lang/<replaceable>gcc44</replaceable> &amp;&amp; make install</userinput></screen>
- </sect2>
- </sect1>
-
- <sect1 xml:id="configuring-ports-gcc">
- <title>Настройка портов на использование требуемой
- версии <application>GCC</application></title>
-
- <para>Для использования требуемой версии <application>GCC</application>,
- установленной из коллекции портов &os;, требуется дополнительная
- конфигурация системы.</para>
-
- <sect2 xml:id="adjusting-make.conf">
- <title>Изменения в <filename>make.conf</filename></title>
-
- <para>Добавьте следующие строки в <filename>/etc/make.conf</filename>
- (или исправьте существующие):</para>
-
- <programlisting>.if !empty(.CURDIR:M/usr/ports/*) &amp;&amp; exists(/usr/local/bin/gcc44)
-CC=gcc44
-CXX=g++44
-CPP=cpp44
-.endif</programlisting>
-
- <para>В качестве альтернативы, можно установить вручную переменные
- окружения <envar>${CC}</envar> и <envar>${CPP}</envar>.</para>
-
- <note>
- <para>Примеры, приведённые выше, сделаны для
- <application>GCC</application> версии 4.4. Для того, чтобы
- использовать <command>gcc43</command>, замените
- <literal>"gcc44"</literal> на <literal>"gcc43"</literal> и
- <literal>"4.4"</literal> на <literal>"4.3"</literal>
- и т.п.</para>
- </note>
- </sect2>
-
- <sect2 xml:id="adjusting-libmap.conf">
- <title>Исправления в <filename>libmap.conf</filename></title>
-
- <para>Многие установленные из портов приложения и библиотеки
- скомпонованы с libgcc_s или libstdc++. В базовую систему уже
- включены эти библиотеки, но от более старой версии
- <application>GCC</application> (версии 4.2.1). Чтобы предоставить
- rltd (и ldd) правильные версии, добавьте следующие записи к
- <filename>/etc/libmap.conf</filename> (или измените
- существующие):</para>
-
- <programlisting>libgcc_s.so.1 gcc44/libgcc_s.so.1
-libgomp.so.1 gcc44/libgomp.so.1
-libobjc.so.3 gcc44/libobjc.so.2
-libssp.so.0 gcc44/libssp.so.0
-libstdc++.so.6 gcc44/libstdc++.so.6</programlisting>
-
- <note>
- <para>Пример выше приведен для <application>GCC</application>
- версии 4.4. Если вы используете <command>gcc43</command>,
- замените <literal>"gcc44"</literal> на <literal>"gcc43"</literal>
- и т.д. Следует отметить, что все вышеупомянутые библиотеки
- обратно совместимы с библиотеками, поставляемыми с базовой
- системой.</para>
- </note>
-
- <warning>
- <para>Некоторые C++ программы могут перестать работать, если
- отсутствует корректная компоновка этих библиотек. Если невозможно
- скомпоновать их все, рекомендуется сделать это по крайней мере
- для libstdc++.so.</para>
- </warning>
- </sect2>
-
- <sect2 xml:id="custom-cflags">
- <title>Специальные установки <literal>CFLAGS</literal> для коллекции
- портов</title>
-
- <para>Для портов, не поддерживающих специальные установки
- <literal>CFLAGS</literal>, исправьте
- <filename>/etc/make.conf</filename> согласно следующему примеру:</para>
-
- <programlisting>.if !empty(.CURDIR:M/usr/ports/*) &amp;&amp; exists(/usr/local/bin/gcc44)
-CC=gcc44
-CXX=g++44
-CPP=cpp44
-CFLAGS+=-mssse3
-.endif</programlisting>
-
- <para>Возможно заменить полностью <literal>CFLAGS</literal> и/или
- определить <literal>CPUTYPE</literal>. Мы рекомендуем устанавливать
- <literal>CPUTYPE</literal> так как во многих портах флаги оптимизации
- выбираются, базируясь на значении этой переменной.</para>
- </sect2>
-
- <sect2 xml:id="excluding-unbuildable-ports">
- <title>Исключение портов, которые не собираются с новой версией
- <application>GCC</application></title>
-
- <para>Для того, чтобы исключить порты, которые не собираются со
- специальной версией <application>GCC</application>, исправьте
- <filename>/etc/make.conf</filename> согласно следующему
- примеру:</para>
-
- <programlisting>.if !empty(.CURDIR:M/usr/ports/*) &amp;&amp; exists(/usr/local/bin/gcc44)
-.if empty(.CURDIR:M/usr/ports/net/openldap*)
-CC=gcc44
-CXX=g++44
-CPP=cpp44
-.endif
-.endif</programlisting>
-
- <para>Пример, приведённый выше, отменяет принудительное использование
- <command>gcc</command> 4.4 для портов
- <package>net/openldap</package>*. Также
- возможно указать больше портов в одной строке:</para>
-
- <programlisting>.if empty(.CURDIR:M/usr/ports/net/openldap*) &amp;&amp; empty(.CURDIR:M/usr/ports/xxx/yyy) &amp;&amp; ...</programlisting>
- </sect2>
- </sect1>
-
- <sect1 xml:id="performance-imparct">
- <title>Влияние на производительность исполняемых файлов</title>
-
- <para>Использование <application>GCC</application> версии 4.4 с
- разрешенным набором инструкций <acronym>SSSE3</acronym>
- (если они поддерживаются <acronym>CPU</acronym>) может дать до 10%
- увеличения средней производительности исполняемых файлов. В некоторых
- тестах прирост производительности превышал 20% (например, в обработке
- мультимедийных данных).</para>
-
- <para>В таблице, размещенной на <uri xlink:href="http://people.freebsd.org/~mm/benchmarks/perlbench/">http://people.freebsd.org/~mm/benchmarks/perlbench/</uri>,
- показано сравнение <application>GCC</application> в настоящее время
- включенного в базу &os;, <application>GCC</application> версии 4.3 и
- <application>GCC</application> версии 4.4 с различными комбинациями
- <literal>CFLAGS</literal>. Для сравнений производительности
- использовался тестовый пакет perlbench.</para>
-
- </sect1>
-</article>