เบเบฒเบ™เบ›เปˆเบญเบเบฅเบฐเบšเบปเบšเบเบฒเบ™เบ›เบฐเบเบญเบš Meson 0.58. เป‚เบ„เบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” Meson เปƒเบ™เบžเบฒเบชเบฒ C

เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ Meson 0.58 เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เป€เบŠเบฑเปˆเบ™ X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME เปเบฅเบฐ GTK. เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡ Meson เปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ Python เปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเบญเบฐเบ™เบธเบเบฒเบ”เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” Apache 2.0.

เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ Meson เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเป„เบงเบชเบนเบ‡เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฐเบเบญเบšเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฑเบšเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเปเบฅเบฐเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”, เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท Ninja เบ–เบทเบเปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡, เปเบ•เปˆ backends เบญเบทเปˆเบ™เป†เป€เบŠเบฑเปˆเบ™ xcode เปเบฅเบฐ VisualStudio เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบฅเบฐเบšเบปเบšเบกเบตเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบซเบผเบฒเบเป€เบงเบ—เบตเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เปƒเบŠเป‰ Meson เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบ. เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡เบชเบฐเบžเบฒเปเบซเปˆเบ‡เปเบกเปˆเบ™เป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบžเบฒเบชเบฒเบชเบฐเป€เบžเบฒเบฐเป‚เบ”เป€เบกเบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ, เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เบชเบนเบ‡เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ (เบ•เบฒเบกเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบœเบนเป‰เบ‚เบฝเบ™, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เบงเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบš).

เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบ‚เป‰เบฒเบก เปเบฅเบฐเบชเป‰เบฒเบ‡เปƒเบ™ Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS เปเบฅเบฐ Windows เป‚เบ”เบเปƒเบŠเป‰ GCC, Clang, Visual Studio เปเบฅเบฐ compilers เบญเบทเปˆเบ™เป†. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบ•เปˆเบฒเบ‡เป†, เบฅเบงเบกเบ—เบฑเบ‡ C, C++, Fortran, Java เปเบฅเบฐ Rust. เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™, เป€เบŠเบดเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เป‚เบ”เบเบเบปเบ‡เบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ„เบฑเป‰เบ‡เบชเบธเบ”เบ—เป‰เบฒเบเบ–เบทเบเบชเป‰เบฒเบ‡เปƒเบซเบกเปˆ. Meson เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบŠเป‰เปเบฒเบŠเป‰เบญเบ™, เป€เบŠเบดเปˆเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰เบเบฒเบ™เบœเบฐเบฅเบดเบ”เป„เบŸเบฅเปŒเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ„เบทเบเบฑเบ™เบซเบกเบปเบ”.

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบซเบผเบฑเบเบ‚เบญเบ‡ Meson 0.58:

  • ะ’ ัะทั‹ะบะต Meson ั€ะตะฐะปะธะทะพะฒะฐะฝั‹ ะฒัั‚ั€ะพะตะฝะฝั‹ะต ะพะฟะตั€ะฐั†ะธะธ ั„ะพั€ะผะฐั‚ะธั€ะพะฒะฐะฝะธั ัั‚ั€ะพะบ. ะ’ะผะตัั‚ะพ ะฒั‹ะทะพะฒะฐ ะผะตั‚ะพะดะฐ format ั‚ะตะฟะตั€ัŒ ะผะพะถะฝะพ ะฟะพะดัั‚ะฐะฒะปัั‚ัŒ ะทะฝะฐั‡ะตะฝะธั ะฝะฐะฟั€ัะผัƒัŽ, ะฝะฐะฟั€ะธะผะตั€, ะฒะผะตัั‚ะพ ยซโ€˜A string @0@ to be formatted @1@โ€™.format(n, m)ยป ะผะพะถะฝะพ ัƒะบะฐะทั‹ะฒะฐั‚ัŒ ัั€ะฐะทัƒ ยซfโ€™A string @n@ to be formatted @m@'ยป.
  • ะ’ ัั‚ั€ะพะบะพะฒั‹ะต ะพะฑัŠะตะบั‚ั‹ ะดะพะฑะฐะฒะปะตะฝ ะผะตั‚ะพะด ยซreplaceยป ะดะปั ะฒั‹ะฟะพะปะฝะตะฝะธั ะพะฟะตั€ะฐั†ะธะธ ะทะฐะผะตะฝั‹ ะพะดะฝะพะน ะฟะพะดัั‚ั€ะพะบะธ ะฝะฐ ะดั€ัƒะณัƒัŽ, ะฝะฐะฟั€ะธะผะตั€, ยซs = s.replace(โ€˜aaaโ€™, โ€˜bbbโ€™)ยป.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ั„ัƒะฝะบั†ะธั ยซrange(start, stop[, step])ยป ะดะปั ะฒะพะทะฒั€ะฐั‚ะฐ ะพะฑัŠะตะบั‚ะฐ, ะบะพั‚ะพั€ั‹ะน ะผะพะถะตั‚ ะฟั€ะธะผะตะฝัั‚ัŒัั ะฒ ั†ะธะบะปะต ยซforeachยป, ะฝะฐะฟั€ะธะผะตั€ ยซforeach i : range(15)ยป.
  • ะ ะตะฐะปะธะทะพะฒะฐะฝ ะผะตั‚ะพะด meson.add_devenv(), ะฟะพะทะฒะพะปััŽั‰ะธะน ะดะพะฑะฐะฒะธั‚ัŒ ะพะฑัŠะตะบั‚ environment() ะดะปั ัƒัั‚ะฐะฝะพะฒะบะธ ะฟะตั€ะตะผะตะฝะฝั‹ั… ะพะบั€ัƒะถะตะฝะธั ะฒะพ ะฒั€ะตะผั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะบะพะผะฐะฝะดั‹ ยซmeson devenvยป, ะฝะฐะฟั€ะธะผะตั€, ะดะปั ะทะฐะดะฐะฝะธั ะฟะตั€ะตะผะตะฝะฝะพะน ะพะบั€ัƒะถะตะฝะธั ั ะฟัƒั‚ั‘ะผ ะบ ะบะฐั‚ะฐะปะพะณัƒ ั ะฟะปะฐะณะธะฝะฐะผะธ.
  • ะ”ะปั ะพะบั€ัƒะถะตะฝะธะน ั€ะฐะทั€ะฐะฑะพั‚ะบะธ ะฟั€ะตะดะปะพะถะตะฝะฐ ะฝะพะฒะฐั ะบะพะผะฐะฝะดะฐ ยซmeson devenv -C builddir [<ะบะพะผะฐะฝะดะฐ>], ะดะฐัŽั‰ะฐั ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะทะฐะฟัƒัั‚ะธั‚ัŒ ะบะพะผะฐะฝะดัƒ ะฒ ะพะบั€ัƒะถะตะฝะธะธ, ะฝะฐัั‚ั€ะพะตะฝะฝะพะผ ะดะปั ะทะฐะฟัƒัะบะฐ ะฟั€ะพะตะบั‚ะพะฒ ะธะท ัะฑะพั€ะพั‡ะฝะพะณะพ ะบะฐั‚ะฐะปะพะณะฐ (ะฑะตะท ัƒัั‚ะฐะฝะพะฒะบะธ).
  • ะŸะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะฟั€ะตะบั€ะฐั‰ะตะฝะฐ ะฟะตั€ะตะดะฐั‡ะฐ ะฟะฐั€ะฐะผะตั‚ั€ะฐ ยซ-pipeยป ะฟั€ะธ ะทะฐะฟัƒัะบะต ะฒัะตั… ะฟะพะดะดะตั€ะถะธะฒะฐะตะผั‹ั… ะบะพะผะฟะธะปัั‚ะพั€ะพะฒ.
  • ะ ะฐะทั€ะตัˆั‘ะฝ ะฒั‹ะทะพะฒ meson.add_dist_script() ะธะท ะฟะพะดะฟั€ะพะตะบั‚ะพะฒ.
  • ะŸั€ะตะดะพัั‚ะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะผะฝะพะณะพะบั€ะฐั‚ะฝะพะณะพ ะทะฐะฟัƒัะบะฐ ะผะตั‚ะพะดะพะฒ append() ะธ prepend() ะดะปั ะพะดะฝะพะณะพ ะธ ั‚ะพะณะพ ะถะต ะพะฑัŠะตะบั‚ะฐ environment().
  • ะ’ ั„ัƒะฝะบั†ะธะธ error() ั€ะฐะทั€ะตัˆะตะฝะพ ัƒะบะฐะทะฐะฝะธะต ะฑะพะปะตะต ะพะดะฝะพะณะพ ะฐั€ะณัƒะผะตะฝั‚ะฐ ั ั€ะฐะทะดะตะปะตะฝะธะตะผ ะฟั€ะพะฑะตะปะพะผ (ะฟะพ ะฐะฝะฐะปะพะณะธะธ ั warning() ะธ message()).
  • ะ”ะพะฑะฐะฒะปะตะฝ ะฟะฐั€ะฐะผะตั‚ั€ ยซโ€”skip-subprojectsยป ะดะปั ะฒั‹ะฑะพั€ะพั‡ะฝะพะณะพ ะฟั€ะพะฟัƒัะบะฐ ัƒัั‚ะฐะฝะพะฒะบะธ ะฟะพะดะฟั€ะพะตะบั‚ะพะฒ.

