Meson byggja kerfisútgáfu 1.1

Útgáfa Meson 1.1.0 byggingarkerfisins hefur verið gefin út, 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 er með leyfi samkvæmt Apache 2.0 leyfinu.

Lykilþróunarmarkmið Meson er að bjóða upp á háhraða samsetningarferli ásamt þægindum og vellíðan í notkun. Í stað þess að búa til notar byggingin sjálfgefið Ninja verkfærakistuna, en einnig er 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 settar á einfölduðu lénssértæku tungumáli, þær eru vel læsilegar og skiljanlegar fyrir notandann (samkvæmt hugmyndum höfunda ætti verktaki að eyða að minnsta kosti tíma í að skrifa reglur).

Stuðningur við krosssamsetningu og uppbyggingu á Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, 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 smíðaham, þar sem aðeins íhlutir sem tengjast beint breytingum sem gerðar hafa verið frá síðustu smíði 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 algjörlega eins keyrslu.

Helstu nýjungar Meson 1.1:

  • Nýrri "objects:" röksemdafærslu hefur verið bætt við declare_dependency() til að tengja hluti beint við executables í formi innri ósjálfstæðis sem krefjast ekki notkunar á link_who.
  • "meson devenv -dump" skipunin hefur nú möguleika á að tilgreina skrá til að skrifa umhverfisbreytur í í stað þess að prenta hana í staðlað úttak.
  • Bætt við aðferðum FeatureOption.enable_if og FeatureOption.disable_if til að gera það auðveldara að búa til skilyrði til að undirbúa færibreytur í dependent() aðgerðina. opt = get_option('feature').disable_if(ekki foo, error_message: 'Get ekki virkjað eiginleika þegar foo er ekki einnig virkt') dep = dependency('foo', krafist: opt)
  • Það er leyfilegt að senda myndaða hluti sem rök til „hluti:“.
  • Verkefnaaðgerðin styður nú uppsetningu á skrám með upplýsingum um verkefnaleyfi.
  • Að keyra „sudo meson install“ tryggir að forréttindi séu endurstillt meðan á endurbyggingu stendur fyrir markpalla.
  • "Meson install" skipunin veitir möguleika á að tilgreina sérstakan meðhöndlun til að fá rótarréttindi (til dæmis geturðu valið polkit, sudo, opendoas eða $MESON_ROOT_CMD). Að keyra „meson install“ í ógagnvirkri stillingu reynir ekki lengur að auka réttindi.
  • Bætti við stuðningi við að lesa valkosti úr meson.options skránni í stað meson_options.txt.
  • Tilvísun upplýsinga um framvindu sjálfskoðunar til stderr er veitt.
  • Bætti við nýjum "none" bakenda (--backend=none) til að búa til verkefni sem hafa aðeins uppsetningarreglur og engar byggingarreglur.
  • Bætti við nýju ósjálfstæði pybind11, sem gerir dependency('pybind11') kleift að vinna með pkg-config og cmake án þess að nota pybind11-config forskriftina.
  • "--reconfigure" og "--wipe" valkostirnir eru leyfðir (meson setup --reconfigure builddir og meson setup --wipe builddir ) með tómu builddir.
  • Bætti við stuðningi fyrir dry_run leitarorðið við meson.add_install_script() til að leyfa keyrslu á eigin uppsetningarforskriftum þegar kallað er á "meson install --dry-run".

Heimild: opennet.ru

Bæta við athugasemd