Meson byggja kerfisútgáfu 1.3

Útgáfa Meson 1.3.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.3:

  • Bætti valkostinum „werror: true“ við þýðandaathugunaraðferðirnar compiler.compiles(), compiler.links() og compiler.run(), sem meðhöndlar þýðandaviðvaranir sem villur (hægt að nota til að athuga hvort kóðinn sé byggður án viðvarana ).
  • Bætt við has_define aðferð til að athuga táknskilgreiningu með forvinnslu.
  • Makro_name færibreytunni hefur verið bætt við configure_file() aðgerðina, sem bætir við fjölvavörn fyrir tvöfaldar tengingar í gegnum „#include“ (“include guards“), hannað í stíl fjölva á C tungumálinu (sem einfaldar stofnun stillingarskráa með kraftmiklum þjóðhagsnöfn).
  • Nýju úttakssniði hefur verið bætt við configure_file() - JSON ("úttakssnið: json").
  • Bætti við möguleikanum á að nota gildislista við c_std og cpp_std færibreyturnar (til dæmis „default_options: 'c_std=gnu11,c11′').
  • Í einingum sem nota CustomTarget til að vinna úr skrám hefur verið bætt við möguleikanum á að sérsníða skilaboð frá ninja tólinu.
  • build_target „jar“ hefur verið úrelt og mælt er með „jar()“ kallinu í staðinn.
  • 'env' færibreytunni hefur verið bætt við generator.process() aðferðina til að stilla umhverfisbreytuna sem rafallinn mun vinna inntak í gegnum.
  • Þegar tilgreind eru nöfn smíðamarkmiða sem tengjast keyrslum, er viðskeyti eins og "executable('foo', 'main.c', name_suffix: 'bar')" leyft að búa til fleiri keyrslur í sömu möppu.
  • Bætti „vs_module_defs“ færibreytunni við aðgerðina sem hægt er að framkvæma () til að nota def skrá sem skilgreinir lista yfir aðgerðir sem sendar eru til shared_module().
  • Bætti við 'default_options' færibreytu við find_program() aðgerðina til að stilla sjálfgefna valkosti fyrir varahlutaverkefni.
  • Bætt við fs.relative_to() aðferð, sem skilar hlutfallslegri slóð fyrir fyrstu breytuna, miðað við þann seinni, ef fyrri slóðin er til. Til dæmis, "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')".
  • Eftirfarandi_symlinks færibreytunni hefur verið bætt við install_data(), install_headers() og install_subdir() föllin; þegar hún er stillt er táknrænum tenglum fylgt eftir.
  • „fill“ færibreytu hefur verið bætt við int.to_string() aðferðina til að fylla strenginn stigvaxandi með núllum á undan. Til dæmis, að kalla skilaboð(n.to_string(fill: 3)) fyrir n=4 mun framleiða strenginn „004“.
  • Bætti við nýju markmiði, clang-tidy-fix, sem tilgreinir að keyra clang-tidy tólið með "-fix" fánanum.
  • Möguleikinn á að tilgreina viðskeyti (TARGET_SUFFIX) samsetningarmarkmiðsins ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) hefur verið bætt við samsetningarskipunina.
  • Bætti við umhverfisbreytu MESON_PACKAGE_CACHE_DIR til að hnekkja slóðinni að pakkaskyndiminni (undirverkefni/pakkaskyndiminni), til dæmis, sem gerir þér kleift að nota sameiginlegt skyndiminni í nokkrum verkefnum.
  • Bætti við "meson setup --clearcache" skipuninni til að hreinsa viðvarandi skyndiminni.
  • Stuðningur fyrir „áskilið“ leitarorðið hefur verið bætt við allar „has_*“ þýðandaathugunaraðferðir, til dæmis, í stað „assert(cc.has_function('some_function'))“ geturðu nú tilgreint „cc.has_function('some_function' , krafist: satt)“.
  • Nýju lykilorði, rust_abi, hefur verið bætt við shared_library(), static_library(), library() og shared_module() föllin, sem ætti að nota í stað hinnar úreldu rust_crate_type.

Heimild: opennet.ru

Bæta við athugasemd