ะžั‚ะดะตะปัŒะฝะพ ะผะพะถะฝะพ ะพั‚ะผะตั‚ะธั‚ัŒ ะฟั€ะพะตะบั‚ Boson, ะฝะฐั†ะตะปะตะฝะฝั‹ะน ะฝะฐ ัะพะทะดะฐะฝะธะต ะฟะตั€ะตะฝะพัะธะผะพะน ะธ ะฟั€ะพัั‚ะพะน ั€ะตะฐะปะธะทะฐั†ะธะธ ัะทั‹ะบะฐ ัะฑะพั€ะพั‡ะฝั‹ั… ัั†ะตะฝะฐั€ะธะตะฒ Meson, ะฝะฐะฟะธัะฐะฝะฝะพะน ะฝะฐ ัะทั‹ะบะต ะกะธ ะฒะผะตัั‚ะพ Python. ะŸั€ะพะตะบั‚ ะฟะพะบะฐ ะฝะฐั…ะพะดะธั‚ัั ะฝะฐ ะฝะฐั‡ะฐะปัŒะฝะพะผ ัั‚ะฐะฟะต ั€ะฐะทะฒะธั‚ะธั ะธ ะฟะพะบะฐ ะฝะต ะณะพั‚ะพะฒ ะดะปั ะฟะพะปะฝะพั†ะตะฝะฝะพะน ัะฑะพั€ะบะธ ั€ะฐะฑะพั‡ะธั… ะฟั€ะพะตะบั‚ะพะฒ. ะšะพะด ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝัะตั‚ัั ะฟะพะด ะปะธั†ะตะฝะทะธะตะน GPLv3 (ะพั€ะธะณะธะฝะฐะปัŒะฝั‹ะน Meson ะฝะฐ Python ะฟะพัั‚ะฐะฒะปัะตั‚ัั ะฟะพะด ะปะธั†ะตะฝะทะธะตะน Apache 2.0).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™