Kutulutsa kwa Meson build system 0.52

Lofalitsidwa kumanga dongosolo kumasulidwa Zithunzi 0.52, yomwe imagwiritsidwa ntchito pomanga mapulojekiti monga X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ndi GTK +. Khodi ya Meson idalembedwa mu Python ndi zoperekedwa zololedwa pansi pa Apache 2.0.

Cholinga chachikulu cha chitukuko cha Meson ndikupereka liwiro lalikulu la msonkhano pamodzi ndi kumasuka komanso kugwiritsa ntchito mosavuta. M'malo mopanga zofunikira, zomanga zokhazikika zimagwiritsa ntchito zida Ninja, koma ndizothekanso kugwiritsa ntchito ma backends ena, monga xcode ndi VisualStudio. Dongosololi lili ndi cholumikizira chamitundu yambiri chomwe chimakupatsani mwayi wogwiritsa ntchito Meson kuti mupange ma phukusi ogawa. Malamulo a Msonkhano amatchulidwa m'chinenero chosavuta chodziwika bwino, amawerengedwa kwambiri komanso omveka kwa wogwiritsa ntchito (monga momwe olembawo adafunira, wopangayo ayenera kuthera nthawi yochepa yolemba malamulo).

Zothandizidwa phatikizani ndikumanga pa Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ndi Windows pogwiritsa ntchito GCC, Clang, Visual Studio ndi ma compiler ena. Ndizotheka kupanga mapulojekiti m'zilankhulo zosiyanasiyana zamapulogalamu, kuphatikiza C, C++, Fortran, Java ndi Rust. Zomangamanga zowonjezera zimathandizidwa, momwe zigawo zokhazokha zokhudzana ndi zosintha zomwe zasinthidwa kuyambira pomaliza zimamangidwanso. Meson itha kugwiritsidwa ntchito kupanga zomanga zobwerezabwereza, momwe kuyendetsa ntchito yomanga m'malo osiyanasiyana kumapangitsa kuti mafayilo azitha kufanana.

waukulu zatsopano Miyezo 0.52:

  • Anawonjezera chithandizo choyesera cha Webassembly pogwiritsa ntchito Emscripten monga compiler;
  • Thandizo la nsanja za Illumos ndi Solaris zasinthidwa kwambiri ndikubweretsedwa kuntchito;
  • Kuonetsetsa kuti zolemba za gettext-based internationalization zimanyalanyazidwa ngati makinawo alibe gettext toolkit yoikidwa (m'mbuyomu, zolakwika zinkawonetsedwa pogwiritsa ntchito i18n module pa machitidwe opanda gettext);
  • Thandizo lokwezeka la malaibulale osasunthika. Mavuto ambiri mukamagwiritsa ntchito malaibulale osasunthika osasunthika adathetsedwa;
  • Anawonjezera luso logwiritsa ntchito madikishonale kuti agawire zosintha zachilengedwe. Mukayitana chilengedwe (), chinthu choyamba tsopano chikhoza kutchulidwa ngati dikishonale momwe zosinthika za chilengedwe zimatanthauziridwa mumtundu wa key/value. Zosinthazi zidzasamutsidwa ku chilengedwe_object ngati kuti zidakhazikitsidwa payekhapayekha kudzera mu njira ya set(). Madikishonale amathanso kuperekedwa kuzinthu zosiyanasiyana zomwe zimathandizira mkangano wa "env";
  • Ntchito yowonjezera "runtarget alias_target(target_name, dep1, ...)" yomwe imapanga chandamale chatsopano chomangirira chomwe chitha kutchedwa ndi build backend yosankhidwa (monga "ninja target_name"). Cholinga chomanga ichi sichimayendetsa malamulo aliwonse, koma chimatsimikizira kuti zodalira zonse zimamangidwa;
  • Yambitsani zosintha zokha za PKG_CONFIG_SYSROOT_DIR zosinthika panthawi yophatikiza ngati pali sys_root setting mu gawo la "[katundu]";
  • Njira yowonjezeredwa "--gdb-path" kuti mudziwe njira yopita ku GDB debugger mukamatchula njira ya "--gdb testname" kuti muyendetse GDB ndi script yoyesedwa;
  • Kuwonjezedwa kudziwika kwachidziwitso cha clang-tidy build target kuti mugwiritse ntchito linter iyi ndi mafayilo onse oyambira. Cholingacho chimapangidwa ngati clang-tidy ikupezeka mu dongosolo ndipo fayilo ya ".clang-tidy" (kapena "_clang-tidy") imatanthauzidwa muzu wa polojekiti;
  • Kudalira kowonjezera('blocks') kuti mugwiritse ntchito kukulitsa kwa Clang Zolemba;
  • Malingaliro ophatikizira ndi ophatikiza amasiyanitsidwa, kulola kuphatikiza kosiyanasiyana kwa ophatikiza ndi olumikizira kuti agwiritsidwe ntchito;
  • Anawonjezera all_dependencies() njira ku SourceSet zinthu kuwonjezera pa all_sources() njira;
  • Mu run_project_tests.py, njira ya "--only" yawonjezedwa kuti muyesetse mosankha (mwachitsanzo, "python run_project_tests.py -only fortran python3");
  • The find_program() ntchito tsopano ili ndi kuthekera kofufuza zongofunika za pulogalamu (mtunduwo umatsimikiziridwa ndikuyendetsa pulogalamuyo ndi "-version");
  • Kuti muwongolere kutumiza kwa zizindikiro, njira ya vs_module_defs yawonjezedwa kugawo_module () ntchito, yofanana ndi shared_library();
  • Gawo la kconfig lakulitsidwa kuti lithandizire configure_file() pofotokoza fayilo yolowera;
  • Adawonjezera kuthekera kofotokozera mafayilo angapo olowetsa a "command:" owongolera kuti configure_file();
  • Lamulo la "dist" lopanga zosungirako lasunthidwa ku gulu la malamulo amtundu woyamba (m'mbuyomu lamuloli lidamangidwa ku ninja). Njira yowonjezeredwa ya "--formats" kuti mufotokozere mitundu ya zakale zomwe ziyenera kupangidwa (mwachitsanzo,
    "meson dist -formats=xztar,zip").

Source: opennet.ru

Kuwonjezera ndemanga