%general-entities; ]> Binutils-&binutils-version; - Fase 1 Binutils herramientas, fase 1 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>1.0 SBU</seg> <seg>170 MB</seg> </seglistitem> </segmentedlist> <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/binutils.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> </sect2> <sect2 role="installation"> <title>Instalación de Binutils Es importante que Binutils sea el primer paquete que compiles, pues tanto Glibc como GCC llevan a cabo varias comprobaciones sobre el enlazador y el ensamblador disponibles para determinar qué características activar. La documentación de Binutils recomienda construirlo en un directorio dedicado, fuera del árbol de las fuentes: mkdir -v ../binutils-build cd ../binutils-build Si quieres que los valores de los SBUs mostrados en el resto del libro sean de utilidad, mide el tiempo que se tarda en construir este paquete desde la compilación hasta la primera instalación. Para ello, envuelve los comandos dentro de un comando time de esta forma: time { ./configure ... && make && make install; }. Prepara Binutils para su compilación: ../binutils-&binutils-version;/configure --prefix=/tools --disable-nls Significado de las opciones de configure: --prefix=/tools Esto le indica al guión configure que los programas de Binutils se instalarán en el directorio /tools. --disable-nls Esta opción desactiva la internacionalización, pues i18n no es necesario en las herramientas temporales. Compila el paquete: make La compilación se ha completado. Normalmente deberíamos ejecutar ahora el banco de pruebas, pero en esta temprana fase el entorno de trabajo para los bancos de pruebas (Tcl, Expect y DejaGnu) todavía no está en su sitio. Los beneficios de ejecutar las pruebas ahora son mínimos, pues los programas de esta primera fase pronto serán sustituidos por los de la segunda. Instala el paquete: make install Prepara el enlazador para la posterior fase de ajuste: make -C ld clean make -C ld LIB_PATH=/tools/lib Significado de los parámetros de make: -C ld clean Esto le indica al programa make que elimine todos los ficheros compilados que haya en el subdirectorio ld. -C ld LIB_PATH=/tools/lib Esta opción vuelve a construir todo dentro del subdirectorio ld. Especificar la variable LIB_PATH del Makefile en la línea de comandos nos permite obviar su valor por defecto y apuntar a nuestro directorio de herramientas temporales. El valor de esta variable especifica la ruta de búsqueda de librerías por defecto del enlazador. Estos preparativos se utilizan más tarde en este capítulo. No borres los directorios de fuentes y de construcción de Binutils. Los necesitarás un poco más adelante en este capítulo en el estado en que se encuentran ahora. <para>Los detalles sobre este paquete se encuentran en la <xref linkend="contents-binutils"/>.</para> </sect2> </sect1>