Meson é uma ferramenta de software para automatizar a construção de software. É gratuito e de código aberto escrito em Python.
O lançamento do nova versão do Meson build system 1.0.0, que vem com novos argumentos, além da estabilidade para compilar projetos em Rust, entre outras coisas.
Para aqueles que não conhecem o Meson, devem saber que este sistema de compilação é usado para compilar projetos de grande nome como X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME e GTK.
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 também podem ser usados.
O sistema tem um manipulador de dependência multiplataforma integrado que permite que você use Meson para criar pacotes para distribuições. As regras de compilação são definidas 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).
Se suporta compilação cruzada e compilação em Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS e Windows usando GCC, Clang, Visual Studio e outros compiladores.
É possível construir projetos em várias linguagens de programação, incluindo C, C++, Fortran, Java e Rust. Um modo de compilação incremental é suportado, no qual apenas os componentes diretamente relacionados às alterações feitas desde a última compilação 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 em executáveis completamente idênticos.
Principais novidades do Meson 1.0
Nesta nova versão do Meson 1.0 destaca-se que O módulo para construção de projetos na linguagem Rust foi declarado estável. Este módulo é usado no projeto Mesa para construir componentes escritos em Rust.
Compatível com a maioria das funções de verificação do compilador, a opção prefix implementa a capacidade de lidar com arrays diferentes de strings.
Outra das novidades que se destacam deste lançamento é que propõem novos operadores "in" e "not in" para determinar a ocorrência de uma substring em uma string, Semelhante à verificação disponível anteriormente para a ocorrência de um elemento em uma matriz ou dicionário.
Além disso, também podemos descobrir que opção adicionada «nível de aviso=tudo” para acionar a saída de todos os avisos do compilador disponíveis (Clang e MSVC usam -Weverything e /Wall, e o GCC inclui avisos separados, correspondendo aproximadamente ao modo -Weverything do clang.)
Também vale a pena notar que um novo argumento “–workdir” para permitir que você substitua o diretório de trabalho. Por exemplo, para usar o diretório atual em vez do diretório de trabalho.
O método rust.bindgen implementa a capacidade de processar o argumento "dependencies" para passar caminhos para dependências a serem processadas pelo compilador e a função java.generate_native_headers foi obsoleta e renomeada para java.native_headers para corresponder ao estilo de nomenclatura geral da função do Meson.
Por outro lado, também é mencionado que agora durante a compilação cruzada, o ambiente do desenvolvedor define todas as variáveis de ambiente para a máquina HOST. Agora também configura QEMU_LD_PREFIX e o valor sys_root do arquivo cruzado se a propriedade estiver configurada. Isso significa que os executáveis de compilação cruzada geralmente podem ser executados de forma transparente na máquina de compilação, por exemplo, durante a compilação cruzada para aarch64 linux de x86_64 linux.
Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir
Como instalar o Meson no Linux?
Para aqueles que estão interessados em poder instalar este sistema de compilação em seu sistema, podem fazê-lo seguindo as instruções que compartilhamos abaixo.
Eles devem saber que o Meson está disponível no PyPi, para que possa ser instalado com o comando:
pip3 install meson
Como observação, você deve saber que o comando exato a ser digitado para instalar o pip pode variar entre os sistemas, portanto, é recomendável usar a versão Python 3 do pip.