เชฎเซ‡เชธเชจ เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชŸเชฎ เชฐเชฟเชฒเซ€เช 1.1

Meson 1.1.0 เชฌเชฟเชฒเซเชก เชธเชฟเชธเซเชŸเชฎเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— X.Org เชธเชฐเซเชตเชฐ, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME เช…เชจเซ‡ GTK เชœเซ‡เชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชฎเซ‡เชธเซ‹เชจ เช•เซ‹เชก เชชเชพเชฏเชฅเซ‹เชจเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒเซ‹ เช›เซ‡ เช…เชจเซ‡ เช…เชชเชพเชšเซ‡ 2.0 เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ เชฒเชพเช‡เชธเชจเซเชธ เชฅเชฏเซ‡เชฒ เช›เซ‡.

เชฎเซ‡เชธเชจเชจเซ‹ เชฎเซเช–เซเชฏ เชตเชฟเช•เชพเชธ เชงเซเชฏเซ‡เชฏ เชธเช—เชตเชกเชคเชพ เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชธเชฐเชณเชคเชพ เชธเชพเชฅเซ‡ เชนเชพเช‡ เชธเซเชชเซ€เชก เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชจเซ‹ เช›เซ‡. เชฎเซ‡เช•เชจเซ‡ เชฌเชฆเชฒเซ‡, เชฌเชฟเชฒเซเชก เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เชจเชฟเชจเซเชœเชพ เชŸเซ‚เชฒเช•เซ€เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เช…เชจเซเชฏ เชฌเซ‡เช•เชเชจเซเชก เชœเซ‡เชฎ เช•เซ‡ xcode เช…เชจเซ‡ VisualStudio เชจเซ‹ เชชเชฃ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เชฎเชฒเซเชŸเซ€-เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชกเชฟเชชเซ‡เชจเซเชกเชจเซเชธเซ€ เชนเซ‡เชจเซเชกเชฒเชฐ เช›เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชถเชจ เชฎเชพเชŸเซ‡ เชชเซ‡เช•เซ‡เชœเซ‹ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‡เชธเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชจเชฟเชฏเชฎเซ‹ เชเช• เชธเชฐเชณ เชกเซ‹เชฎเซ‡เชจ-เชตเชฟเชถเชฟเชทเซเชŸ เชญเชพเชทเชพเชฎเชพเช‚ เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡, เชคเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชตเชพเช‚เชšเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เช…เชจเซ‡ เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เช›เซ‡ (เชฒเซ‡เช–เช•เซ‹เชจเชพ เชตเชฟเชšเชพเชฐ เชฎเซเชœเชฌ, เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช เชจเชฟเชฏเชฎเซ‹ เชฒเช–เชตเชพเชฎเชพเช‚ เช“เช›เชพเชฎเชพเช‚ เช“เช›เซ‹ เชธเชฎเชฏ เชชเชธเชพเชฐ เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช).

GCC, Clang, เชตเชฟเชเซเชฏเซเช…เชฒ เชธเซเชŸเซเชกเชฟเชฏเซ‹ เช…เชจเซ‡ เช…เชจเซเชฏ เช•เชฎเซเชชเชพเช‡เชฒเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS เช…เชจเซ‡ Windows เชชเชฐ เช•เซเชฐเซ‹เชธ-เช•เชฎเซเชชเชพเช‡เชฒเชฟเช‚เช— เช…เชจเซ‡ เชฌเชฟเชฒเซเชกเชฟเช‚เช—เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡. C, C++, Fortran, Java เช…เชจเซ‡ Rust เชธเชนเชฟเชค เชตเชฟเชตเชฟเชง เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเช“เชฎเชพเช‚ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡. เชเช• เช‡เชจเซเช•เซเชฐเซ€เชฎเซ‡เชจเซเชŸเชฒ เชฌเชฟเชฒเซเชก เชฎเซ‹เชกเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชฎเชพเชคเซเชฐ เชเชตเชพ เช˜เชŸเช•เซ‹ เช•เซ‡ เชœเซ‡ เช›เซ‡เชฒเซเชฒเซ€ เชฌเชฟเชฒเซเชก เชชเช›เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเชพ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชธเชพเชฅเซ‡ เชธเซ€เชงเซ‹ เชธเช‚เชฌเช‚เชง เชงเชฐเชพเชตเซ‡ เช›เซ‡ เชคเซ‡ เชซเชฐเซ€เชฅเซ€ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชฎเซ‡เชธเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชฌเชฟเชฒเซเชกเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡, เชœเซเชฏเชพเช‚ เชตเชฟเชตเชฟเชง เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชฌเชฟเชฒเซเชก เชšเชฒเชพเชตเชตเชพเชฅเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเชฎเชพเชจ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒเซเชธ เชœเชจเชฐเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡.

