13.14. Considerações Arquitetônicas

13.14.1. Notas Gerais sobre Arquiteturas

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 Makefiles dos Ports devem testar o valor deste Makevar.

13.14.2. Marcando um Port como de Arquitetura Neutra

Os ports que não possuem requisitos ou arquivos dependentes de arquitetura são identificados com NO_ARCH=yes.

13.14.3. Marcando um port para ser ignorado apenas em determinadas arquiteturas

  • 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_ARCH e 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.

13.14.5. Considerações Específicas do Cluster

  • 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>.