GCC será removido do núcleo do FreeBSD

Desenvolvedores do FreeBSD apresentaram plano para remoção do GCC 4.2.1 dos códigos fonte do sistema base FreeBSD. Os componentes do GCC serão removidos antes do branch FreeBSD 13, que incluirá apenas o compilador Clang. O GCC poderá ser instalado a partir dos ports, onde é oferecido GCC 9, 7 e 8, assim como aqueles já classificados como obsoletos lançamentos GCC 4.8, 5, 6 e 7.

Arquiteturas que dependem do GCC e não podem migrar para o Clang serão aconselhadas a mudar para ferramentas externas, instaladas a partir dos ports. Como parte dos preparativos para a remoção do GCC do sistema base, planeja-se melhorar a integração do sistema de build do sistema base com ferramentas externas. Por exemplo, para a arquitetura amd64, já foi adicionada ao sistema de integração contínua a capacidade de compilar usando gcc 6.4 a partir dos ports, que pode ser utilizada como base para portar outras arquiteturas.

Lembramos que desde o FreeBSD 10, o sistema base para as arquiteturas i386, AMD64 e ARM foi alterado para fornecer por padrão o compilador Clang e a biblioteca libc++ desenvolvida pelo projeto LLVM. O GCC e libstdc++ para as arquiteturas mencionadas deixaram de ser compilados como parte do sistema base, mas continuaram a ser fornecidos por padrão para arquiteturas powerpc, mips, mips64 e sparc64, além de poderem ser instalados ao recompilar com os flags WITH_GCC e WITH_GNUCXX. A entrega da versão obsoleta GCC 4.2.1 foi motivada por restrições de licença.

O FreeBSD não pôde migrar para uma versão mais recente do GCC, pois a partir do lançamento 4.2.2, o GCC foi migrado para a licença GPLv3 e a integração do GCC 4.2.2 foi dificultada pela incompatibilidade dos componentes de runtime do GCC com a licença BSD. Posteriormente, na versão GCC 4.4, esta incompatibilidade foi resolvida, mas a adição de componentes sob licença GPLv3 ao sistema base FreeBSD foi considerada impossível devido a conflitos com os objetivos do projeto FreeBSD e a relutância em impor restrições adicionais aos usuários, como a proibição de tivoização.

O processo de remoção do GCC do sistema base será dividido em várias etapas e durará 9 meses, o que dará aos desenvolvedores das arquiteturas ligadas ao GCC (powerpc, mips, mips64 e sparc64) tempo para migrar para o Clang ou optar por ferramentas externas. A primeira etapa começará em 31 de agosto e resultará na exclusão do gcc 4.2.1 da build no sistema de integração contínua, além da interrupção do uso da flag "-Werror" para as plataformas ligadas ao GCC e da desativação da build do GCC por padrão ao executar "make universe".

Em 31 de dezembro de 2019, a build do GCC será desativada por padrão, mas poderá ser reativada com a especificação de certas flags. Em 31 de março de 2020, o GCC será removido do repositório SVN, e em 31 de maio, todas as plataformas que não estão cobertas pelo sistema de integração contínua, que não suportam LLVM ou que não migraram para o uso de ferramentas de build externas, serão removidas do SVN. Em 31 de julho de 2020, a remoção final de todas as plataformas restantes que requerem ferramentas de build externas, mas que não têm suporte nos scripts de formação de lançamentos, será realizada.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster