Meson'i kogumissüsteemi väljaanne 0.58. Projekt Mesoni rakendamise loomise kohta C keeles.

Ilmus Meson 0.58 ehitussüsteemi väljaanne, mida kasutatakse selliste projektide nagu X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ja GTK ehitamiseks. Mesoni kood on kirjutatud Pythonis ja see on litsentseeritud Apache 2.0 all.

Mesoni arengu peamine eesmärk on tagada kiire kogumise protsess koos mugavuse ja lihtsusega. Vaikimisi kasutatakse kogumise jaoks make'i asemel Ninja tööriistu, kuid on võimalik kasutada ka muid tagaplaneeringuid, nagu xcode ja VisualStudio. Süsteemis on integreeritud mitme platvormi sõltuvuste haldur, mis võimaldab Mesonit kasutada distributsioonide paketide koostamiseks. Koostamisreeglid on määratud lihtsustatud ainealases keeles, mis on hea loetavusega ja arusaadav kasutajale (autoritelt on kavandatud, et arendaja peaks reeglite kirjutamiseks võimalikult vähe aega kulutama).

Toetatakse ristkompileerimist ja ehitamist Linuxis, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ja Windowsis, kasutades GCC, Clang, Visual Studio ja teisi kompilaatoreid. Erinevate programmeerimiskeelte, sealhulgas C, C++, Fortran, Java ja Rust projektide ehitamine on võimalik. Toetatakse inkrementaalset ehitusrežiimi, kus uuesti ehitatakse ainult need komponendid, mis on otseselt seotud muudatustega, mis on tehtud alates eelmisest ehitusest. Mesonit saab kasutada reprodutseeritavate ehituste loomiseks, kus ehituse käivitamine erinevates keskkondades toob kaasa täielikult identsete käivitatavate failide genereerimise.

Meson 0.58 peamised uuendused:

  • Mesonis on realiseeritud sisseehitatud stringi formateerimise operatsioonid. Selle asemel, et kutsuda esile meetod format, saab nüüd väärtusi otse sisestada, näiteks "f'A string @n@ to be formatted @m@'" selle asemel, et kasutada "‘A string @0@ to be formatted @1@’.format(n, m)".
  • Stringi objektidesse on lisatud meetod "replace", mille abil saab asendada ühe alamsõne teisega, näiteks "s = s.replace('aaa', 'bbb')".
  • Lisatud on funktsioon "range(start, stop[, step])", mis tagastab objekti, mida saab kasutada 'foreach' tsüklis, näiteks "foreach i : range(15)".
  • Realiseeritud on meetod meson.add_devenv(), mis võimaldab lisada objekti environment() keskkonnamuutujate seadmiseks käsu "meson devenv" käitamise ajal, näiteks keskkonnamuutuja määramiseks, mis viitab pistikute katalooge.
  • Arendustes on välja pandud uus käsk «meson devenv -C builddir [<komанда>], mis võimaldab käivitada käsku keskkonnas, mis on konfigureeritud projektide käivitamiseks ehituskaustast (ilma installimata).
  • Vaikimisi on lõpetatud параметра «-pipe» edastamine kõigi toetatud kompilaatorite käivitamisel.
  • Meson.add_dist_script() kutsumine allprojektidest on lubatud.
  • Sama environment() objekti append() ja prepend() meetodite korduv käivitamine on lubatud.
  • Vigade funktsioonis error() on lubatud rohkem kui ühe argumendi määramine tühikuga eraldatuna (sarnaselt warning() ja message() funktsioonidele).
  • Valikuline allprojektide paigaldamise vahele jätmine on võimalik, kasutades parameetrit «—skip-subprojects».

Eriliselt on märgitud projekt Boson, mille eesmärgiks on luua ülekantav ja lihtne ehituskeele Meson rakendus, mis on kirjutatud keeles C, mitte Pythonis. Projekt on veel arendamise algstaadiumis ja ei ole valmis täieõiguslikeks tööprojektide ehitamiseks. Kood jagatakse GPLv3 litsentsi alusel (algne Meson Pythonis jagatakse Apache 2.0 litsentsi alusel).

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster