Subversion Repositories svn LFS-FR

Rev

Rev 1344 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
475 gleu 1
<?xml version="1.0" encoding="ISO-8859-1"?>
590 gleu 2
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
475 gleu 4
  <!ENTITY % general-entities SYSTEM "../general.ent">
5
  %general-entities;
6
]>
590 gleu 7
 
522 gleu 8
<sect1 id="ch-tools-binutils-pass1" role="wrap">
590 gleu 9
  <?dbhtml filename="binutils-pass1.html"?>
602 texou 10
 
11
  <sect1info condition="script">
12
      <productname>binutils</productname>
13
      <productnumber>&binutils-version;</productnumber>
14
      <address>&binutils-url;</address>
15
  </sect1info>
358 guillaume 16
 
590 gleu 17
  <title>Binutils-&binutils-version; - Passe 1</title>
358 guillaume 18
 
590 gleu 19
  <indexterm zone="ch-tools-binutils-pass1">
20
    <primary sortas="a-Binutils">Binutils</primary>
21
    <secondary>outils, passe 1</secondary>
22
  </indexterm>
358 guillaume 23
 
590 gleu 24
  <sect2 role="package">
25
    <title/>
439 guillaume 26
 
1152 jmengual 27
    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
590 gleu 28
    href="../chapter06/binutils.xml"
29
    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
475 gleu 30
 
590 gleu 31
    <segmentedlist>
32
      <segtitle>&buildtime;</segtitle>
33
      <segtitle>&diskspace;</segtitle>
522 gleu 34
 
590 gleu 35
      <seglistitem>
36
        <seg>&binutils-ch5p1-sbu;</seg>
37
        <seg>&binutils-ch5p1-du;</seg>
38
      </seglistitem>
39
    </segmentedlist>
439 guillaume 40
 
590 gleu 41
  </sect2>
439 guillaume 42
 
590 gleu 43
  <sect2 role="installation">
439 guillaume 44
 
731 texou 45
       <title>Installation de Binutils croisé</title>
561 gleu 46
 
947 jmengual 47
    <note><para>Revenez en arrière et relisez les remarques de la section précédente.
48
     La compréhension des remarques notées importantes vous fera éviter
49
     beaucoup de problèmes plus tard.</para></note>
50
 
590 gleu 51
    <para>Il est important que Binutils soit le premier paquet compilé
602 texou 52
    parce que Glibc et GCC réalisent différents tests sur l'éditeur de
53
    liens et l'assembleur disponibles pour déterminer leur propres
54
    fonctionnalités à activer.</para>
1398 jmengual 55
 
56
    <para>Ajoutez le support des en-têtes d'exécutables PT PaX à Binutils&nbsp;:</para>
57
 
58
<screen><userinput remap="pre">patch -Np1 -i ../&binutils-pt_pax-patch;</userinput></screen>
602 texou 59
 
590 gleu 60
    <para>La documentation de Binutils recommande de construire Binutils
61
    en dehors du répertoire des sources, c'est-à-dire dans un répertoire
62
    de construction dédié&nbsp;:</para>
439 guillaume 63
 
602 texou 64
<screen><userinput remap="pre">mkdir -v ../binutils-build
439 guillaume 65
cd ../binutils-build</userinput></screen>
66
 
590 gleu 67
    <note>
439 guillaume 68
 
590 gleu 69
       <para>Pour que les valeurs SBU listées dans le reste du livre vous soient
70
    utiles, mesurez le temps pris pour construire ce paquet, de la configuration
71
    jusqu'à la première installation. Pour cela, englobez les trois commandes
626 gleu 72
    dans une commande <command>time</command> de cette façon&nbsp;:
624 texou 73
 
590 gleu 74
<userinput>time { ./configure ... &amp;&amp; make      
626 gleu 75
&amp;&amp; make install; }</userinput></para>
439 guillaume 76
 
623 gleu 77
    </note>
1181 jmengual 78
 
79
   <note><para>Les valeurs SBU de construction approximatives et de l'espace disque requis au chapitre 5
