5.2. Binutils-2.40 - Passagem 1

O pacote Binutils contém um vinculador, um montador e outras ferramentas para manusear arquivos objeto.

Tempo aproximado de construção: 1 SBU
Espaço em disco exigido: 639 MB

5.2.1. Instalação do Binutils Cruzado

[Nota]

Nota

Volte e releia as observações na seção intitulada Instruções Gerais de Compilação. Entender as observações rotuladas como importantes pode salvar você de um monte de problemas depois.

É importante que o Binutils seja o primeiro pacote compilado, pois ambos a Glibc e o GCC realizam vários testes sobre o vinculador e o montador disponíveis para determinar quais dos próprios recursos deles habilitar.

A documentação do Binutils recomenda construir o Binutils em um diretório dedicado à construção:

mkdir -v build
cd       build
[Nota]

Nota

Para a finalidade de que os valores da UPC listados no resto do livro sejam de algum uso, meça o tempo que leva para construir esse pacote desde a configuração até, e incluindo, a primeira instalação. Para fazer isso facilmente, encapsule os comandos em um comando time desta forma: time { ../configure ... && make && make install; }.

Agora prepare o Binutils para compilação:

../configure --prefix=$LFS/tools \
             --with-sysroot=$LFS \
             --target=$LFS_TGT   \
             --disable-nls       \
             --enable-gprofng=no \
             --disable-werror

O significado das opções do configure:

--prefix=$LFS/tools

Isso diz para o script configure para preparar para instalar os aplicativos do Binutils no diretório $LFS/tools.

--with-sysroot=$LFS

Para compilação cruzada, isso diz ao sistema de construção para procurar em $LFS pelas bibliotecas alvo de sistema conforme necessário.

--target=$LFS_TGT

Por causa da descrição de máquina na variável LFS_TGT ser ligeiramente diferente do valor retornado pelo script config.guess, essa chave dirá ao script configure para ajustar o sistema de construção do binutils para construir um vinculador cruzado.

--disable-nls

Isso desabilita internacionalização, uma vez que i18n não é necessária para as ferramentas temporárias.

--enable-gprofng=no

Isso desabilita a construção do gprofng o qual não é necessário para as ferramentas temporárias.

--disable-werror

Isso evita que a construção pare no caso de existirem alertas originários do compilador do anfitrião.

Continue compilando o pacote:

make

Instale o pacote:

make install

Detalhes deste pacote estão localizados em Seção 8.18.2, “Conteúdo do Binutils.”