O FreeBSD roda em muito mais arquiteturas de processador do que apenas as conhecidas baseadas em x86. Alguns ports possuem restrições específicas para uma ou mais dessas arquiteturas.
Para a lista de arquiteturas suportadas, execute:
cd ${SRCDIR}; make targets
Os valores são mostrados no formato TARGET
/TARGET_ARCH
. O makevar ARCH
somente leitura do ports é configurado com base no valor de TARGET_ARCH
. Os Makefile
s dos Ports devem testar o valor deste Makevar.
Os ports que não possuem requisitos ou arquivos dependentes de arquitetura são identificados com NO_ARCH=yes
.
NO_ARCH
pretende indicar que não há necessidade de compilar um pacote para cada uma das arquiteturas suportadas. O objetivo é reduzir a quantidade de recursos gastos na compilação e distribuição de pacotes, como largura de banda de rede e espaço em disco em mirrors e na mídia de distribuição. Atualmente, entretanto, nossa infraestrutura de pacotes (por exemplo, gerenciadores de pacotes, mirrors e compiladores de pacotes) não estão configurados para se beneficiar totalmente do NO_ARCH
.
Para marcar um port com IGNORE
apenas em determinadas arquiteturas, existem duas outras variáveis de conveniência que irão setar automaticamente IGNORE
: ONLY_FOR_ARCHS
e NOT_FOR_ARCHS
. Exemplos:
ONLY_FOR_ARCHS= i386 amd64
NOT_FOR_ARCHS= ia64 sparc64
Uma mensagem de IGNORE
customizada pode ser definida usando as variáveis ONLY_FOR_ARCHS_REASON
e NOT_FOR_ARCHS_REASON
. É possível definir entradas por arquitetura com as variáveis ONLY_FOR_ARCHS_REASON_
e ARCH
NOT_FOR_ARCHS_REASON_
.ARCH
Se um port baixar e instalar binários i386, defina a variável IA32_BINARY_PORT
. Se esta variável estiver definida,/usr/lib32
deve estar presente para versões IA32 de bibliotecas e o kernel deve suportar compatibilidade com IA32. Se uma dessas duas dependências não forem satisfeitas, IGNORE
será definido automaticamente.
Alguns ports tentam se ajustar à máquina exata em que estão sendo compilados, definindo -march=native
para o compilador. Isso deve ser evitado: liste-o em uma opção desativada por padrão ou exclua-o completamente.
Caso contrário, o pacote padrão produzido pelo cluster de compilação pode não rodar em todas as máquinas desse ARCH
.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.