Kutulutsa kwa Meson build system 1.1

Kutulutsidwa kwa njira yomanga ya Meson 1.1.0 kwasindikizidwa, yomwe imagwiritsidwa ntchito pomanga mapulojekiti monga X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ndi GTK. Khodi ya Meson idalembedwa ku Python ndipo ili ndi chilolezo pansi pa layisensi ya Apache 2.0.

Cholinga chachikulu cha chitukuko cha Meson ndikupereka njira yolumikizirana yothamanga kwambiri komanso yosavuta komanso yosavuta kugwiritsa ntchito. M'malo mopanga, chomangacho chimagwiritsa ntchito zida za Ninja mwachisawawa, koma zotsalira zina monga xcode ndi VisualStudio zitha kugwiritsidwanso ntchito. Dongosololi lili ndi cholumikizira chamitundu yambiri chomwe chimakupatsani mwayi wogwiritsa ntchito Meson kuti mupange ma phukusi ogawa. Malamulo a Msonkhano amaikidwa m'chinenero chosavuta chodziwika bwino, amawerengedwa bwino komanso omveka kwa wogwiritsa ntchito (malinga ndi lingaliro la olemba, wopangayo ayenera kuthera nthawi yochepa yolemba malamulo).

Kuphatikizira ndikumanga pa Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ndi Windows pogwiritsa ntchito GCC, Clang, Visual Studio ndi ma compiler ena amathandizidwa. Ndizotheka kupanga mapulojekiti m'zilankhulo zosiyanasiyana zamapulogalamu, kuphatikiza C, C++, Fortran, Java ndi Rust. Njira yomanga yowonjezereka imathandizidwa, momwe zigawo zokhazokha zomwe zimagwirizana mwachindunji ndi kusintha komwe kunapangidwa kuyambira kumanga komaliza kumamangidwanso. Meson itha kugwiritsidwa ntchito kupanga zomanga zobwerezabwereza, pomwe kuyendetsa ntchito yomanga m'malo osiyanasiyana kumabweretsa zofananira.

Zatsopano zazikulu za Meson 1.1:

  • "Zinthu" zatsopano: mkangano wawonjezedwa ku declare_dependency() kuti muphatikize zinthu molunjika ku zomwe zingachitike ngati zodalira zamkati zomwe sizikufuna link_who.
  • Lamulo la "meson devenv --dump" lili ndi kuthekera kosankha fayilo kuti lilembetse zosintha za chilengedwe, m'malo mongotulutsa kumtsinje wamba.
  • Anawonjezera FeatureOption.enable_if ndi FeatureOption.disable_if njira kuti zikhale zosavuta kupanga zofunikira pokonzekera kudutsa magawo ku ntchito yodalira (). opt = get_option('feature').disable_if(osati foo, error_message : 'Sizingatheke mawonekedwe pomwe foo sinayatsenso') dep = dependency('foo', chofunika : opt)
  • Amaloledwa kudutsa zinthu zopangidwa pakati pa "zinthu:" zotsutsana.
  • Ntchito ya pulojekitiyi imathandizira kuyika mafayilo ndi chidziwitso chokhudza zilolezo za polojekiti.
  • Kuchita "sudo meson install" kumawonetsetsa kukhazikitsidwa kwa mwayi pakumanganso nsanja.
  • Lamulo la "meson install" limapereka mwayi wofotokozera chothandizira chosiyana kuti mupeze zilolezo za mizu (mwachitsanzo, mutha kusankha polkit, sudo, opendoas kapena $MESON_ROOT_CMD). Kuthamanga "meson install" mumayendedwe osagwiritsa ntchito sikuyesanso kukweza mwayi.
  • Thandizo lowonjezera pazosankha zowerengera kuchokera pafayilo ya meson.options m'malo mwa meson_options.txt.
  • Anaperekanso kuwongolera kwa stderr za zotuluka za chidziwitso chokhudza momwe introspection ikuyendera.
  • "Palibe" backend (--backend=none) yawonjezedwa kuti apange mapulojekiti omwe ali ndi malamulo oyika okha komanso opanda malamulo omanga.
  • Kudalira kwatsopano pybind11 yawonjezedwa kuti kudalira ('pybind11') kugwira ntchito ndi pkg-config ndi cmake popanda kugwiritsa ntchito pybind11-config script.
  • Zosankha za "--reconfigure" ndi "--wipe" (meson setup --reconfigure builddir ndi meson setup --wipe builddir ) zimaloledwa ndi chomanga chopanda kanthu.
  • meson.add_install_script() adawonjezera thandizo la mawu osakira a dry_run, omwe amakulolani kuti muzitha kuyendetsa zolemba zanu poyitana "meson install --dry-run".

Source: opennet.ru

Kuwonjezera ndemanga