Pagpagawas sa Meson 0.58 nga sistema sa asembliya. Proyekto sa paghimo ug pagpatuman sa Meson sa C nga pinulongan

Ang pagpagawas sa sistema sa pagtukod sa Meson 0.58 gipatik, nga gigamit sa pagtukod sa mga proyekto sama sa X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ug GTK. Ang Meson code gisulat sa Python ug lisensyado ubos sa Apache 2.0 nga lisensya.

Ang yawe nga katuyoan sa pag-uswag sa Meson mao ang paghatag usa ka taas nga tulin nga proseso sa asembliya inubanan sa kasayon ​​ug kadali sa paggamit. Inay sa paghimo, ang pagtukod naggamit sa Ninja toolkit sa default, apan ang ubang mga backend sama sa xcode ug VisualStudio mahimo usab nga gamiton. Ang sistema adunay usa ka built-in nga multi-platform dependency handler nga nagtugot kanimo sa paggamit sa Meson sa paghimo og mga pakete alang sa mga pag-apod-apod. Ang mga lagda sa asembliya gipahimutang sa usa ka gipayano nga pinulongan nga piho sa domain, kini maayo nga mabasa ug masabtan sa tiggamit (sumala sa ideya sa mga tagsulat, ang developer kinahanglan nga mogugol og usa ka minimum nga panahon sa pagsulat sa mga lagda).

Ang cross-compile ug pagtukod sa Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ug Windows gamit ang GCC, Clang, Visual Studio ug uban pang mga compiler gisuportahan. Posible nga magtukod mga proyekto sa lainlaing mga sinultian nga programming, lakip ang C, C ++, Fortran, Java ug Rust. Gisuportahan ang usa ka incremental build mode, diin ang mga sangkap lamang nga direktang may kalabutan sa mga pagbag-o nga nahimo sukad sa katapusan nga pagtukod ang gitukod pag-usab. Ang Meson mahimong gamiton aron makamugna og balik-balik nga pagtukod, diin ang pagpadagan sa pagtukod sa lain-laing mga palibot moresulta sa hingpit nga managsama nga mga executable nga namugna.

Panguna nga mga inobasyon sa Meson 0.58:

  • Ang Meson adunay built-in nga string formatting operations. Imbis nga tawagan ang pamaagi sa pag-format, mahimo nimong ilisan ang mga kantidad nga direkta, pananglitan, imbes nga "'Usa ka string @0@ nga ma-format @1@'.format(n, m)" mahimo nimo dayon isulti ang "f' Usa ka string @n@ nga ma-format @ m@'".
  • Usa ka "pag-ilis" nga pamaagi ang gidugang sa mga butang nga string aron mahimo ang operasyon sa pag-ilis sa usa ka substring sa lain, pananglitan, "s = s.replace('aaa', 'bbb')."
  • Gidugang ang "range(start, stop [, step])" function aron ibalik ang butang nga magamit sa foreach loop, sama sa "foreach i : range(15)".
  • Ang meson.add_devenv() nga pamaagi gipatuman, nga nagtugot kanimo sa pagdugang sa usa ka environment() nga butang sa pagtakda sa environment variables sa diha nga ang paggamit sa "meson devenv" sugo, pananglitan, sa pagbutang sa usa ka environment variable uban sa dalan ngadto sa plugins directory.
  • Para sa development environment, usa ka bag-ong command ang gisugyot: “meson devenv -C builddir [], nga nagpaposible sa pagpadagan sa command sa usa ka environment nga gi-configure aron maglunsad og mga proyekto gikan sa build directory (nga walay instalasyon).
  • Sa kasagaran, ang "-pipe" nga kapilian gipahunong sa pagpasa kung nagdagan ang tanan nga gisuportahan nga mga compiler.
  • Gitugotan ang pagtawag sa meson.add_dist_script() gikan sa mga subproject.
  • Gihatag ang abilidad sa pagpadagan sa append() ug prepend() nga mga pamaagi sa makadaghang higayon sa samang environment() nga butang.
  • Ang error() function nagtugot sa labaw sa usa ka argumento, gibulag sa usa ka luna (susama sa warning() ug message()).
  • Gidugang ang "--skip-subprojects" nga kapilian aron pilion nga laktawan ang pag-install sa mga subproject.

Sa tagsa-tagsa, mahimo natong timan-an ang proyekto sa Boson, nga nagtumong sa paghimo sa usa ka madaladala ug yano nga pagpatuman sa Meson assembly script nga pinulongan, nga gisulat sa C imbes sa Python. Ang proyekto anaa pa sa inisyal nga yugto sa kalamboan ug dili pa andam alang sa bug-os nga asembliya sa nagtrabaho nga mga proyekto. Ang code lisensyado ubos sa GPLv3 (ang orihinal nga Python Meson kay lisensyado ubos sa Apache 2.0 nga lisensya).

Source: opennet.ru

Idugang sa usa ka comment