Instale o GCC em um local personalizado sem prefixo de máquina

0

Ao instalar o GCC, bibliotecas, arquivos de cabeçalho e alguns executáveis são colocados em diretórios semelhantes a /usr/lib/gcc/i686-pc-linux-gnu/4.5.4/ e /usr/libexec/gcc/i686-pc-linux-gnu/4.5.4/ .

Estou criando um compilador nativo em um sistema personalizado e gostaria de colocar executáveis em /bin , arquivos de cabeçalho em /include/gcc e qualquer outra coisa em /lib/gcc (nenhum caminho contendo o nome da máquina de destino nem a versão do gcc ). Infelizmente isso parece ser impossível considerando as opções disponíveis do script de configuração do gcc. Simplesmente realocar todos os arquivos instalados não é problema, mas o executável do gcc não poderá mais encontrá-los. Os diretórios de pesquisa se parecem com o seguinte no meu sistema (muito feio no meu ponto de vista, muitos caminhos inúteis):

$ gcc -print-search-dirs
install: /usr/lib/gcc/i686-pc-linux-gnu/4.5.4/
programs: =/usr/libexec/gcc/i686-pc-linux-gnu/4.5.4/:/usr/libexec/gcc/i686-pc-linux-gnu/4.5.4/:/usr/libexec/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/:/usr/lib/gcc/i686-pc-linux-gnu/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../../i686-pc-linux-gnu/bin/i686-pc-linux-gnu/4.5.4/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../../i686-pc-linux-gnu/bin/
libraries: =/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../../i686-pc-linux-gnu/lib/i686-pc-linux-gnu/4.5.4/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../../i686-pc-linux-gnu/lib/../lib/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../i686-pc-linux-gnu/4.5.4/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../../lib/:/lib/i686-pc-linux-gnu/4.5.4/:/lib/../lib/:/usr/lib/i686-pc-linux-gnu/4.5.4/:/usr/lib/../lib/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../../i686-pc-linux-gnu/lib/:/usr/lib/gcc/i686-pc-linux-gnu/4.5.4/../../../:/lib/:/usr/lib/

Eu olhei para a fonte do gcc, mas para mim parece que muito teria que ser mudado para conseguir o que eu quero; a estrutura desses caminhos é realmente codificada. Manipular DEFAULT_TARGET_MACHINE ou DEFAULT_TARGET_VERSION em gcc/Makefile.in antes da configuração seria suficiente, mas isso quebraria outras coisas com certeza.

Qualquer ajuda / ideias apreciadas.

    
por watain 25.11.2012 / 00:21

1 resposta

1

Tente essas opções para o script ./configure:

--prefix=
--exec-prefix=
--bindir=
--libdir=
--libexecdir=
--with-slibdir=

Compilando o manual do gcc

    
por 25.11.2012 / 01:04