เชฎเซ‡เชธเชจ 1.1 เชจเซ€ เชฎเซเช–เซเชฏ เชจเชตเซ€เชจเชคเชพเช“:

  • เชเช• เชจเชตเซ€ "เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ:" เชฆเชฒเซ€เชฒ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ declare_dependency() เชฎเชพเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชธเซ€เชงเชพ เชœ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒเซเชธ เชธเชพเชฅเซ‡ เช†เช‚เชคเชฐเชฟเช• เช…เชตเชฒเช‚เชฌเชจ เชคเชฐเซ€เช•เซ‡ เชœเซ‹เชกเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‡ เชœเซ‡เชจเซ‡ link_who เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€.
  • "meson devenv --dump" เช†เชฆเซ‡เชถ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เช†เช‰เชŸเชชเซเชŸ เชธเซเชŸเซเชฐเซ€เชฎเชฎเชพเช‚ เช†เช‰เชŸเชชเซเชŸ เช•เชฐเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเซ‹เชจเซ‡ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชซเชพเช‡เชฒเชจเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชตเซˆเช•เชฒเซเชชเชฟเช• เช•เซเชทเชฎเชคเชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡.
  • เชจเชฟเชฐเซเชญเชฐเชคเชพ() เชซเช‚เช•เซเชถเชจเชฎเชพเช‚ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชชเชธเชพเชฐ เช•เชฐเชตเชพเชจเซ€ เชคเซˆเชฏเชพเชฐเซ€เชฎเชพเช‚ เชถเชฐเชคเซ€ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ FeatureOption.enable_if เช…เชจเซ‡ FeatureOption.disable_if เชชเชฆเซเชงเชคเชฟเช“ เช‰เชฎเซ‡เชฐเซ€. opt = get_option('feature').disable_if(foo เชจเชฅเซ€, error_message : 'เชœเซเชฏเชพเชฐเซ‡ foo เชชเชฃ เชธเช•เซเชทเชฎ เชจ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชธเซเชตเชฟเชงเชพเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ€ เชถเช•เชพเชคเซ€ เชจเชฅเซ€') dep = เช…เชตเชฒเช‚เชฌเชจ('foo', เชœเชฐเซ‚เชฐเซ€ : opt)
  • เชคเซ‡เชจเซ‡ "เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ:" เชฆเชฒเซ€เชฒเซ‹ เชตเชšเซเชšเซ‡ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡เชฒเชพ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชชเชธเชพเชฐ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡.
  • เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชซเช‚เช•เซเชถเชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฒเชพเช‡เชธเชจเซเชธ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชธเชพเชฅเซ‡ เชซเชพเช‡เชฒเซ‹เชจเชพ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡.
  • "sudo meson install" เชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฅเซ€ เชฒเช•เซเชทเซเชฏ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชฎเชพเชŸเซ‡ เชชเซเชจเชƒเชจเชฟเชฐเซเชฎเชพเชฃ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐ เชฐเซ€เชธเซ‡เชŸเชจเซ€ เช–เชพเชคเชฐเซ€ เชฅเชพเชฏ เช›เซ‡.
  • "meson install" เช†เชฆเซ‡เชถ เชฐเซ‚เชŸ เชชเชฐเชตเชพเชจเช—เซ€เช“ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฒเช— เชนเซ‡เชจเซเชกเชฒเชฐเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ polkit, sudo, opendoas เช…เชฅเชตเชพ $MESON_ROOT_CMD เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹). เชจเซ‹เชจ-เช‡เชจเซเชŸเชฐเซ‡เช•เซเชŸเชฟเชต เชฎเซ‹เชกเชฎเชพเช‚ "meson install" เชšเชฒเชพเชตเชตเชพเชฅเซ€ เชนเชตเซ‡ เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹ เชตเชงเชพเชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เชฅเชคเซ‹ เชจเชฅเซ€.
  • meson_options.txt เชจเซ‡ เชฌเชฆเชฒเซ‡ meson.options เชซเชพเช‡เชฒเชฎเชพเช‚เชฅเซ€ เชตเชฟเช•เชฒเซเชชเซ‹ เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅเชจ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚.
  • เช†เชคเซเชฎเชจเชฟเชฐเซ€เช•เซเชทเชฃเชจเซ€ เชชเซเชฐเช—เชคเชฟ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเชพ เช†เช‰เชŸเชชเซเชŸเชจเชพ stderr เชชเชฐ เชชเซเชจเชƒเชฆเชฟเชถเชพเชฎเชพเชจ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซเชฏเซเช‚.
  • เชเช• เชจเชตเซ‹ "เช•เซ‹เชˆ เชจเชนเชฟ" เชฌเซ‡เช•เชเชจเซเชก (--backend=none) เชเชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ เช•เซ‡ เชœเซ‡เชฎเชพเช‚ เชซเช•เซเชค เชจเชฟเชฏเชฎเซ‹ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซเชฏเชพ เช›เซ‡ เช…เชจเซ‡ เช•เซ‹เชˆ เชฌเชฟเชฒเซเชก เชจเชฟเชฏเชฎเซ‹ เชจเชฅเซ€.
  • pybind11-config เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ pkg-config เช…เชจเซ‡ cmake เชธเชพเชฅเซ‡ เชกเชฟเชชเซ‡เชจเซเชกเชจเซเชธเซ€('pybind11') เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเชตเซ€ เชกเชฟเชชเซ‡เชจเซเชกเชจเซเชธเซ€ pybind11 เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡.
  • "--เชชเซเชจเชƒเชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเซ‹" เช…เชจเซ‡ "--wipe" เชตเชฟเช•เชฒเซเชชเซ‹ (meson setup --reconfigure builddir เช…เชจเซ‡ meson setup --wipe builddir ) เชจเซ‡ เช–เชพเชฒเซ€ เชฌเชฟเชฒเซเชกเชกเซ€เชฐ เชธเชพเชฅเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡.
  • meson.add_install_script() เช dry_run เช•เซ€เชตเชฐเซเชก เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช‰เชฎเซ‡เชฐเซเชฏเซ‹ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ "meson install --dry-run" เช•เซ‰เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