Kutulutsa kwa Meson build system 1.0

Kutulutsidwa kwa njira yomanga ya Meson 1.0.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.0:

  • Gawo la ntchito yomanga m'chinenero cha dzimbiri lanenedwa kukhala lokhazikika. Gawoli limagwiritsidwa ntchito mu projekiti ya Mesa kupanga zida zolembedwa mu Rust.
  • Chosankha choyambirira, chothandizidwa muzochita zambiri zowunikira, chimapereka kuthekera kogwiritsa ntchito masanjidwe kuwonjezera pa zingwe. Mwachitsanzo, mutha kutchulanso: cc.check_header('GL/wglew.h', prefix : ['#include ', #kuphatikizapo '])
  • Onjezani mkangano watsopano "--workdir" kuti mulole kupitilira chikwatu chogwira ntchito. Mwachitsanzo, kuti mugwiritse ntchito chikwatu chomwe chilipo m'malo mwa bukhuli, mutha kuthamanga: meson devenv -C builddir --workdir .
  • Ogwiritsa ntchito atsopano "mu" ndi "osalowa" aperekedwa kuti adziwe kupezeka kwa chingwe chaching'ono mu chingwe, chofanana ndi cheke chomwe chinalipo m'mbuyomu cha kupezeka kwa chinthu mugulu kapena mtanthauzira mawu. Mwachitsanzo: fs = import('fs') ngati 'chinachake' mu fs.read('somefile') # True endif
  • Anawonjezera njira ya "chenjezo-level = chirichonse", yomwe imatsegula kutulutsa kwa machenjezo onse omwe alipo (mu clang ndi MSVC imagwiritsa ntchito -Weverything ndi / Wall, ndi machenjezo a GCC akuphatikizidwa mosiyana, pafupifupi zofanana ndi -Weverything mode mu clang).
  • Njira ya rust.bindgen imagwiritsa ntchito kuthekera kothana ndi "kudalira" kuti mudutse njira zodalira zomwe ziyenera kukonzedwa ndi wophatikiza.
  • Ntchito ya java.generate_native_headers yachotsedwa ntchito ndipo yasinthidwa kukhala java.native_headers kuti igwirizane ndi kalembedwe ka Meson komwe kamagwira ntchito.

Source: opennet.ru

Kuwonjezera ndemanga