Mesoni versioon 1.11.0 väljaanne

Avaldatud on Meson 1.11.0 ehitus süsteemi versioon, mida kasutatakse selliste projektide nagu X.Org Server, Mesa, QEMU, Lighttpd, systemd, GStreamer, Wayland, GNOME ja GTK ehitamiseks. Mesoni kood on kirjutatud Pythonis ja see tarnitakse Apache 2.0 litsentsi alusel.

Mesoni arendamise peamine eesmärk on tagada ehitusprotsessi kõrge kiirus koos mugavuse ja lihtsusega. Vaikimisi kasutatakse ehitamiseks make tööriista asemel Ninja tööriista, kuid on võimalik kasutada ka teisi taustsüsteeme, nagu Xcode ja Visual Studio. Süsteem sisaldab nelja platvormi sõltuvuste töötlejat, võimaldades Mesonit kasutada pakettide koostamiseks distributsioonide jaoks. Ehitusreeglid määratakse lihtsustatud valdkonnapõhises keeles, mis on hästi loetavad ja arusaadavad kasutajatele (autorite ideede kohaselt peaks arendaja kulutama nende reeglite kirjutamisele minimaalselt aega).

Kross-compile'imine ja ehitamine Linuxis, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ja Windowsis on toetatud kasutades GCC, Clang, Visual Studio ja teisi kompilaatorite. Projektide kompileerimine erinevates programmeerimiskeeltes, sealhulgas C, C++, Fortran, Java, D ja Rust, on võimalik. Toetatakse inkrementaalset ehitusrežiimi, kus uuendatakse ainult komponente, mis on otseselt seotud muudatustega, mis tehti alates viimasest ehitusest. Mesoni saab kasutada korduvate ehituste loomiseks, kus ehituse käivitamine erinevates keskkondades toob kaasa täiesti identsed täidetavad failid.

Meson 1.11 peamised uuendused:

  • Mesoni skripti meetodi rust.workspace() kutsumisel toimub projekti juurefaili Cargo.toml analüüs, et tagada feature-lippude õige aktiveerimine, mis on määratletud kõigi tööruumide ühises Cargo.toml failis. Lisaks tagastab meetod rust.workspace() nüüd objekti, mille kaudu saab saada alaprojektide feature-lippude ja sõltuvuste loendi ning käivitada ehituse eesmärkide jaoks, mis on kuulutatud Cargo.toml failides.
  • Käsk «meson dist» on täiendatud valiku «-j» (—num-processes) ja keskkonnamuutujaga MESON_NUM_PROCESSES, et määrata samal ajal täidetavate protsesside arv pakettide koostamisel ja testimisel.
  • Parameeter should_fail, mis lubas testi läbimist, kui tagastatakse viga, on kuulutatud aegunuks ja nimetatud ümber expected_fail. Lisatud on parameeter expected_exitcode, et määrata testimise edukuse kood, mis ei ole 0.
  • Moodulis external_project on Windowsi platvormil kasutusele võetud käsk cygpath, et muuta Windows-spetsiifilisi failiteid ning Unixitaolisi teid (näiteks C:/path/to/configure transformeeritakse /path/to/configure).
  • Käskudele install_man ja install_headers on lisatud tugi argumendile install_tag, et valida installitavaid faile mis tahes koodide põhjal, mitte ainult man ja devel koodide põhjal.
  • Lisatud on parameeter link_early_args, mille kaudu saab koostamise käivitamise käskude reale lisada valikuid (näiteks «-u» või «—defsym») enne objektide ja raamatukogude loetlemist.
  • Lisatud on konstants «~», mis asendatakse kodukaustaga keskkonda kirjeldavates failides (machine files).
  • „meson format” meeskonnas on vaikimisi välja lülitatud failide sortimine, mida on märgitud files() funktsiooni argumendina. Sortimise lubamiseks tuleks kasutada valikut sort_files.
  • On ametlikult teatatud, et Python'i versioonide tugi lõpetatakse kuni 3.10 väljalaskmiseni. Meson 1.11.0 on viimane versioon, mis toetab Python 3.7, 3.8 ja 3.9 harude versioone.
  • Toetatakse MPLAB XC32 kompilaatori uusi funktsioone, mis on ilmnenud versioonis 5.0, sealhulgas LTO-optimeerimiste automaatne lubamine ja standardite C2x ja CPP23 tugi.

Allikas: opennet.ru

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