Meson build rendszer kiadás 1.0

Megjelent a Meson 1.0.0 build rendszer, amelyet olyan projektek készítésére használnak, mint az X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME és GTK. A Meson kódja Python nyelven íródott, és az Apache 2.0 licenc alatt van.

A Meson fejlesztésének fő célja az összeszerelési folyamat nagy sebessége, a kényelem és a könnyű kezelhetőség kombinációja. A make segédprogram helyett alapértelmezés szerint a Ninja eszközkészletet használják az építés során, de más háttérprogramok, például az xcode és a VisualStudio is használhatók. A rendszer beépített többplatformos függőségi kezelővel rendelkezik, amely lehetővé teszi, hogy a Meson segítségével csomagokat készítsen disztribúciókhoz. Az összeállítási szabályok egyszerűsített, tartományspecifikus nyelven vannak megadva, jól olvashatóak és érthetőek a felhasználó számára (a szerzők szándéka szerint a fejlesztőnek minimális időt kell töltenie a szabályok megírásával).

A keresztfordítás és az assembly támogatott. Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows GCC, Clang, Visual Studio és más fordítóprogramok használata. A projektek különféle programozási nyelveken építhetők, beleértve a C, C++, Fortran, Java és Rust nyelveket. Az inkrementális build mód támogatott, amely csak az előző build óta végrehajtott módosításokhoz közvetlenül kapcsolódó komponenseket építi újra. A Meson segítségével ismételhető buildek hozhatók létre, ahol a build különböző környezetekben történő futtatása teljesen azonos futtatható fájlokat eredményez.

A Meson 1.0 főbb újításai:

  • 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.
  • Az előtag opció, amelyet a legtöbb fordító-ellenőrző funkció támogat, lehetőséget biztosít a karakterláncok mellett tömbök kezelésére is. Például most megadhatja a következőt: cc.check_header('GL/wglew.h', előtag : ['#include ', '#tartalmazza '])
  • Új "--workdir" argumentum hozzáadva a munkakönyvtár felülbírálásához. Például, ha az aktuális könyvtárat szeretné használni a munkakönyvtár helyett, futtassa: meson devenv -C builddir --workdir .
  • Új „in” és „not in” operátorokat javasoltak egy részkarakterlánc előfordulásának meghatározására egy karakterláncban, hasonlóan a korábban rendelkezésre álló elem előfordulásának ellenőrzéséhez egy tömbben vagy szótárban. Például: fs = import('fs') if 'something' in fs.read('somefile') # True endif
  • Hozzáadtuk a „warning-level=everything” opciót, amely bekapcsolja az összes rendelkezésre álló fordítói figyelmeztetés kimenetét (a clang és az MSVC esetében a -Weverything és a /Wall, a GCC-ben pedig a figyelmeztetések külön szerepelnek, megközelítőleg a -Weverything-nek megfelelően üzemmódban cseng).
  • A rust.bindgen metódus megvalósítja a "dependencies" argumentum kezelésének képességét, hogy átadja azokat a függőségi útvonalakat, amelyeket a fordítónak fel kell dolgoznia.
  • A java.generate_native_headers függvény elavult, és átnevezték java.native_headers névre, hogy megfeleljen a Meson általános függvényelnevezési stílusának.

Forrás: opennet.ru

Vásároljon megbízható tárhelyet DDoS védelemmel, VPS VDS szerverekkel rendelkező webhelyekhez 🔥 Vásároljon megbízható weboldal tárhelyet DDoS védelemmel, VPS VDS szerverekkel | ProHoster