Az indulás a a Meson build rendszer 1.0.0 új verziója, ami új érvekkel, valamint egyebek mellett a projektek Rust nyelven történő összeállításának stabilitásával jár.
Aki nem ismeri a Mesont, annak tudnia kell ezt a build rendszert nagynevű projektek összeállítására használják mint például az X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME és GTK.
A Meson kulcsfontosságú fejlesztési célja, hogy nagy sebességű fordítási folyamatot biztosítson a kényelemmel és az egyszerű használattal. Ahelyett, hogy ezt tenné, a build alapértelmezés szerint a Ninja Toolkit-et használja, de más háttérprogramok, például az xcode és a VisualStudio is használhatók.
A rendszer beépített platformok közötti függőségkezelővel rendelkezik amely lehetővé teszi a Meson használatát csomagok létrehozásához a disztribúciókhoz. Az összeállítási szabályok leegyszerűsített, tartományspecifikus nyelven vannak megfogalmazva, jól olvashatóak és a felhasználó számára érthetőek (a szerzők elképzelése szerint a fejlesztőnek minimális időt kell szánnia a szabályok megírására).
Se támogatja a keresztfordítást és fordítás Linuxon, Illumos/Solarison, FreeBSD-n, NetBSD-n, DragonFly BSD-n, Haiku-n, macOS-en és Windowson GCC, Clang, Visual Studio és más fordítók segítségével.
Több programozási nyelven is lehet projekteket építeni, köztük C, C++, Fortran, Java és Rust. A növekményes felépítési mód támogatott, amelyben csak azok az összetevők épülnek újra, amelyek közvetlenül kapcsolódnak az utolsó build óta végrehajtott változtatásokhoz.
A Meson használható megismételhető buildek generálására, ahol a build futtatása különböző környezetekben teljesen azonos végrehajtható fájlokat eredményez.
A Meson 1.0 fő újdonságai
A Meson 1.0 új kiadásában kiemelték, hogy A Rust nyelvű építési projektek modulját stabilnak nyilvánították. Ezt a modult a Mesa projektben a Rust nyelven írt komponensek építésére használják.
A legtöbb fordítóellenőrző funkció által támogatott prefix opció lehetővé teszi a karakterláncokon kívüli tömbök kezelését is.
Egy másik változás, amely kiemelkedik ebből a bevezetésből, az, hogy javasoltak új "in" és "not in" operátorok a karakterláncban lévő részkarakterlánc előfordulásának meghatározásához, Hasonló a korábban elérhető elem előfordulásának ellenőrzéséhez egy tömbben vagy szótárban.
Ezen kívül azt is megtalálhatjuk hozzáadott lehetőség «figyelmeztetési szint = minden” hogy kiváltsa az összes rendelkezésre álló fordítói figyelmeztetést (A Clang és az MSVC a -Weverythinget és a /Wallt használja, a GCC pedig külön figyelmeztetéseket tartalmaz, amelyek nagyjából megfelelnek a clang -Weverything módjának.)
Azt is érdemes megjegyezni, hogy a új argumentum „–workdir”, amely lehetővé teszi a munkakönyvtár felülbírálását. Például az aktuális könyvtár használata a munkakönyvtár helyett.
A rust.bindgen metódus megvalósítja a "dependencies" argumentum feldolgozásának képességét, hogy a fordító által feldolgozandó függőségek elérési útvonalát adja át, a java.generate_native_headers függvény pedig elavult, és átnevezték java.native_headersre, hogy megfeleljen a Meson általános függvényelnevezési stílusának.
Másrészt most azt is megemlítik keresztfordításkor a fejlesztői környezet beállítja az összes környezeti változót a HOST géphez. Most beállítja a QEMU_LD_PREFIX és a keresztfájl sys_root értékét is, ha a tulajdonság be van állítva. Ez azt jelenti, hogy a keresztben lefordított végrehajtható fájlok gyakran transzparens módon futtathatók a felépítő gépen, például ha keresztfordítást végeznek aarch64 linuxra x86_64 linuxról.
Végül, ha többet szeretne megtudni róla, tájékozódhat a részletekről a következő link.
Hogyan telepítsem a Mesont Linuxra?
Azok, akik szeretnének telepíteni ezt a build rendszert a rendszerükre, az alábbi utasításokat követve megtehetik.
Tudniuk kell, hogy a Meson elérhető PyPi-n, így a következő paranccsal telepíthető:
pip3 install meson
Megjegyzésként tudnia kell, hogy a pip telepítéséhez pontosan beírandó parancs rendszerenként változhat, ezért javasolt a pip Python 3-as verziójának használata.