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).

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.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

Bæta við athugasemd