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 targetsOs 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 Makefiles 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 ARCHNOT_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>.