Ukukhishwa kwesistimu yokwakha ye-Meson 0.52

eshicilelwe ukwakha ukukhishwa kwesistimu I-Meson 0.52, esetshenziselwa ukwakha amaphrojekthi afana ne-X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME kanye ne-GTK+. Ikhodi ye-Meson ibhalwe nge-Python futhi kuhlinzekiwe ilayisensi ngaphansi kwe-Apache 2.0.

Umgomo oyinhloko wokuthuthukiswa kwe-Meson ukuhlinzeka ngesivinini esiphezulu senqubo yokuhlanganisa kuhlanganiswe nokunethezeka nokusebenziseka kalula. Esikhundleni se-make utility, isakhiwo esizenzakalelayo sisebenzisa ikhithi yamathuluzi Ninja, kodwa futhi kungenzeka ukusebenzisa ezinye izingemuva, njenge-xcode ne-VisualStudio. Uhlelo lunesibambi sokuncika sezingxenyekazi eziningi esakhelwe ngaphakathi esikuvumela ukuthi usebenzise i-Meson ukuze wakhe amaphakheji okusabalalisa. Imithetho yomhlangano icaciswe ngolimi olwenziwe lula oluqondene nesizinda, ifundeka kakhulu futhi iqondakala kumsebenzisi (njengoba kuhloswe ababhali, umthuthukisi kufanele asebenzise ubuncane besikhathi ebhala imithetho).

Isekelwe hlanganisa futhi wakhe ku-Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS kanye neWindows usebenzisa i-GCC, Clang, Visual Studio nabanye abahlanganisi. Kungenzeka ukwakha amaphrojekthi ngezilimi ezihlukahlukene zokuhlela, okuhlanganisa i-C, C++, Fortran, Java neRust. Imodi yokwakha ekhuphukayo iyasekelwa, lapho kuphela izingxenye ezihlobene ngokuqondile nezinguquko ezenziwe kusukela ekwakhiweni kokugcina zakhiwa kabusha. I-Meson ingasetshenziswa ukukhiqiza izakhiwo eziphindaphindwayo, lapho ukusebenzisa isakhiwo ezindaweni ezihlukene kubangela ukukhiqizwa kwamafayela asebenzisekayo afana ngokuphelele.

main emisha I-Meson 0.52:

  • Kwengezwe ukusekelwa kokuhlola kwe-Webassembly kusetshenziswa i-Emscripten njengomhlanganisi;
  • Ukusekelwa kwamapulatifomu e-Illumos kanye ne-Solaris kuye kwathuthukiswa kakhulu futhi kwalethwa esimweni sokusebenza;
  • Iqinisekisa ukuthi izikripthi ze-gettext-based internationalization azinakwa uma isistimu ingenayo i-gettext toolkit efakiwe (ngaphambilini, iphutha lalibonisiwe ngenkathi kusetshenziswa imojula ye-i18n kumasistimu ngaphandle kwe-gettext);
  • Usekelo oluthuthukisiwe lwamalabhulali amile. Izinkinga eziningi lapho kusetshenziswa imitapo yolwazi emile engakhishiwe sezixazululiwe;
  • Kwengezwe ikhono lokusebenzisa izichazamazwi ukwabela okuguquguqukayo kwendawo. Lapho ubiza indawo (), into yokuqala manje ingacaciswa njengesichazamazwi lapho okuguquguqukayo kwendawo kuchazwa kufomu lokhiye/inani. Lezi ziguquko zizodluliselwa ku-evironmental_object njengokungathi zisethwe ngazodwana ngendlela ye-set(). Izichazamazwi manje zingadluliselwa emisebenzini ehlukahlukene esekela impikiswano ethi "env";
  • Umsebenzi owengeziwe othi "runtarget alias_target(target_name, dep1, ...)" odala ithagethi yokwakha entsha yezinga lokuqala engabizwa ngesingemuva sokwakha esikhethiwe (isb. "igama_le-ninja target"). Le thagethi yokwakha ayisebenzisi noma yimiphi imiyalo, kodwa iqinisekisa ukuthi konke ukuncika kuyakhiwa;
  • Ukusetha okuzenzakalelayo okunikwe amandla kwe-PKG_CONFIG_SYSROOT_DIR okuguquguqukayo kwemvelo ngesikhathi sokuhlanganisa uma kukhona ukulungiselelwa kwe-sys_root kusigaba esithi "[properties]";
  • Kwengezwe inketho ethi "--gdb-path" ukuze kunqunywe indlela eya kusilungisi sephutha se-GDB lapho kucaciswa "--gdb testname" inketho yokusebenzisa i-GDB ngombhalo wokuhlola oshiwo;
  • Kwengezwe ukutholwa okuzenzakalelayo kwethagethi yokwakha ye-clang-tidy ukuze kuqalise le linter ngawo wonke amafayela omthombo. Okuqondiwe kwakhiwa uma i-clang-tidy itholakala ohlelweni futhi ifayela elithi “.clang-tidy” (noma “_clang-tidy”) lichazwa kumsuka wephrojekthi;
  • Kwengezwe ukuncika('blocks') ukuze kusetshenziswe kusandiso se-Clang Blocks;
  • Ukubuka kokuxhumanisa nokuhlanganisa kuhlukanisiwe, okuvumela inhlanganisela ehlukene yabahlanganisi nezixhumi ukuthi zisetshenziswe;
  • Kwengezwe all_dependencies() indlela ku-SourceSet ezintweni ngaphezu kwendlela yonke_yemithombo();
  • Ku-run_project_tests.py, inketho ethi “--only” yengezwe ekwenzeni ukuhlola okukhethiwe (isibonelo, “python run_project_tests.py —only fortran python3”);
  • Umsebenzi we-find_program() manje unamandla okusesha kuphela izinguqulo ezidingekayo zohlelo (inguqulo inqunywa ngokuqalisa uhlelo ngenketho ethi "-version");
  • Ukuze ulawule ukuthunyelwa kwezimpawu, inketho vs_module_defs yengezwe kumsebenzi we-shared_module(), ofana ne-shared_library();
  • Imojuli ye-kconfig inwetshiwe ukuze isekele configure_file() ukuze kucaciswe ifayela lokufaka;
  • Kwengezwe ikhono lokucacisa amafayela okufaka amaningi ezibambi ze-“command:" to configure_file();
  • Umyalo othi "dist" wokudala ingobo yomlando uhanjiswe esigabeni semiyalo yezinga lokuqala (ngaphambilini umyalo wawuboshelwe ku-ninja). Kwengezwe inketho ethi "--amafomethi" ukuze kuchazwe izinhlobo zezingobo zomlando ezizokwakhiwa (isibonelo,
    "meson dist -amafomethi=xztar,zip").

Source: opennet.ru

Engeza amazwana