Ferramentas de Desenvolvimento
GNU make 4.3
GNU make 4.3 inclui muitas correções de bugs, novos recursos e melhorias de desempenho.
Incompatibilidade com versões anteriores
Os patches de compatibilidade para a versão 3.8 foram removidos nesta versão, fazendo com que o Fedora seja igual a outras distros.
|
Mantenedores de pacotes que dependem de recursos de makefile específicos para versões mais antigas do GNU make (incluindo patches de compatibilidade para 3.8 que estamos descartando) podem usar FTBFS e precisar ajustar seus Makefiles. Os pacotes que foram compilados antes desta atualização não serão afetados. |
Incompatibilidade específica com versões anteriores:
* AVISO: Incompatibilidade com versões anteriores!
Sinais numéricos (#) aparecendo dentro de uma referência de macro ou invocação de função
não introduz mais comentários e não deve ser escapado com barras invertidas:
portanto, uma chamada como:
foo := $(shell echo '#')
é válida. Anteriormente, o sinal numérico precisava ser escapado, por exemplo:
foo := $(shell echo '\#')
Agora, este último será resolvido como "\#". Se você quiser escrever makefiles
portáteis para ambas as versões, atribua o sinal numérico a uma variável:
H:= \#
foo := $(shell echo '$H')
Foi alegado que isso foi corrigido no 3.81, mas não foi, por algum motivo.
Para detectar esta alteração, procure por 'nocomment' na variável .FEATURES .
* AVISO: Incompatibilidade com versões anteriores!
Anexar anteriormente usando '+=' a uma variável vazia resultaria em um valor
começando com um espaço. Agora o espaço inicial só é adicionado se a variável
já contém algum valor. Da mesma forma, anexar uma string vazia não
adiciona um espaço à direita.
Novos recursos
-
Alvos explícitos agrupados As regras padrão sempre tiveram a capacidade de gerar múltiplos alvos com uma única invocação da receita. Agora é possível declarar que uma regra explícita gera múltiplos alvos com uma única invocação. Para usar isso, substitua o token
:por&:na regra. Para detectar este recurso, procure porgrouped-targetna variável especial .FEATURES. -
Variável .EXTRA_PREREQS As palavras nesta variável são consideradas pré-requisitos dos alvos, mas não são adicionadas a nenhum dos valores da variável automática ao expandir a receita. Esta variável pode ser global (aplica-se a todos os destinos) ou uma variável específica do destino. Para detectar este recurso, procure por
extra-prereqsna variável especial.FEATURES. -
Makefiles agora podem especificar a opção
-jem sua variável MAKEFLAGS e isso fará com que o make habilite esse modo de paralelismo. -
GNU make agora usará
posix_spawn()em sistemas onde estiver disponível. Se você preferir usar fork/exec mesmo em sistemas onde posix_spawn() está presente, você pode usar a opção--disable-posix-spawnpara configurar. -
As mensagens de erro impressas ao invocar comandos inexistentes foram limpas e tornadas consistentes.
-
Uma nova opção
--no-silentfoi adicionada, que cancela o efeito do sinalizador-s/--silent/--quiet. -
Uma nova opção
-Efoi adicionada como um alias curto para--eval. -
Interoperabilidade com bibliotecas de tempo de execução GNU libc e musl C mais recentes.
Consulte o link: anúncio de lançamento upstream para obter informações mais detalhadas sobre este lançamento.
Bugs corrigidos
Uma lista completa de bugs corrigidos nesta versão está disponível aqui make - Bugs
Want to help? Learn how to contribute to Fedora Docs ›