80
   n'incluent pas les données des suites de tests.</para></note>
81
 
590 gleu 82
    <para>Maintenant, préparez la compilation de Binutils&nbsp;:</para>
439 guillaume 83
 
731 texou 84
<screen><userinput remap="configure">../binutils-&binutils-version;/configure \
85
     --target=$LFS_TGT --prefix=/tools \
86
     --disable-nls --disable-werror</userinput></screen>
590 gleu 87
    <variablelist>
88
      <title>Voici la signification des options de configure&nbsp;:</title>
439 guillaume 89
 
590 gleu 90
      <varlistentry>
731 texou 91
        <term><envar>--target=$LFS_TGT</envar></term>
590 gleu 92
        <listitem>
731 texou 93
          <para>Vu que la description de la machine dans la variable
94
          <envar>LFS_TGT</envar> est légèrement différente de la valeur retournée
835 texou 95
          par le script config.guess, ce paramètre va dire au script <command>configure</command>
1200 jmengual 96
          d'ajuster le système de construction de Binutils pour la construction
731 texou 97
          d'un éditeur de lien croisé.</para>
590 gleu 98
        </listitem>
99
      </varlistentry>
439 guillaume 100
 
590 gleu 101
      <varlistentry>
102
        <term><parameter>--prefix=/tools</parameter></term>
103
        <listitem>
104
          <para>Ceci indique au script configure de se préparer à installer les
105
          programmes Binutils dans le répertoire
626 gleu 106
          <filename class="directory">/tools</filename>.</para>
590 gleu 107
        </listitem>
108
      </varlistentry>
561 gleu 109
 
590 gleu 110
      <varlistentry>
111
        <term><parameter>--disable-nls</parameter></term>
112
        <listitem>
113
          <para>Ceci désactive l'internationalisation comme i18n car ce n'est pas
114
          nécessaire pour des outils temporaires.</para>
115
        </listitem>
116
      </varlistentry>
439 guillaume 117
 
590 gleu 118
      <varlistentry>
119
        <term><parameter>--disable-werror</parameter></term>
120
        <listitem>
121
          <para>Ceci empêche la compilation de s'arrêter lorsqu'interviennent des
122
          événements comme des avertissements du compilateur du système
123
          hôte.</para>
124
        </listitem>
125
      </varlistentry>
126
 
127
    </variablelist>
128
 
623 gleu 129
    <para>Continuez avec la compilation du paquet&nbsp;:</para>
590 gleu 130
 
602 texou 131
<screen><userinput remap="make">make</userinput></screen>
439 guillaume 132
 
602 texou 133
    <para>La compilation est maintenant terminée. Normalement, la suite
134
    de tests devrait être lancée mais, à ce moment, l'ensemble de
135
    travail de la suite de tests (Tcl, Expect et DejaGnu) n'est pas
136
    encore en place. Les bénéfices à lancer les tests maintenant
137
    seraient minimes car les programmes de la première passe seront
138
    bientôt remplacés par ceux de la seconde.</para>
730 texou 139
 
731 texou 140
    <para>Si vous construisez sur une x86_64, créez un lien symbolique pour assurer la propreté de notre
1111 jmengual 141
    chaîne d'outils&nbsp;:</para>
439 guillaume 142
 
731 texou 143
<screen><userinput remap="install">case $(uname -m) in
144
   x86_64) mkdir -v /tools/lib &amp;&amp; ln -sv lib /tools/lib64 ;;
145
esac</userinput></screen>
146
 
590 gleu 147
    <para>Installez le paquet&nbsp;:</para>
475 gleu 148
 
602 texou 149
<screen><userinput remap="install">make install</userinput></screen>
439 guillaume 150
 
590 gleu 151
  </sect2>
731 texou 152
 
590 gleu 153
  <sect2 role="content">
154
    <title/>
475 gleu 155
 
590 gleu 156
    <para>Les détails sur ce paquet sont disponibles dans
157
    <xref linkend="contents-binutils" role="."/></para>
158
 
159
  </sect2>
160
 
358 guillaume 161
</sect1>