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).

Támogatja a keresztfordítást és az építkezést Linuxon, Illumos/Solarison, FreeBSD-n, NetBSD-n, DragonFly BSD-n, Haiku-n, macOS-en és Windowson a GCC, Clang, Visual Studio és más fordítók segítségével. Lehetőség van projektek készítésére különféle programozási nyelveken, köztük C, C++, Fortran, Java és Rust. A növekményes felépítési mód támogatott, amelyben csak az utolsó build óta végrehajtott változtatásokhoz közvetlenül kapcsolódó összetevők épülnek újra. A Meson segítségével megismételhető buildek generálhatók, amelyekben a build különböző környezetekben történő futtatása teljesen azonos futtatható fájlok generálását eredményezi.

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

Hozzászólás