Meson é um projeto para criar o melhor sistema de construção possível da próxima geração.
O lançamento da nova versão do sistema de compilação Meson 1.1.0, que é usado para compilar vários projetos populares, como X.Org, Mesa, systemd, Wayland, GNOME, entre outros.
O principal objetivo de desenvolvimento da Meson é fornecer um processo de compilação de alta velocidade combinado com conveniência e facilidade de uso. Em vez disso, a compilação usa o Ninja Toolkit por padrão, mas outros back-ends como xcode e VisualStudio podem ser usados.
O sistema tem um manipulador de dependência de plataforma cruzada inbuiltin que permite usar o Meson para criar pacotes para distribuições. As regras de compilação são escritas em uma linguagem específica de domínio simplificada, são bem legíveis e compreensíveis para o usuário (de acordo com a ideia dos autores, o desenvolvedor deve gastar um mínimo de tempo escrevendo regras).
A compilação cruzada é suportada e compilação em um grande número de sistemas e outros compiladores. Os projetos podem ser construídos em várias linguagens de programação, incluindo C, C++, Fortran, Java e Rust.
Notavelmente suporta um modo de compilação incremental, em que apenas os componentes diretamente relacionados às alterações feitas desde o último build são reconstruídos. O Meson pode ser usado para gerar compilações repetíveis, onde a execução da compilação em diferentes ambientes resulta na geração de executáveis completamente idênticos.
Principais novidades do Meson 1.1
Nesta nova versão do Meson 1.1, a execução de «instalação do meson sudo» garante a restauração dos privilégios durante a reconstrução das plataformas de destino.
Outra das mudanças que se destaca é que o comando «meson instalar» oferece a capacidade de especificar um driver separado para obter permissões de root (por exemplo, você pode selecionar polkit, sudo, opendoas ou $MESON_ROOT_CMD), além de executar "meson instalar» no modo não interativo não tenta mais elevar privilégios.
Além disso, destaca-se também que foi adicionado um novo back-end "nenhum" (–backend=none) para criar projetos que tenham apenas regras de instalação e nenhuma regra de compilação, bem como adicionou uma nova dependência pybind11 para fazer a dependência ('pybind11') funcionar com pkg-config e cmake sem usar o script pybind11-config.
Do grandes mudanças Os destaques desta nova versão incluem o seguinte:
- Adicionado um novo argumento "objetos:" para declare_dependency() para anexar objetos diretamente a executáveis como dependências internas que não requerem link_who.
- Redirecionamento fornecido ao stderr a partir da saída de informações sobre o andamento da introspecção.
- Adicionada uma opção ao comando "meson devenv –dump» para especificar um arquivo para gravar variáveis de ambiente, em vez de enviá-lo para a saída padrão.
- métodos foram adicionados FeatureOption.enable_if e FeatureOption.disable_if para facilitar a criação de condicionais na preparação para passar parâmetros para a função dependency(), opt = get_option('feature').disable_if(not foo, error_message: 'Não é possível ativar o recurso quando foo não está ativado')
dep = dependency('foo', obrigatório: opt) - Permitido passar objetos gerados como argumentos "objetos:".
- A função de projeto suporta a instalação de arquivos com informações de licença do projeto.
- Adicionado suporte para leitura de opções de arquivo meson.opções em vez de meson_options.txt.
- As opções "--reconfigure" e "--wipe" (meson setup –reconfigure builddir e meson setup –wipe builddir) são permitidos com um builddir vazio.
- Meson.add_install_script() adicionou suporte a palavras-chave funcionamento a seco, que permite executar seus próprios scripts de instalação chamando "meson install –execução a seco".
Por fim, vale ressaltar que o código do Meson é escrito em Python e está licenciado sob a licença Apache 2.0. Se você estiver interessado em saber mais sobre isso, você pode consultar os detalhes no link a seguir.
Como instalar o Meson no Linux?
Para os interessado em poder obter Meson, eles devem saber que está disponível no PyPi , para que possa ser instalado com instalação pip3 meson.
Deve-se observar que o comando exato a ser digitado para instalar o pip pode variar entre os sistemas, portanto, certifique-se de usar a versão Python 3 do pip.
Embora, se desejar, você possa instalá-lo localmente com o comando Python padrão:
python3 -m pip install meson