เดฎเต†เดธเต‹เตบ เดฌเดฟเตฝเดกเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฑเดฟเดฒเต€เดธเต 1.1

X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME, GTK เดคเตเดŸเด™เตเด™เดฟเดฏ เดชเตเดฐเต‹เดœเด•เตเดŸเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ Meson 1.1.0 เดฌเดฟเตฝเดกเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดฑเดฟเดฒเต€เดธเต เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเต. เดชเตˆเดคเตเดคเดฃเดฟเตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฎเต†เดธเต‹เตบ เด•เต‹เดกเต เด…เดชเตเดชเดพเดšเตเดšเต† 2.0 เดฒเตˆเดธเตปเดธเดฟเดจเต เด•เต€เดดเดฟเดฒเดพเดฃเต.

เดฎเต†เดธเต‹เดฃเดฟเดจเตเดฑเต† เดชเตเดฐเดงเดพเดจ เดตเดฟเด•เดธเดจ เดฒเด•เตเดทเตเดฏเด‚, เดธเต—เด•เดฐเตเดฏเดตเตเด‚ เด‰เดชเดฏเต‹เด— เดŽเดณเตเดชเตเดชเดตเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเต เด‰เดฏเตผเดจเตเดจ เดตเต‡เด—เดคเดฏเตเดณเตเดณ เด…เดธเด‚เดฌเตเดฒเดฟ เดชเตเดฐเด•เตเดฐเดฟเดฏ เดจเตฝเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต. เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดชเด•เดฐเด‚, เดฌเดฟเตฝเดกเต เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เดจเดฟเตปเดœ เดŸเต‚เตพเด•เดฟเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ xcode, VisualStudio เดคเตเดŸเด™เตเด™เดฟเดฏ เดฎเดฑเตเดฑเต เดฌเดพเด•เตเด•เต†เตปเดกเตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เด’เดฐเต เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดฎเตพเดŸเตเดŸเดฟ-เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เดกเดฟเดชเตปเดกเตปเดธเดฟ เดนเดพเตปเดกเตโ€Œเดฒเตผ เด‰เดฃเตเดŸเต, เด…เดคเต เดกเดฟเดธเตเดŸเตเดฐเดฟเดฌเตเดฏเต‚เดทเดจเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเต†เดธเตบ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดธเด‚เดฌเตเดฒเดฟ เดจเดฟเดฏเดฎเด™เตเด™เตพ เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดกเตŠเดฎเต†เดฏเตเตป-เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดญเดพเดทเดฏเดฟเตฝ เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดต เดจเดจเตเดจเดพเดฏเดฟ เดตเดพเดฏเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเดตเตเดจเตเดจเดคเตเดฎเดพเดฃเต (เดฐเดšเดฏเดฟเดคเดพเด•เตเด•เดณเตเดŸเต† เด†เดถเดฏเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, เดกเดตเดฒเดชเตเดชเตผ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดŽเดดเตเดคเดพเตป เด•เตเดฑเดžเตเดžเดคเต เดธเดฎเดฏเด‚ เดšเต†เดฒเดตเดดเดฟเด•เตเด•เดฃเด‚).

GCC, Clang, Visual Studio เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เดฎเดฑเตเดฑเต เด•เด‚เดชเตˆเดฒเดฑเตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS, Windows เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เด•เตเดฐเต‹เดธเต-เด•เด‚เดชเตˆเดฒเดฟเด‚เด—เตเด‚ เดจเดฟเตผเดฎเตเดฎเดพเดฃเดตเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. C, C++, Fortran, Java, Rust เดŽเดจเตเดจเดฟเดตเดฏเตเตพเดชเตเดชเต†เดŸเต† เดตเดฟเดตเดฟเดง เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเด•เดณเดฟเตฝ เดชเตเดฐเต‹เดœเด•เตเดŸเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เดธเดพเดงเดฟเด•เตเด•เตเด‚. เด’เดฐเต เด‡เตปเด•เตเดฐเดฟเดฎเต†เดจเตเดฑเตฝ เดฌเดฟเตฝเดกเต เดฎเต‹เดกเต เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเตฝ เด…เดตเดธเดพเดจ เดฌเดฟเตฝเดกเต เดฎเตเดคเตฝ เดตเดฐเตเดคเตเดคเดฟเดฏ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เด˜เดŸเด•เด™เตเด™เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณเต‚. เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดค เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เดณเดฟเตฝ เดฌเดฟเตฝเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดธเดฎเดพเดจเดฎเดพเดฏ เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเดฌเดฟเดณเตเด•เตพเด•เตเด•เต เด•เดพเดฐเดฃเดฎเดพเด•เตเดจเตเดจ เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเตเดณเตเดณ เดฌเดฟเตฝเดกเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเตป เดฎเต†เดธเตบ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.

