Meson build sistēmas laidiens 0.52

publicēts veidot sistēmas izlaidumu Mezons 0.52, ko izmanto, lai izveidotu tādus projektus kā X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME un GTK+. Meson kods ir rakstīts Python un piegādāts licencēts saskaņā ar Apache 2.0.

Meson izstrādes galvenais mērķis ir nodrošināt lielu montāžas procesa ātrumu apvienojumā ar ērtībām un lietošanas vienkāršību. Utilīta make vietā noklusējuma būvējums izmanto rīkkopu ninja, taču ir iespējams 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 norādīti vienkāršotā domēna valodā, ir viegli lasāmi un lietotājam saprotami (kā to ir iecerējuši autori, izstrādātājam ir jāpavada minimāls laiks noteikumu rakstīšanai).

Atbalstīts savstarpēji kompilējiet un veidojiet 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, lai ģenerētu atkārtojamus būvējumus, kuros, palaižot būvējumu dažādās vidēs, tiek ģenerēti pilnīgi identiski izpildāmie faili.

Galvenais jauninājumiem Mezons 0.52:

  • Pievienots eksperimentāls Webassembly atbalsts, izmantojot Emscripten kā kompilatoru;
  • Atbalsts Illumos un Solaris platformām ir ievērojami uzlabots un nogādāts darba stāvoklī;
  • Nodrošina uz gettext balstītu internacionalizācijas skriptu ignorēšanu, ja sistēmā nav instalēts gettext rīku komplekts (iepriekš, izmantojot i18n moduli sistēmās bez gettext, tika parādīta kļūda);
  • Uzlabots atbalsts statiskajām bibliotēkām. Ir atrisinātas daudzas problēmas, lietojot atinstalētas statiskās bibliotēkas;
  • Pievienota iespēja izmantot vārdnīcas, lai piešķirtu vides mainīgos. Izsaucot vidi (), pirmo elementu tagad var norādīt kā vārdnīcu, kurā vides mainīgie ir definēti atslēgas/vērtības formā. Šie mainīgie tiks pārsūtīti uz Environment_object tā, it kā tie būtu atsevišķi iestatīti, izmantojot set() metodi. Vārdnīcas tagad var arī nodot dažādām funkcijām, kas atbalsta "env" argumentu;
  • Pievienota funkcija "runtarget alias_target(target_name, dep1, ...)", kas izveido jaunu pirmā līmeņa būvējuma mērķi, ko var izsaukt ar atlasīto būvējuma aizmugursistēmu (piemēram, "ninja target_name"). Šis būvēšanas mērķis nepalaiž nekādas komandas, bet nodrošina visu atkarību izveidošanu;
  • Iespējota automātiskā vides mainīgā PKG_CONFIG_SYSROOT_DIR iestatīšana savstarpējās kompilācijas laikā, ja sadaļā “[properties]” ir sys_root iestatījums;
  • Pievienota opcija "--gdb-path", lai noteiktu ceļu uz GDB atkļūdotāju, norādot opciju "--gdb testname", lai palaistu GDB ar norādīto testa skriptu;
  • Pievienota automātiska čaukstošā būvējuma mērķa noteikšana, lai palaistu šo līkumu ar visiem avota failiem. Mērķis tiek izveidots, ja sistēmā ir pieejams clang-tidy un projekta saknē ir definēts fails “.clang-tidy” (vai “_clang-tidy”);
  • Pievienota atkarība ('bloki') izmantošanai Clang paplašinājumā Bloki;
  • Linkera un kompilatora skati ir atdalīti, ļaujot izmantot dažādas kompilatoru un linkeru kombinācijas;
  • SourceSet objektiem pievienota metode all_dependencies() papildus metodei all_sources();
  • Vietnē run_project_tests.py ir pievienota opcija “--only”, lai selektīvi palaistu testus (piemēram, “python run_project_tests.py —only fortran python3”);
  • Funkcijai find_program() tagad ir iespēja meklēt tikai nepieciešamās programmas versijas (versija tiek noteikta, palaižot programmu ar opciju “-version”);
  • Lai kontrolētu simbolu eksportēšanu, funkcijai shared_module() ir pievienota opcija vs_module_defs, līdzīgi Share_library();
  • Modulis kconfig ir paplašināts, lai atbalstītu configure_file() ievades faila norādīšanai;
  • Pievienota iespēja norādīt vairākus ievades failus “command:” apdarinātājiem, lai konfigurētu_file ();
  • Komanda “dist” arhīva izveidei ir pārvietota uz pirmā līmeņa komandu kategoriju (iepriekš komanda bija saistīta ar nindzju). Pievienota opcija "--formats", lai definētu veidojamo arhīvu veidus (piemēram,
    "meson dist -formats=xztar,zip").

Avots: opennet.ru

Pievieno komentāru