source: chapter05/binutils-pass1.xml@ 5aa74f2

Last change on this file since 5aa74f2 was 5aa74f2, checked in by Manuel Canales Esparcia <manuel@…>, 18 years ago

Ported r7279 from trunk to alphabetical.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/alphabetical/BOOK@7280 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 5.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-tools-binutils-pass1" role="wrap">
9 <?dbhtml filename="binutils-pass1.html"?>
10
11 <title>Binutils-&binutils-version; - Fase 1</title>
12
13 <indexterm zone="ch-tools-binutils-pass1">
14 <primary sortas="a-Binutils">Binutils</primary>
15 <secondary>herramientas, fase 1</secondary>
16 </indexterm>
17
18 <sect2 role="package">
19 <title/>
20
21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
22 href="../chapter06/binutils.xml"
23 xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
24
25 <segmentedlist>
26 <segtitle>&buildtime;</segtitle>
27 <segtitle>&diskspace;</segtitle>
28
29 <seglistitem>
30 <seg>1.0 SBU</seg>
31 <seg>170 MB</seg>
32 </seglistitem>
33 </segmentedlist>
34
35 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
36 href="../chapter06/binutils.xml"
37 xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
38
39 </sect2>
40
41 <sect2 role="installation">
42 <title>Instalación de Binutils</title>
43
44 <para>Es importante que Binutils sea el primer paquete que compiles, pues
45 tanto Glibc como GCC llevan a cabo varias comprobaciones sobre el enlazador y
46 el ensamblador disponibles para determinar qué características activar.</para>
47
48 <para>La documentación de Binutils recomienda construirlo en un directorio
49 dedicado, fuera del árbol de las fuentes:</para>
50
51<screen><userinput>mkdir -v ../binutils-build
52cd ../binutils-build</userinput></screen>
53
54 <note>
55 <para>Si quieres que los valores de los SBUs mostrados en el resto del
56 libro sean de utilidad, mide el tiempo que se tarda en construir este
57 paquete desde la compilación hasta la primera instalación. Para ello,
58 envuelve los comandos dentro de un comando <command>time</command> de
59 esta forma: <userinput>time { ./configure ... &amp;&amp; make &amp;&amp;
60 make install; }</userinput>.</para>
61 </note>
62
63 <para>Prepara Binutils para su compilación:</para>
64
65<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools --disable-nls</userinput></screen>
66
67 <variablelist>
68 <title>Significado de las opciones de configure:</title>
69
70 <varlistentry>
71 <term><parameter>--prefix=/tools</parameter></term>
72 <listitem>
73 <para>Esto le indica al guión configure que los programas de
74 Binutils se instalarán en el directorio <filename
75 class="directory">/tools</filename>.</para>
76 </listitem>
77 </varlistentry>
78
79 <varlistentry>
80 <term><parameter>--disable-nls</parameter></term>
81 <listitem>
82 <para>Esta opción desactiva la internacionalización, pues i18n no es
83 necesario en las herramientas temporales.</para>
84 </listitem>
85 </varlistentry>
86
87 </variablelist>
88
89 <para>Compila el paquete:</para>
90
91<screen><userinput>make</userinput></screen>
92
93 <para>La compilación se ha completado. Normalmente deberíamos ejecutar
94 ahora el banco de pruebas, pero en esta temprana fase el entorno de
95 trabajo para los bancos de pruebas (Tcl, Expect y DejaGnu) todavía no
96 está en su sitio. Los beneficios de ejecutar las pruebas ahora son mínimos,
97 pues los programas de esta primera fase pronto serán sustituidos por los
98 de la segunda.</para>
99
100 <para>Instala el paquete:</para>
101
102<screen><userinput>make install</userinput></screen>
103
104 <para>Prepara el enlazador para la posterior fase de
105 <quote>ajuste</quote>:</para>
106
107<screen><userinput>make -C ld clean
108make -C ld LIB_PATH=/tools/lib</userinput></screen>
109
110 <variablelist>
111 <title>Significado de los parámetros de make:</title>
112
113 <varlistentry>
114 <term><parameter>-C ld clean</parameter></term>
115 <listitem>
116 <para>Esto le indica al programa make que elimine todos los ficheros
117 compilados que haya en el subdirectorio
118 <filename class="directory">ld</filename>.</para>
119 </listitem>
120 </varlistentry>
121
122 <varlistentry>
123 <term><parameter>-C ld LIB_PATH=/tools/lib</parameter></term>
124 <listitem>
125 <para>Esta opción vuelve a construir todo dentro del subdirectorio
126 <filename class="directory">ld</filename>. Especificar la variable
127 <envar>LIB_PATH</envar> del Makefile en la línea de comandos nos
128 permite obviar su valor por defecto y apuntar a nuestro directorio
129 de herramientas temporales. El valor de esta variable especifica
130 la ruta de búsqueda de librerías por defecto del enlazador. Estos
131 preparativos se utilizan más tarde en este capítulo.</para>
132 </listitem>
133 </varlistentry>
134
135 </variablelist>
136
137 <warning>
138 <para><emphasis>No borres</emphasis> los directorios de fuentes y de
139 construcción de Binutils. Los necesitarás un poco más adelante en este
140 capítulo en el estado en que se encuentran ahora.</para>
141 </warning>
142
143 </sect2>
144
145 <sect2 role="content">
146 <title/>
147
148 <para>Los detalles sobre este paquete se encuentran en la
149 <xref linkend="contents-binutils"/>.</para>
150
151 </sect2>
152
153</sect1>
Note: See TracBrowser for help on using the repository browser.