Meson byggja kerfisútgáfu 0.58. Verkefni til að búa til Meson útfærslu á C tungumáli

Útgáfa Meson 0.58 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 0.58:

  • Meson tungumálið hefur innbyggða strengjasniðsaðgerðir. Í stað þess að kalla sniðaðferðina geturðu nú skipt út gildum beint, til dæmis, í stað "'Strengur @0@ sem á að forsníða @1@'.format(n, m)" geturðu strax tilgreint "f" Strengur @n@ sem á að forsníða @ m@'".
  • "Replace" aðferðin hefur verið bætt við strenghluti til að framkvæma aðgerðina að skipta út einum undirstreng fyrir annan, til dæmis, "s = s.replace('aaa', 'bbb')".
  • Bætt við "range(start, stop[, step])" aðgerð til að skila hlut sem hægt er að nota í "foreach" lykkju, eins og "foreach i : range(15)".
  • Meson.add_devenv() aðferðin hefur verið innleidd, sem gerir þér kleift að bæta við umhverfi() hlut til að stilla umhverfisbreytur á meðan þú notar "meson devenv" skipunina, til dæmis til að stilla umhverfisbreytu með slóðinni að viðbótaskránni.
  • Fyrir þróunarumhverfi er lögð til ný skipun "meson devenv -C builddir [<skipun>]" sem gerir það mögulegt að keyra skipunina í umhverfi sem er stillt til að keyra verkefni úr byggingarskránni (án uppsetningar).
  • Sjálfgefið er að enginn „-pipe“ valkostur er samþykktur þegar allir studdir þýðendur eru ræstir.
  • Leyfa að kalla fram meson.add_dist_script() úr undirverkefnum.
  • Veitti getu til að keyra append() og prepend() aðferðirnar mörgum sinnum á sama umhverfi() hlutnum.
  • Fleiri en ein rök sem eru aðskilin með bili eru leyfð í error() fallinu (svipað og warning() og message()).
  • Bætt við "--skip-subprojects" valmöguleika til að sleppa vali við að setja upp undirverkefni.

Sérstaklega athyglisvert er Boson verkefnið, sem miðar að því að búa til flytjanlega og einfalda útfærslu á Meson samsetningarhandritsmálinu, skrifað í C í stað Python. Verkefnið er enn á frumstigi þróunar og er ekki enn tilbúið fyrir heildarsamsetningu vinnuverkefna. Kóðanum er dreift undir GPLv3 leyfinu (upprunalega Python Meson kemur undir Apache 2.0 leyfinu).

Heimild: opennet.ru

Bæta við athugasemd