Ukukhutshwa kwenkqubo yokwakhiwa kweMeson 0.52

ipapashiwe ukwakha inkqubo yokukhululwa Meson 0.52, esetyenziselwa ukwakha iiprojekthi ezifana ne-X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME kunye ne-GTK +. Ikhowudi ye-Meson ibhalwe kwiPython kunye inikwe ilayisenisi phantsi kweApache 2.0.

Injongo ephambili yophuhliso lweMeson kukubonelela ngesantya esiphezulu senkqubo yendibano edibeneyo kunye nokulula kunye nokulula ukusetyenziswa. Endaweni yokwenza into eluncedo, ulwakhiwo olungagqibekanga lusebenzisa izixhobo zokusebenza Ninja, kodwa kuyenzeka ukusebenzisa ezinye izinto ezingasemva, njenge xcode kunye ne VisualStudio. Inkqubo inendawo eyakhelwe-ngaphakathi yokuxhomekeka kwiplatform evumela ukuba usebenzise iMeson ukwakha iipakethe zokusasazwa. Imithetho yeNdibano ichazwe kulwimi olucacileyo lwe-domain-specific, ifundeka kakhulu kwaye iyaqondakala kumsebenzisi (njengoko kuhloswe ngababhali, umphuhlisi kufuneka achithe ubuncinci bexesha lokubhala imithetho).

Iyaxhaswa ukuwela kunye nokwakha kwiLinux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS kunye neWindows usebenzisa iGCC, Clang, Visual Studio kunye nabanye abaqulunqi. Kunokwenzeka ukwakha iiprojekthi kwiilwimi ezahlukeneyo zokucwangcisa, kuquka iC, C ++, Fortran, Java kunye neRust. Imowudi yokwakha eyongeziweyo iyaxhaswa, apho kuphela amacandelo anxulumene ngokuthe ngqo notshintsho olwenziweyo ukususela kulwakhiwo lokugqibela lwakhiwa ngokutsha. I-Meson inokusetyenziselwa ukuvelisa ulwakhiwo oluphinda-phindayo, apho ukusebenza kolwakhiwo kwiindawo ezahlukeneyo kubangela ukuveliswa kweefayile ezifanayo ngokupheleleyo.

Siseko ezintsha I-Meson 0.52:

  • Inkxaso yovavanyo eyongeziweyo ye-Webassembly usebenzisa i-Emscripten njengomqokeleli;
  • Inkxaso yeeplatifti ze-Illumos kunye neSolaris ziye zaphuculwa kakhulu kwaye zaziswa kwimeko yokusebenza;
  • Iqinisekisa ukuba izikripthi ze-gettext-based internationalization azihoywa ukuba inkqubo ayinayo i-gettext toolkit efakiweyo (ngaphambili, impazamo yaboniswa xa usebenzisa imodyuli ye-i18n kwiinkqubo ngaphandle kokufunyanwa kokubhaliweyo);
  • Inkxaso ephuculweyo yamathala eencwadi amileyo. Iingxaki ezininzi xa usebenzisa iilayibrari ezingafakwanga ezingafakwanga ziye zasonjululwa;
  • Kongezwe ukukwazi ukusebenzisa izichazi-magama ukwabela izinto ezahlukeneyo zemo engqongileyo. Xa ufowuna imeko-bume (), into yokuqala ngoku ingachazwa njengesichazi-magama apho iinguqu zemekobume zichazwa kwisitshixo/kwifomu yexabiso. Ezi ziguquguqukayo ziya kugqithiselwa kwi environment_object ngokungathi zisetwe ngabanye ngendlela ye set() indlela. Izichazi-magama nazo ngoku zinokugqithiselwa kwimisebenzi eyahlukeneyo exhasa ingxoxo ethi "env";
  • Umsebenzi owongeziweyo "i-runtarget alias_target(igama_elijoliswe kuyo, i-dep1, ...)" eyenza inqanaba elitsha lokwakha ekujoliswe kulo elinokuthiwa ngolwakhiwo olukhethiweyo umva (umzekelo. "ninja target_name"). Le thagethi yokwakha ayisebenzisi nayiphi na imiyalelo, kodwa iqinisekisa ukuba zonke izixhomekeke zakhiwe;
  • Ulungiselelo oluzenzekelayo lwe-PKG_CONFIG_SYSROOT_DIR lwemeko-bume eguquguqukayo ngexesha lokuhlanganisana ukuba kukho isethingi ye-sys_root kwi[properties]" icandelo;
  • Kongezwe "--gdb-path" ukhetho lokumisela umendo we-GDB debugger xa ukhankanya "--gdb testname" ukhetho lokusebenzisa i-GDB ngombhalo wovavanyo okhankanyiweyo;
  • Kongezwe ubhaqo oluzenzekelayo lwe-clang-tidy build target ukuze kuqhutywe le linter nazo zonke iifayile zomthombo. Injongo idalwe ukuba i-clang-tidy iyafumaneka kwinkqubo kwaye ifayile ".clang-tidy" (okanye "_clang-tidy") ichazwe kwingcambu yeprojekthi;
  • Ukuxhomekeka okongeziweyo('iibhloko') zokusetyenziswa kulwandiso lweClang Iibhloko;
  • I-linker kunye neembono ze-compiler zahluliwe, zivumela ukudityaniswa okuhlukeneyo kwabaqulunqi kunye nabanxibelelanisi ukuba basetyenziswe;
  • Yongeza all_dependencies() indlela ku SourceSet izinto ukongeza kwi all_sources() method;
  • Kwi-run_project_tests.py, ukhetho "--kuphela" longezwe kwiimvavanyo ezikhethiweyo (umzekelo, "python run_project_tests.py -only fortran python3");
  • I find_program () umsebenzi ngoku unamandla okukhangela kuphela uguqulelo olufunekayo lwenkqubo (uguqulelo lumiselwa ngokuqhuba inkqubo ngo "-version" ukhetho);
  • Ukulawula ukuthunyelwa ngaphandle kweesimboli, i vs_module_defs ukhetho longezwe kwishared_module () umsebenzi, ofanayo nokwabelwana_library ();
  • Umnqongo womlinganiselo we kconfig yandisiwe ukuxhasa configure_file () yokuchaza ifayile yegalelo;
  • Kongezwe ukukwazi ukucacisa iifayile ezininzi zegalelo ze "command:" handlers to configure_file();
  • Umyalelo othi "dist" wokudala i-archive uhanjiswe kudidi lwemiyalelo yenqanaba lokuqala (ngaphambili umyalelo wawubotshelelwe kwi-ninja). Kongezwe "--iifomati" ukhetho lokuchaza iindidi zoovimba eziza kwenziwa (umzekelo,
    "meson dist -fomati=xztar,zip").

umthombo: opennet.ru

Yongeza izimvo