aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R
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 /ru_RU.KOI8-R
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
Diffstat (limited to 'ru_RU.KOI8-R')
-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
3 files changed, 0 insertions, 251 deletions
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>