Meson når sin version 1.0.0 och det här är dess nyheter

Meson är ett mjukvaruverktyg för att automatisera konstruktionen av mjukvara. Det är gratis och öppen källkod skrivet i Python.

Lanseringen av den nya versionen av Meson 1.0.0-byggsystemet tillkännagavs i en publikation , vilken kommer med nya funktioner, samt stabilitet för att kompilera projekt i Rust, bland annat.

För de som inte känner till Meson är det värt att notera att detta byggsystem används för att kompilera välkända projekt som X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME och GTK.

Mesons viktigaste utvecklingsmål är att tillhandahålla en höghastighetskompileringsprocess kombinerad med bekvämlighet och användarvänlighet. Istället för att göra det använder byggnaden Ninja Toolkit som standard, men andra backends som xcode och VisualStudio kan också användas.

Systemet har en inbyggd plattformsoberoende beroendehanterare som låter dig använda Meson för att skapa paket för distributioner. Kompileringsreglerna är skrivna i ett förenklat, domänspecifikt språk, vilket gör dem lättlästa och förståeliga för användaren (enligt författarnas vision bör utvecklare lägga minimal tid på att skriva regler).

Korskompilering stöds , liksom kompilering på Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS och Windows med GCC, Clang, Visual Studio och andra kompilatorer.

Det är möjligt att bygga projekt i flera programmeringsspråk , inklusive C, C++, Fortran, Java och Rust. Ett stegvis kompileringsläge stöds, där endast komponenter som är direkt relaterade till ändringar som gjorts sedan den senaste kompileringen återskapas.

Meson kan användas för att generera repeterbara builds, där att köra builden i olika miljöer resulterar i helt identiska körbara filer.

De viktigaste nyheterna i Meson 1.0

I denna nya version av Meson 1.0 framhålls det Modulen för byggprojekt på språket Rust har förklarats stabil. Denna modul används i Mesa-projektet för att bygga komponenter skrivna i Rust.
Med stöd av de flesta kompilatorkontrollfunktioner implementerar prefixalternativet möjligheten att hantera andra arrayer än strängar.

En annan förändring som sticker ut i den här versionen är introduktionen av nya operatorer "in" och "not in" för att avgöra förekomsten av en delsträng i en sträng, liknande den tidigare tillgängliga kontrollen av förekomsten av ett element i en array eller ordbok.

Dessutom kan vi också se att alternativet " warning-level=everything" har lagts till för att aktivera utdata från alla tillgängliga kompilatorvarningar (i clang och MSVC används -Weverything och /Wall, och i GCC ingår separata varningar, vilka ungefär motsvarar clangs -Weverything-läge).

Det är också värt att notera att ett nytt argument, "--workdir", har lagts till för att du ska kunna åsidosätta arbetskatalogen . Till exempel för att använda den aktuella katalogen istället för arbetskatalogen.

Rust.bindgen-metoden implementerar möjligheten att bearbeta "beroenden"-argumentet för att skicka sökvägar till beroenden som ska bearbetas av kompilatorn och java.generate_native_headers-funktionen har fasats ut och döpts om till java.native_headers för att matcha Mesons allmänna funktionsnamnstil.

Vidare nämns det att vid korskompilering ställer utvecklarmiljön nu in alla miljövariabler för värddatorn. Den ställer nu även in QEMU_LD_PREFIX och sys_root-värdet för korsfilen om egenskapen är definierad. Detta innebär att korskompilerade körbara filer ofta kan köras transparent på kompileringsdatorn, till exempel vid korskompilering för aarch64 Linux från x86_64 Linux.

Slutligen, om du är intresserad av att lära dig mer, kan du hitta detaljerna på följande länk.

Hur installerar man Meson på Linux?

För de som är intresserade av att kunna installera detta byggsystem på sitt system kan de göra det genom att följa instruktionerna som vi delar nedan.

De borde veta att Meson är tillgängligt på PyPi, så det kan installeras med kommandot:

pip3 install meson

Som en notering bör du veta att det exakta kommandot att skriva för att installera pip kan variera mellan olika system, så det rekommenderas att du använder Python 3-versionen av pip.


Lägg till som prioriterad källa i Google