Meson 1.1 เดจเตเดฑเต† เดชเตเดฐเดงเดพเดจ เด•เดฃเตเดŸเตเดชเดฟเดŸเตเดคเตเดคเด™เตเด™เตพ:

  • เด’เดฐเต เดชเตเดคเดฟเดฏ "objects:" เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเต 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)
  • "objects:" เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดœเดจเดฑเต‡เดฑเตเดฑเดกเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเตเด•เตพ เด•เตˆเดฎเดพเดฑเดพเตป เด‡เดคเต เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  • เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฒเตˆเดธเตปเดธเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เดณเตเดณเตเดณ เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดซเด‚เด—เตเดทเตป เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต.
  • เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ "sudo meson install" เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดทเตป เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดชเตเดฐเดฟเดตเดฟเดฒเต‡เดœเต เดฑเต€เดธเต†เดฑเตเดฑเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเดจเตเดจเต.
  • "meson install" เด•เดฎเดพเตปเดกเต เดฑเต‚เดŸเตเดŸเต เดชเต†เตผเดฎเดฟเดทเดจเตเด•เตพ เดจเต‡เดŸเตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดนเดพเตปเดกเตโ€Œเดฒเตผ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดจเตฝเด•เตเดจเตเดจเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเต‹เตพเด•เดฟเดฑเตเดฑเต, เดธเตเดกเต‹, เด“เดชเตเดชเตบเดกเต‹เดธเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ $MESON_ROOT_CMD เดŽเดจเตเดจเดฟเดต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚). เดจเต‹เตบ-เด‡เดจเตเดฑเดฑเดพเด•เตเดŸเต€เดตเต เดฎเต‹เดกเดฟเตฝ "เดฎเต†เดธเตบ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ" เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดฎเต‡เดฒเดฟเตฝ เดชเตเดฐเดคเตเดฏเต‡เด•เดพเดตเด•เดพเดถเด™เตเด™เตพ เด‰เดฏเตผเดคเตเดคเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดฟเดฒเตเดฒ.
  • meson_options.txt-เดจเต เดชเด•เดฐเด‚ meson.options เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด“เดชเตโ€Œเดทเดจเตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต.
  • เด†เดคเตเดฎเดชเดฐเดฟเดถเต‹เดงเดจเดฏเตเดŸเต† เดชเตเดฐเต‹เด—เดคเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เดณเตเดŸเต† เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเดฟเดจเตเดฑเต† stderr-เดฒเต‡เด•เตเด•เต เดฑเต€เดกเดฏเดฑเด•เตเดทเตป เดจเตฝเด•เดฟ.
  • เด‡เตปเดธเตโ€Œเดฑเตเดฑเดพเตพ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดฎเดพเดคเตเดฐเดฎเตเดณเตเดณเดคเตเด‚ เดฌเดฟเตฝเดกเต เดฑเต‚เดณเตเด•เดณเดฟเดฒเตเดฒเดพเดคเตเดคเดคเตเดฎเดพเดฏ เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเตป เด’เดฐเต เดชเตเดคเดฟเดฏ "เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ" เดฌเดพเด•เตเด•เต†เตปเดกเต (--backend=none) เดšเต‡เตผเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  • pybind11-config เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเต† pkg-config, cmake เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดกเดฟเดชเตปเดกเตปเดธเดฟ ('pybind11') เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด’เดฐเต เดชเตเดคเดฟเดฏ เดกเดฟเดชเตปเดกเตปเดธเดฟ pybind11 เดšเต‡เตผเดคเตเดคเต.
  • "--reconfigure", "--wipe" เด“เดชเตเดทเดจเตเด•เตพ (meson setup --reconfigure builddir, meson setup --wipe builddir ) เดŽเดจเตเดจเดฟเดต เด’เดฐเต เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดฌเดฟเตฝเดกเดฟเดฑเดฟเดจเตŠเดชเตเดชเด‚ เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต.
  • meson.add_install_script() dry_run เด•เต€เดตเต‡เดกเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต, "meson install --dry-run" เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•