diff --git a/ru_RU.KOI8-R/articles/Makefile b/ru_RU.KOI8-R/articles/Makefile index d6296c3150..b260f28c1a 100644 --- a/ru_RU.KOI8-R/articles/Makefile +++ b/ru_RU.KOI8-R/articles/Makefile @@ -14,6 +14,7 @@ SUBDIR+= committers-guide SUBDIR+= console-server SUBDIR+= contributing #SUBDIR+= contributors +SUBDIR+= custom-gcc SUBDIR+= cvs-freebsd SUBDIR+= cvsup-advanced SUBDIR+= dialup-firewall diff --git a/ru_RU.KOI8-R/articles/custom-gcc/Makefile b/ru_RU.KOI8-R/articles/custom-gcc/Makefile new file mode 100644 index 0000000000..b7bd286403 --- /dev/null +++ b/ru_RU.KOI8-R/articles/custom-gcc/Makefile @@ -0,0 +1,18 @@ +# +# $FreeBSD$ +# + +DOC?= article + +FORMATS?= html +WITH_ARTICLE_TOC?= YES + +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +SRCS= article.sgml + +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ru_RU.KOI8-R/articles/custom-gcc/article.sgml b/ru_RU.KOI8-R/articles/custom-gcc/article.sgml new file mode 100644 index 0000000000..3dd920e894 --- /dev/null +++ b/ru_RU.KOI8-R/articles/custom-gcc/article.sgml @@ -0,0 +1,234 @@ +<!-- + The FreeBSD Russian Documentation Project + $FreeBSD$ + Original Revision: 1.2 +--> +<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN"> +%articles.ent; +]> +<!-- �������: ������� ����� --> + +<article lang="ru"> + <articleinfo> + <title>������������� ����� ����� ������ <application>GCC</application> + � <application>binutils</application> c ���������� ������ + &os;</title> + + <author> + <firstname>Martin</firstname> + <surname>Matuska</surname> + <affiliation> + <address><email>mm@FreeBSD.org</email></address> + </affiliation> + </author> + + <pubdate>$FreeBSD$</pubdate> + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.general; + </legalnotice> + + <copyright> + <year>2009</year> + <holder>The &os; Documentation Project</holder> + </copyright> + + <abstract> + <para>� ���� ������ �������, ��� ������������ ����� ����� ������ + ������������ <application>GCC</application> � ������ ������ + <application>binutils</application> �� ��������� ������ &os;. + ����� ����� ����������� ������������������ ������������ + <application>GCC</application>.</para> + </abstract> + </articleinfo> + + <sect1 id="intro"> + <title>�����������</title> + + <para>����������, ������������ � &os; 8.0, — ��� + <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 id="prerequisites"> + <title>����������</title> + + <sect2 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 && make install</userinput></screen> + </sect2> + + <sect2 id="installing-gcc"> + <title>��������� GCC �� ������</title> + + <para> + � ��������� ������ &os; ����� ����� ��������� ����� ������ + <application>GCC</application>. � ����� ������� �� ������������� + ���������� ������ 4.4. ������, �������� ���������� ���������� + ��� ����� ����� (�������������) ������ (��������: + <filename role="package">lang/gcc43</filename> ��� + <filename role="package">lang/gcc45</filename>).</para> + + <para>��� ��������� ������ �� �������������� ������ + <application>GCC</application>, �������� ��������� �������:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/lang/<replaceable>gcc44</replaceable> && make install</userinput></screen> + </sect2> + </sect1> + + <sect1 id="configuring-ports-gcc"> + <title>��������� ������ �� ������������� ��������� + ������ <application>GCC</application></title> + + <para>��� ������������� ��������� ������ <application>GCC</application>, + ������������� �� ��������� ������ &os, ��������� �������������� + ������������ �������.</para> + + <sect2 id="adjusting-make.conf"> + <title>��������� � <filename>make.conf</filename></title> + + <para>�������� ��������� ������ � <filename>/etc/make.conf</filename> + (��� ��������� ������������):</para> + + <programlisting>.if !empty(.CURDIR:M/usr/ports/*) && 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 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 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/*) && 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 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/*) && 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 ��� ������ + <filename role="package">net/openldap</filename>*. ����� + �������� ������� ������ ������ � ����� ������:</para> + + <programlisting>.if empty(.CURDIR:M/usr/ports/net/openldap*) && empty(.CURDIR:M/usr/ports/xxx/yyy) && ...</programlisting> + </sect2> + </sect1> + + <sect1 id="performance-imparct"> + <title>������� �� ������������������ ����������� ������</title> + + <para>������������� <application>GCC</application> ������ 4.4 � + ����������� ������� ���������� <acronym>SSSE3</acronym> + (���� ��� �������������� <acronym>CPU</acronym>) ����� ���� �� 10% + ���������� ������� ������������������ ����������� ������. � ��������� + ������ ������� ������������������ �������� 20% (��������, � ��������� + �������������� ������).</para> + + <para>� �������, ����������� �� <ulink + url="http://people.freebsd.org/~mm/benchmarks/perlbench/"></ulink>, + �������� ��������� <application>GCC</application> � ��������� ����� + ����������� � ���� &os;, <application>GCC</application> ������ 4.3 � + <application>GCC</application> ������ 4.4 � ���������� ������������ + <literal>CFLAGS</literal>. ��� ��������� ������������������ + ������������� �������� ����� perlbench.</para> + + </sect1> +</article>