Meson byggja kerfisútgáfu 0.51

birt smíða kerfisútgáfu Meson 0.51, sem er notað til að byggja upp verkefni eins og X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME og GTK+. Meson kóðinn er skrifaður í Python og til staðar leyfi samkvæmt Apache 2.0.

Lykilmarkmið Meson þróunar er að veita háhraða í samsetningarferlinu ásamt þægindum og auðveldri notkun. Í stað þess að gera tólið notar sjálfgefna byggingin verkfærakistuna Ninja, en það er líka hægt að nota aðra bakenda, eins og xcode og VisualStudio. Kerfið er með innbyggðan fjölvettvangsfíkn sem gerir þér kleift að nota Meson til að smíða pakka fyrir dreifingar. Samsetningarreglur eru tilgreindar á einfölduðu lénssértæku tungumáli, eru mjög læsilegar og skiljanlegar fyrir notandann (eins og höfundarnir ætlast til, ætti verktaki að eyða að minnsta kosti tíma í að skrifa reglur).

Stuðningur er við krosssamsetningu og uppbyggingu á Linux, macOS og Windows með GCC, Clang, Visual Studio og öðrum þýðendum. Hægt er að byggja verkefni á ýmsum forritunarmálum, þar á meðal C, C++, Fortran, Java og Rust. Stuðningur við stigvaxandi byggingu er studdur, þar sem aðeins íhlutir sem tengjast beint breytingum sem gerðar hafa verið frá síðustu byggingu eru endurbyggðir. Meson er hægt að nota til að búa til endurteknar byggingar, þar sem keyrsla á byggingunni í mismunandi umhverfi leiðir til myndunar alveg eins keyranlegra skráa.

Helstu nýjungar Meson 0.51:

  • Bætti við stuðningi við gagnsæja byggingu núverandi verkefna sem nota CMake build forskriftir. Meson getur nú beint byggt einföld undirverkefni (eins og stök bókasöfn) með því að nota CMake eininguna, svipað og venjuleg undirverkefni (þar á meðal CMake undirverkefni er hægt að setja í undirverkefnisskrána);
  • Fyrir alla notaða þýðendur eru bráðabirgðaprófanir innifaldar með því að setja saman og framkvæma einfaldar prófunarskrár (heilbrigðisathugun), ekki takmarkað við að prófa notendatilgreinda fána fyrir krossþýðendur (héðan í frá eru þýðendur sem eru innfæddir á núverandi vettvang einnig athugaðir) .
  • Bætti við möguleikanum á að skilgreina skipanalínuvalkosti sem notaðir eru við krosssamsetningu, með bindingu með því að tilgreina vettvangsforskeyti á undan valkostinum. Áður náðu skipanalínuvalkostir aðeins til innfæddra smíðna og ekki var hægt að tilgreina þær fyrir krosssamsetningu. Skipanalínuvalkostir gilda nú óháð því hvort þú ert að byggja innbyggt eða krosssamsetningu, sem tryggir að innfædd og krossbygging skili sömu niðurstöðum;
  • Bætti við möguleikanum á að tilgreina „--cross-file“ fánann oftar en einu sinni á skipanalínunni til að skrá margar krossskrár;
  • Bætti við stuðningi við ICL þýðanda (Intel C/C++ þýðanda) fyrir Windows pallinn (ICL.EXE og ifort);
  • Bætti við stuðningi við upphafstæki fyrir CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
  • „get_variable“ aðferðin hefur verið bætt við „dependent“ hlutinn, sem gerir þér kleift að fá gildi breytu án þess að taka tillit til tegundar núverandi ósjálfstæðis (til dæmis dep.get_variable(pkg-config : 'var- nafn', cmake : 'COP_VAR_NAME));
  • Bætti við nýjum marksamsetningarvalkostum, „link_language“, til að tilgreina sérstaklega tungumálið sem notað er þegar hringt er í tengilinn. Til dæmis gæti aðal Fortran forrit kallað C/C++ kóða, sem myndi sjálfkrafa velja C/C++ þegar Fortran tengilinn ætti að nota;
  • Meðhöndlun CPPFLAGS forvinnslufána hefur verið breytt. Þar sem Meson geymdi áður CPPFLAGS og tungumálasértæka safnfána (CFLAGS, CXXFLAGS) sérstaklega, þeir eru nú unnar óaðskiljanlega og fánarnir sem skráðir eru í CPPFLAGS eru notaðir sem önnur uppspretta safnfána fyrir tungumál sem styðja þá;
  • Nú er hægt að nota úttak custom_target og custom_target[i] sem rök í link_with og link_whole aðgerðunum;
  • Rafallar hafa nú möguleika á að tilgreina fleiri ósjálfstæði með því að nota „depends“ valmöguleikann (td generator(program_runner, output: ['@[netvarið]'], fer eftir: exe));
  • Bætti kyrrstöðuvalkosti við find_library til að leyfa leitinni að innihalda aðeins kyrrstöðutengd söfn;
  • Fyrir python.find_installation hefur verið bætt við möguleikanum til að ákvarða tilvist tiltekinnar Python-einingu fyrir tiltekna útgáfu af Python;
  • Bætt við nýrri einingu unstable-kconfig til að flokka kconfig skrár;
  • Bætti við nýrri skipun „subprojects foreach“, sem tekur skipun með rökum og keyrir hana í öllum undirverkefnamöppum;

Heimild: opennet.ru

Bæta við athugasemd