Kutulutsa kwa Meson build system 0.51

Lofalitsidwa kumanga dongosolo kumasulidwa Zithunzi 0.51, 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).

Kuphatikizira ndikumanga pa Linux, 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. 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.51:

  • Thandizo lowonjezera pakumanga mowonekera kwa ma projekiti omwe alipo omwe amagwiritsa ntchito CMake build scripts. Meson tsopano atha kupanga mwachindunji ma subprojects osavuta (monga malaibulale amodzi) pogwiritsa ntchito gawo la CMake, lofanana ndi ma subprojects (kuphatikiza ma subprojects a CMake atha kuyikidwa m'mabuku a subprojects);
  • Kwa ophatikiza onse omwe amagwiritsidwa ntchito, kuyezetsa koyambirira kumaphatikizidwa ndi kusonkhana ndikuchita mafayilo osavuta oyesa (kuwunika mwaukhondo), osangokhala kuyesa mbendera zodziwika ndi ogwiritsa ntchito pazophatikizira (kuyambira pano, ophatikiza omwe amachokera papulatifomu yapano amafufuzidwanso) .
  • Adawonjezeranso kuthekera kofotokozera zosankha za mzere wamalamulo omwe amagwiritsidwa ntchito pakuphatikizana, ndikumangirira pofotokoza chiyambi cha nsanja musanasankhe. M'mbuyomu, zosankha za mzere wamalamulo zinali zongomanga zokhazokha ndipo sizikanatha kufotokozedwa kuti ziphatikizidwe. Zosankha za mzere wamalamulo tsopano zikugwira ntchito mosasamala kanthu kuti mukumanga mbadwa kapena mukuphatikiza, kuwonetsetsa kuti nyumba zakubadwa ndi zopingasa zimatulutsa zotsatira zofanana;
  • Anawonjezera kuthekera kofotokozera mbendera ya "--cross-file" kangapo pamzere wamalamulo kuti alembe mafayilo angapo;
  • Thandizo lowonjezera la compiler ya ICL (Intel C / C ++ Compiler) pa nsanja ya Windows (ICL.EXE ndi ifort);
  • Thandizo loyamba la zida za CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
  • Njira ya β€œget_variable” yawonjezedwa ku chinthu cha β€œdependency”, chomwe chimakulolani kuti muthe kupeza mtengo wosinthika popanda kuganizira mtundu wa kudalira kwapano (mwachitsanzo, dep.get_variable(pkg-config : 'var- dzina', cmake : 'COP_VAR_NAME));
  • Anawonjezera mkangano watsopano wa zosankha za msonkhano, "link_language", kuti mutchule mwatsatanetsatane chilankhulo chomwe chimagwiritsidwa ntchito poyimba wolumikizira. Mwachitsanzo, pulogalamu yayikulu ya Fortran ikhoza kuyimba nambala ya C / C ++, yomwe ingasankhe yokha C / C ++ pamene cholumikizira cha Fortran chiyenera kugwiritsidwa ntchito;
  • Kusamalira mbendera za CPFLAGS preprocessor kwasinthidwa. Pomwe Meson adasungidwa kale CPFLAGS ndi mbendera zophatikiza chilankhulo (CFLAGS, CXXFLAGS) padera, tsopano zimasinthidwa mosasiyanitsidwa ndipo mbendera zomwe zili mu CPFLAGS zimagwiritsidwa ntchito ngati gwero lina la mbendera zophatikiza zilankhulo zomwe zimawathandiza;
  • Zotsatira za custom_target ndi custom_target[i] tsopano zitha kugwiritsidwa ntchito ngati mikangano mu link_with ndi link_whole operations;
  • Majenereta tsopano ali ndi kuthekera kofotokoza zodalira zina pogwiritsa ntchito njira ya "zimadalira" (mwachitsanzo, jenereta(program_runner, zotuluka: ['@[imelo ndiotetezedwa]'], zimatengera: exe));
  • Anawonjezera njira yosasinthika kuti find_library kulola kusaka kuti mukhale ndi malaibulale olumikizidwa okha;
  • Kwa python.find_installation, kuthekera kodziwa kukhalapo kwa gawo la Python lopatsidwa la mtundu wina wa Python wawonjezedwa;
  • Onjezani gawo latsopano losakhazikika-kconfig pakugawa mafayilo a kconfig;
  • Anawonjezera lamulo latsopano "subprojects foreach", lomwe limatenga lamulo ndi mfundo ndikuyendetsa muzolemba zonse za subproject;

Source: opennet.ru

Kuwonjezera ndemanga