A Meson 0.58 összeszerelő rendszer kiadása. Projekt a Meson C nyelvű megvalósításának létrehozására

Megjelent a Meson 0.58 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 0.58 főbb újításai:

  • A Meson beépített karakterlánc-formázási műveletekkel rendelkezik. A formázási metódus meghívása helyett most már közvetlenül is helyettesítheti az értékeket, például a „@0@ formázandó @1@ karakterlánc”.format(n, m)” helyett azonnal megadhatja az „f”-t. Egy @n@ karakterlánc @ m@'".
  • Egy "csere" metódus került hozzáadásra a karakterlánc-objektumokhoz, hogy végrehajtsa az egyik részkarakterlánc másikkal való helyettesítését, például "s = s.replace('aaa', 'bbb')".
  • Hozzáadott "tartomány(kezdet, leállítás[, lépés])" függvény egy foreach ciklusban használható objektum visszaadásához, például "foreach i : range(15)".
  • Megvalósult a meson.add_devenv() metódus, amely lehetővé teszi egy Environment() objektum hozzáadását a környezeti változók beállításához, amikor a "meson devenv" parancsot használja, például egy környezeti változó beállításához a plugins könyvtár elérési útjával.
  • Fejlesztői környezetekhez egy új parancsot javasoltak: „meson devenv -C builddir [<parancs>], amely lehetővé teszi a parancs futtatását olyan környezetben, amely úgy van beállítva, hogy projekteket indítson a build könyvtárból (telepítés nélkül).
  • Alapértelmezés szerint a "-pipe" opció átadása leáll az összes támogatott fordító futtatásakor.
  • A meson.add_dist_script() meghívása alprojektekből megengedett.
  • Lehetővé teszi az append() és prepend() metódusok többszöri futtatását ugyanazon a Environment() objektumon.
  • Az error() függvény egynél több argumentumot engedélyez, szóközzel elválasztva (hasonlóan a warning()-hoz és a message()-hez).
  • A "--skip-subprojects" opció hozzáadva az alprojektek telepítésének szelektív kihagyásához.

Külön megemlíthetjük a Boson projektet, amelynek célja a Meson összeállítási szkriptnyelv hordozható és egyszerű megvalósítása, amely Python helyett C nyelven íródott. A projekt még a fejlesztés kezdeti szakaszában van, és még nem áll készen a működő projektek teljes összeállítására. A kód a GPLv3 licenc alatt van (az eredeti Python Meson licence az Apache 2.0 licenc alatt van).

Forrás: opennet.ru

Hozzászólás