Meson byggja kerfisútgáfu 1.0

Útgáfa Meson 1.0.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).

Kross-samsetning og samsetning eru studd. Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows Notkun GCC, Clang, Visual Studio og annarra þýðenda. Hægt er að smíða verkefni í ýmsum forritunarmálum, þar á meðal C, C++, Fortran, Java og Rust. Stuðningur er við stigvaxandi smíðastillingu, sem endurbyggir aðeins íhluti sem tengjast beint breytingum sem gerðar voru frá fyrri smíði. Hægt er að nota Meson til að búa til endurteknar smíðar, þar sem keyrsla smíðinnar í mismunandi umhverfum leiðir til myndunar á alveg eins keyrsluskrám.

Helstu nýjungar Meson 1.0:

  • Eining fyrir byggingarverkefni á ryðmálinu hefur verið lýst stöðug. Þessi eining er notuð í Mesa verkefninu til að byggja íhluti skrifaða í Rust.
  • Forskeytsvalkosturinn, studdur í flestum þýðandaathugunaraðgerðum, veitir möguleika á að meðhöndla fylki auk strengja. Til dæmis geturðu nú tilgreint: cc.check_header('GL/wglew.h', forskeytið: ['#include ', '#include '])
  • Bætt við nýjum rökum "--workdir" til að leyfa að hnekkja vinnuskránni. Til dæmis, til að nota núverandi möppu í stað vinnumöppunnar, geturðu keyrt: meson devenv -C builddir --workdir .
  • Nýir rekstraraðilar „inn“ og „ekki í“ hafa verið lagðir til til að ákvarða tilvik undirstrengs í streng, svipað og áður tiltækt athugað fyrir tilvist staks í fylki eða orðabók. Til dæmis: fs = import('fs') if 'eitthvað' í fs.read('somefile') # True endif
  • Bætti við „viðvörunarstigi=allt“ valkostinum, sem kveikir á úttak allra tiltækra þýðandaviðvarana (í clang og MSVC notar það -Weverything og /Wall, og í GCC eru viðvaranir innifaldar sérstaklega, sem samsvarar um það bil -Weverything ham í clang).
  • Rust.bindgen aðferðin útfærir hæfileikann til að meðhöndla "dependenties" rökin til að senda slóðir til ósjálfstæðis sem ætti að vinna úr þýðandanum.
  • Java.generate_native_headers fallið hefur verið úrelt og endurnefnt í java.native_headers til að samræmast almennum heiti Meson falla.

Heimild: opennet.ru

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster