Meson build sistēmas laidiens 1.0

Ir publicēts Meson 1.0.0 būvēšanas sistēmas izlaidums, kas tiek izmantots tādu projektu izveidei kā X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME un GTK. Meson kods ir rakstīts Python un ir licencēts saskaņā ar Apache 2.0 licenci.

Galvenais Meson attīstības mērķis ir nodrošināt ātru montāžas procesu apvienojumā ar ērtībām un lietošanas vienkāršību. Make vietā pēc noklusējuma tiek izmantots Ninja rīku komplekts, taču var izmantot arī citas aizmugursistēmas, piemēram, xcode un VisualStudio. Sistēmai ir iebūvēts vairāku platformu atkarības apstrādātājs, kas ļauj izmantot Meson, lai izveidotu pakotnes izplatīšanai. Montāžas noteikumi ir iestatīti vienkāršotā domēna specifiskā valodā, tie ir labi salasāmi un lietotājam saprotami (pēc autoru idejas izstrādātājam noteikumu rakstīšanai jāpavada minimāls laiks).

Tiek atbalstīta savstarpēja kompilēšana un veidošana uz Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS un Windows, izmantojot GCC, Clang, Visual Studio un citus kompilatorus. Ir iespējams veidot projektus dažādās programmēšanas valodās, tostarp C, C++, Fortran, Java un Rust. Tiek atbalstīts pakāpenisks veidošanas režīms, kurā tiek pārbūvēti tikai tie komponenti, kas ir tieši saistīti ar izmaiņām, kas veiktas kopš pēdējās būvēšanas. Meson var izmantot atkārtojamu būvējumu ģenerēšanai, kur, palaižot būvējumu dažādās vidēs, tiek ģenerēti pilnīgi identiski izpildāmie faili.

Galvenie Meson 1.0 jauninājumi:

  • Ēku projektu modulis Rust valodā ir pasludināts par stabilu. Šis modulis tiek izmantots Mesa projektā, lai izveidotu komponentus, kas rakstīti Rust valodā.
  • Prefiksa opcija, ko atbalsta lielākā daļa kompilatoru pārbaudes funkciju, nodrošina iespēju apstrādāt citus masīvus, nevis virknes. Piemēram, tagad varat norādīt: cc.check_header('GL/wglew.h', prefikss : ['#include ', '#iekļauts '])
  • Ir pievienots jauns arguments "--workdir", kas ļauj ignorēt darba direktoriju. Piemēram, lai darba direktorija vietā izmantotu pašreizējo direktoriju, varat palaist: meson devenv -C builddir --workdir .
  • Tiek piedāvāti jauni operatori "in" un "not in", lai noteiktu apakšvirknes rašanos virknē, līdzīgi kā iepriekš bija pieejama elementa rašanās pārbaude masīvā vai vārdnīcā. Piemēram: fs = import('fs') if 'something' in fs.read('somefile') # True endif
  • Pievienota opcija "warning-level=viss", lai ieslēgtu visu pieejamo kompilatora brīdinājumu izvadi (clang un MSVC izmanto -Weverything un /Wall, un GCC ir iekļauti atsevišķi brīdinājumi, kas aptuveni atbilst -Weverything režīmam clang).
  • Metode rust.bindgen ievieš iespēju apstrādāt argumentu "atkarības", lai novirzītu ceļus uz atkarībām, kas jāapstrādā kompilatoram.
  • Funkcija java.generate_native_headers ir novecojusi un pārdēvēta par java.native_headers, lai tā atbilstu Meson vispārīgajam funkciju nosaukšanas stilam.

Avots: opennet.ru

Pievieno komentāru