X.Org Serverá Mesaá Lighttpdá systemdá GStreamerá Waylandá GNOME ááŸáá·áº GTK á ááá·áº ááá±á¬áá»ááºáá»á¬ážááᯠáááºáá±á¬ááºáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº Meson 1.1.0 áááºáá±á¬ááºááŸá¯á áá áºá¡á¬áž áá¯ááºáá±ááá¯ááºáá«áááºá Meson áá¯ááºááᯠPython ááŒáá·áºáá±ážáá¬ážáá¬ážááŒá®áž Apache 2.0 ááá¯ááºá ááºá¡á±á¬ááºááœáẠááá¯ááºá ááºááá¬ážáááºá
Meson á á¡ááá ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááºážááá¯ááºááẠá¡áááºááŒá±ááœááºáá°ááŸá¯ááŸáá·áº á¡áá¯á¶ážááŒá¯áááœááºáá°ááŸá¯ááá¯á·ááŸáá·áºá¡áá° áá±á«ááºážá ááºáá¬ážáá±á¬ ááŒááºááŸá¯ááºážááŒáá·áº áááºáááºááŸá¯áá¯ááºáááºážá ááºááᯠáá¶á·ááá¯ážáá±ážáááºááŒá áºáááºá áááºáá®ážááá·áºá¡á á¬ážá áááºáá±á¬ááºááŸá¯ááẠáá°áááºážá¡ááá¯ááºáž Ninja toolkit ááᯠá¡áá¯á¶ážááŒá¯áá±á¬áºáááºáž xcode ááŸáá·áº VisualStudio áá²á·ááá¯á·áá±á¬ á¡ááŒá¬ážáá±á¬ backend áá»á¬ážááá¯áááºáž á¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá á áá áºááœáẠááŒáá·áºáá±ááŸá¯áá»á¬ážá¡ááœáẠáááºáá±á·áá»áºáá»á¬ážáááºáá±á¬ááºáááºá¡ááœáẠMeson ááá¯á¡áá¯á¶ážááŒá¯ááẠááá·áºá¡á¬áž ááœáá·áºááŒá¯ááá·áº áááºáááºáá¬ážááá·áº multi-platform ááŸá®ááá¯ááŸá¯ááá¯ááºááœááºáááááá¬áá áºáá¯ááŸááááºá á ááºážáá±ážááœá²á ááºážáá»ááºážáá»á¬ážááᯠááá¯ážááŸááºážáá±á¬ ááá¯ááááºáž-áá®ážááá·áºáá¬áá¬á áá¬ážááŒáá·áº áááºááŸááºáá¬ážááŒá®áž áááºážááá¯á·ááᯠá¡áá¯á¶ážááŒá¯áá°á០áá±á¬ááºážá áœá¬áááºááŸá¯ááá¯ááºáᬠáá¬ážáááºááá¯ááºááẠ(á á¬áá±ážááá¬áá»á¬ážá á¡áá°á¡áá¡áá áá±á¬á·ááºáá²áá±ážáá¬ážáá°ááẠá¡áááºážáá¯á¶áž á¡áá»áááºá¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá á ááºážáá»ááºážáá»á¬ážááᯠáá¯á¶ážá áœá²ááá·áºáááº)á
GCCá Clangá Visual Studio ááŸáá·áº á¡ááŒá¬ážáá±á¬ compilers áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á Linuxá Illumos/Solarisá FreeBSDá NetBSDá DragonFly BSDá Haikuá macOS ááŸáá·áº Windows ááá¯á·ááœáẠá¡ááŒááºá¡ááŸááºá á¯á ááºážááŒááºážááŸáá·áº áááºáá±á¬ááºááŒááºážááᯠáá¶á·ááá¯ážáá¬ážáá«áááºá Cá C++á Fortraná Java ááŸáá·áº Rust á¡áá«á¡ááẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá»á¬ážááŒáá·áº ááá±á¬áá»ááºáá»á¬ážááᯠáááºáá±á¬ááºááá¯ááºáááºá áá±á¬ááºáá¯á¶ážáááºáá±á¬ááºááŸá¯áá±á¬ááºááá¯ááºážááœáẠááŒá¯áá¯ááºáá¬ážáá±á¬ á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááŸáá·áº ááá¯ááºááá¯ááºáááºááá¯ááºááá·áº á¡á áááºá¡ááá¯ááºážáá»á¬ážááá¯áᬠááá¯ážááŒáŸáá·áºáááºáá±á¬ááºáá¯ááºááᯠáá¶á·ááá¯ážáá¬ážáááºá ááá°áá®áá±á¬áááºáááºážáá»ááºáá»á¬ážááœáẠáááºáá±á¬ááºááŸá¯ááᯠáá¯ááºáá±á¬ááºááŒááºážááŒáá·áº áá¯á¶ážááááºáá°áááºáá»áŸáá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠááŒá áºáá±á«áºá á±ááá·áº áááºááá²áá²áá¯ááºáá±á¬ááºááá¯ááºáá±á¬ áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááºáá®ážáááºá¡ááœáẠMeson ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
Meson 1.1 á á¡ááá áá®ááœááºáááºážáá áºááŸá¯áá»á¬áž
- link_who ááá¯á¡áá¯á¶ážááŒá¯áááºáááá¯á¡ááºáá±á¬ á¡ááœááºážááŸá®ááá¯ááŸá¯áá¯á¶á á¶ááŒáá·áº á¡áá¬ááá¹áá¯áá»á¬ážáᶠááá¯ááºááá¯ááºáá»áááºáááºááẠ"objects:" á¡ááŒááºážá¡áá¯á¶á¡áá áºááᯠdeclare_dependency() ááœáẠááá·áºááœááºážáá¬ážáá«áááºá
- "meson devenv -dump" ááœááºáááºážááẠááá¯á¡áá« áááºážááᯠá á¶á¡ááœááºá¡ááŒá Ạáááá·áºáá¯ááºááá·áºá¡á á¬áž áááºáááºážáá»áẠvariable áá»á¬ážááᯠáá±ážáá¬ážááẠááá¯ááºáá áºáá¯ááᯠáááºááŸááºááẠááœá±ážáá»ááºááœáá·áºááŸááááºá
- ááá·áºáááºáá»ááºáá»á¬ážááᯠdependency() áá¯ááºáá±á¬ááºáá»ááºááá¯á· ááŒááºáááºážáááºá¡ááœáẠááŒááºáááºááŸá¯ááœáẠá¡ááŒá±á¡áá±áááºááŸááºáá»ááºáá»á¬ážááᯠáááºáá®ážááẠááá¯ááá¯ááœááºáá°á á±ááẠFeatureOption.enable_if ááŸáá·áº FeatureOption.disable_if áááºážáááºážáá»á¬ážááᯠááá·áºááœááºážáá¬ážáááºá opt = get_option('feature').disable_if(not fooá error_message- 'foo ááá¯ááœáá·áºááá¬ážáá«á á¡ááºá¹áá«áááºááᯠááœáá·áºááááá«') dep = ááŸá®ááá¯ááŸá¯('foo'á ááá¯á¡ááºááẠ: ááœá±ážáááº)
- âobjects:â ááá¯á· á¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážá¡ááŒá Ạáá¯ááºáá¯ááºáá¬ážáá±á¬ á¡áá¬ááá¹áá¯áá»á¬ážááᯠááŒááºáááºážááœáá·áº ááŒá¯áá¬ážáááºá
- ááᯠááá±á¬áá»ááºáá¯ááºáá±á¬ááºáá»ááºááẠááá±á¬áá»ááºááá¯ááºá ááºáá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºáá«áá±á¬ ááá¯ááºáá»á¬ážááᯠááá·áºááœááºážááŒááºážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá
- "sudo meson ááá·áºááœááºážááŒááºáž" ááᯠáá¯ááºáá±á¬ááºááŒááºážááẠáá áºááŸááºááááºáá±á¬ááºážáá»á¬ážá¡ááœáẠááŒááºáááºáááºáá±á¬ááºááŸá¯áá»á¬ážá¡ááœááºáž á¡ááœáá·áºáá°ážáá»á¬ážááᯠááŒááºáááºáááºááŸááºááŒá±á¬ááºáž áá±áá»á¬á á±áááºá
- "meson install" ááœáŸááºááŒá¬ážáá»ááºááẠroot áá¯ááºááá¯ááºááœáá·áºáá»á¬ážáááŸááááºá¡ááœáẠáá®ážááŒá¬ážááá¯ááºááœááºáá°á¡á¬áž áááºááŸááºááá¯ááºááẠ(á¥ááá¬á áááºááẠpolkitá sudoá opendoas ááá¯á·ááá¯áẠ$MESON_ROOT_CMD) ááᯠááœá±ážáá»ááºááá¯ááºáááºá á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºááŸá¯ááá¯ááºáá±á¬áá¯ááºááœáẠ"meson ááá·áºááœááºážááŒááºáž" ááᯠáá¯ááºáá±á¬ááºááŒááºážááẠá¡ááœáá·áºáá°ážáá»á¬ážááá¯ážááŒáá·áºááẠááŒáá¯ážáááºážááŸá¯áááŸááá±á¬á·áá«á
- meson_options.txt á¡á á¬áž meson.options ááá¯ááºá០áááºááŸá¯ááŒááºážááœá±ážáá»ááºá áá¬áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºáá±á¬ááºážááá·áºáá¬ážáá«áááºá
- stderr ááá¯á· introspection áááá¯ážáááºááŸá¯ááŸáá·áºáááºáááºáá±á¬á¡áá»ááºá¡áááºáá»á¬ážááááºážááŒá±á¬ááºážááŒá±á¬ááºážááŒááºážááá¯áá±ážáá¬ážáááºá
- áááºáááºááŸá¯á ááºážáá»ááºážáá»á¬ážááŸáá·áº áááºáá±á¬ááºááŸá¯á ááºážáá»ááºážáá»á¬ážáᬠááá«ááŸááá±á¬ ááá±á¬áá»ááºáá»á¬ážááᯠáááºáá®ážáááºá¡ááœáẠ"none" áá±á¬ááºáá¶ááá¯ááºá¡áá Ạ(--backend=none) ááᯠááá·áºááœááºážáá²á·áááºá
- pybind11-config script ááá¯á¡áá¯á¶ážáááŒá¯áá² pkg-config ááŸáá·áº cmake ááŸáá·áºá¡áá° ááŸá®ááá¯ááŸá¯('pybind11') ááᯠááŸá®ááá¯ááœáá·áºááŒá¯ááá·áº pybind11 á¡áá áºááᯠááá·áºááœááºážáá²á·áááºá
- "--reconfigure" ááŸáá·áº "--wipe" ááœá±ážáá»ááºááŸá¯áá»á¬ážááᯠááœáá·áºááŒá¯áá¬ážááẠ( meson setup --reconfigure builddir ááŸáá·áº meson setup --wipe builddir ) ááᯠá¡ááœáẠbuilddir ááŒáá·áº ááœáá·áºááŒá¯áá¬ážáááºá
- "meson install --dry-run" ááᯠáá±á«áºáá±á¬á¡áá« ááá·áºááá¯ááºááá¯ááºááá·áºááœááºážááŸá¯ scripts áá»á¬ážááᯠrun ááá¯ááºá á±ááẠmeson.add_install_script() ááœáẠdry_run áá±á¬á·áá»ááºá á¬áá¯á¶ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯áááºááá·áºáá¬ážáááºá
source: opennet.ru