เบเบฒเบ™เบ›เปˆเบญเบเบฅเบฐเบšเบปเบšเบเบฒเบ™เบ›เบฐเบเบญเบš Meson 1.0

เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ Meson 1.0.0 เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เป€เบŠเบฑเปˆเบ™ 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 1.0:

  • เป‚เบกเบ”เบนเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบ™เบžเบฒเบชเบฒ Rust เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบเบฒเบ”เบงเปˆเบฒเบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡. เป‚เบกเบ”เบนเบ™เบ™เบตเป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ Mesa เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™ Rust.
  • เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ„เปเบฒโ€‹เบ™เปเบฒโ€‹เบซเบ™เป‰เบฒโ€‹, เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เปƒเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบเบงเบ”โ€‹เบชเบญเบš compiler เบซเบผเบฒเบโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹, เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™ arrays เบ™เบญเบโ€‹เป€เบซเบ™เบทเบญโ€‹เป„เบ›โ€‹เบˆเบฒเบ stringsโ€‹. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ•เบญเบ™เบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเป„เบ”เป‰: cc.check_header('GL/wglew.h', prefix : ['#include ', '#include '])
  • เป€เบžเบตเปˆเบก argument เปƒเปเปˆ "--workdir" เป€เบžเบทเปˆเบญเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰ overriding เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเปƒเบŠเป‰เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ›เบฐเบˆเบธเบšเบฑเบ™เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™: meson devenv -C builddir --workdir .
  • เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปƒเบซเบกเปˆ "เปƒเบ™" เปเบฅเบฐ "เบšเปเปˆเบขเบนเปˆเปƒเบ™" เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบชเบฒเบเบเปˆเบญเบเปƒเบ™เบชเบฐเบ•เบฃเบดเบ‡, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเปƒเบ™เบญเบฒเป€เบฃเบซเบผเบทเบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡: fs = import('fs') เบ–เป‰เบฒ 'เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡' เปƒเบ™ fs.read('somefile') # True endif
  • เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบ โ€œwarning-level=everythingโ€, เป€เบŠเบดเปˆเบ‡เป€เบ›เบตเบ”เบœเบปเบ™เบญเบญเบเบกเบฒเบ‚เบญเบ‡เบ„เปเบฒเป€เบ•เบทเบญเบ™ compiler เบ—เบตเปˆเบกเบตเบขเบนเปˆเบ—เบฑเบ‡เปเบปเบ” (เปƒเบ™ clang เปเบฅเบฐ MSVC เบกเบฑเบ™เปƒเบŠเป‰ -Weverything เปเบฅเบฐ /Wall, เปเบฅเบฐเปƒเบ™เบ„เปเบฒเป€เบ•เบทเบญเบ™ GCC เปเบกเปˆเบ™เบฅเบงเบกเป€เบญเบปเบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบ›เบฐเบกเบฒเบ™เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบš -Weverything. mode เปƒเบ™ clang).
  • เบงเบดเบ—เบตเบเบฒเบ™ rust.bindgen เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ "dependencies" เป€เบžเบทเปˆเบญเบœเปˆเบฒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบชเบนเปˆเบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡เป‚เบ”เบ compiler.
  • เบŸเบฑเบ‡เบŠเบฑเบ™ java.generate_native_headers เป„เบ”เป‰เบ–เบทเบเบเบปเบเป€เบฅเบตเบ เปเบฅเบฐเบ›เปˆเบฝเบ™เบŠเบทเปˆเป€เบ›เบฑเบ™ java.native_headers เป€เบžเบทเปˆเบญเปƒเบซเป‰เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบŠเบทเปˆเบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบปเปˆเบงเป„เบ›เบ‚เบญเบ‡ Meson.

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

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