Meson 1.11.0

Projeto Meson lançou a versão 1.11.0. O lançamento ocorreu em 13 de abril de 2026 e continua o desenvolvimento de um dos sistemas de montagem mais notáveis e amplamente utilizados em diversos projetos Linux e multiplataforma.

O Meson tradicionalmente aposta em alta velocidade, uma descrição de montagem previsível e uma DSL relativamente simples, e a nova versão está focada principalmente em melhorias práticas para cenários de desenvolvimento reais.

As principais mudanças no Meson 1.11.0:

  • suporte para análise do Cargo.toml de alto nível através de workspace() no módulo Rust;
  • suporte para link_args, add_project_link_arguments() e add_global_link_arguments() para Rust;
  • novo método compiler_target() no módulo Rust;
  • Cython não requer mais inclusão explícita de C ou C++;
  • novo argumento link_early_args para passagem anterior de opções ao linkador;
  • meson dist agora suporta -j/—num-processes;
  • install_man e install_headers agora suportam install_tag;
  • deduplicação dos argumentos do linkador OpenMP;
  • detecção automática de QT_DEBUG e QT_NO_DEBUG;
  • melhorias para ambientes Windows e rc.exe.

Uma das mudanças mais notáveis diz respeito Rust. O Meson 1.11.0 aprendeu a analisar o Cargo.toml de alto nível ao chamar workspace() no módulo Rust, permitindo que as dependências e os flags de recursos sejam resolvidos de acordo com a configuração do espaço de trabalho Cargo. Isso torna a integração com projetos Rust visivelmente mais madura: o objeto retornado workspace fornece informações sobre dependências e features para subprojetos Cargo, assim como compila alvos descritos no Cargo.toml.

Os desenvolvedores também expandiram o trabalho do Meson com Rust na fase de linkagem. A partir da versão 1.11.0, o Rust suporta add_project_link_arguments(), add_global_link_arguments() e link_args, que são passados através do rustc com o prefixo -Clink-arg=. Além disso, no módulo Rust, há um novo método compiler_target(), que retorna o target triple do compilador, facilitando a portabilidade de scripts que antes se baseavam em variáveis do Cargo como TARGET e HOST.

Outra mudança prática diz respeito a Cython: agora não é mais necessário incluir explicitamente as linguagens C ou C++. Entretanto, o Meson especifica que tais linguagens são adicionadas apenas como um detalhe interno de implementação do Cython e não como uma capacidade completa de compilar simultaneamente alvos nativos C/C++. Para os usuários, isso representa, antes de tudo, uma simplificação da configuração da montagem.

A versão inclui melhorias voltadas para um controle mais refinado de vinculação e instalação. Os alvos que realizam a vinculação agora possuem um novo argumento link_early_args, que permite passar opções para o vinculador antes dos objetos e bibliotecas — isso é importante para opções como -u ou —defsym, que são sensíveis à ordem. Além disso, install_man e install_headers agora suportam install_tag, permitindo um gerenciamento mais flexível dos arquivos instalados através do meson install —tags.

É importante ressaltar o desenvolvimento de ferramentas de suporte à construção. A equipe do meson dist agora aceita -j e —num-processes, permitindo o controle do número de processos paralelos ao verificar a distribuição. Simultaneamente, o Meson começou a deduplicar os argumentos do vinculador OpenMP, como -fopenmp e -qopenmp, e nos módulos Qt agora os macros QT_DEBUG ou QT_NO_DEBUG são definidos automaticamente dependendo do modo de construção, aproximando o comportamento do qmake.

Há mudanças também na compatibilidade com cenários específicos de plataforma. No módulo external_project para Windows, agora é utilizado cygpath, para converter corretamente os caminhos para o formato Unix ao trabalhar com scripts configure em ambientes como MSYS2 e Cygwin. Além disso, windows.compile_resources agora consegue rastrear mudanças nos cabeçalhos ao usar rc.exe, contornando uma limitação antiga desse compilador de recursos.

No geral Meson 1.11.0 parece uma versão sem revoluções radicalmente novas, mas com um número considerável de melhorias tecnicamente significativas. O principal objetivo do lançamento é tornar o sistema de construção mais conveniente para modernos projetos mistos, especialmente onde coexistem Rust, Cython, Qt e componentes tradicionais em C/C++. Para os desenvolvedores, isso é mais uma atualização cuidadosa e útil da ferramenta, que já faz parte do cotidiano do stack de software livre.

Fonte: linux.org.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