рдореЗрд╕рди рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рд░рд┐рд▓реАрдЬ 1.1

рдореЗрд╕рди 1.1.0 рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдордЪреЗ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ X.Org рд╕рд░реНрд╡реНрд╣рд░, рдореЗрд╕рд╛, рд▓рд╛рдЗрдЯрдЯреАрдкреАрдбреА, рд╕рд┐рд╕реНрдЯрдордб, рдЬреАрд╕реНрдЯреНрд░реАрдорд░, рд╡реЗрд▓рдБрдб, рдЬреАрдиреЛрдо рдЖрдгрд┐ рдЬреАрдЯреАрдХреЗ рд╕рд╛рд░рдЦреЗ рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. Meson рдХреЛрдб Python рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рддреЛ Apache 2.0 рд▓рд╛рдпрд╕рдиреНрд╕ рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд рдЖрд╣реЗ.

рдореЗрд╕реЙрдирдЪреЗ рдореБрдЦреНрдп рд╡рд┐рдХрд╛рд╕ рдЙрджреНрджрд┐рд╖реНрдЯ рд╣реЗ рдЖрд╣реЗ рдХреА рдЙрдЪреНрдЪ рдЧрддреА рдЕрд╕реЗрдВрдмреНрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд╡рд┐рдзреЗрд╕рд╣ рдЖрдгрд┐ рд╡рд╛рдкрд░рдгреА рд╕реБрд▓рднрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ. рдореЗрдХ рдРрд╡рдЬреА, рдмрд┐рд▓реНрдб рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдирд┐рдиреНрдЬрд╛ рдЯреВрд▓рдХрд┐рдЯ рд╡рд╛рдкрд░рддреЗ, рдкрд░рдВрддреБ рдЗрддрд░ рдмреЕрдХрдПрдВрдб рдЬрд╕реЗ рдХреА xcode рдЖрдгрд┐ VisualStudio рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдПрдХ рдЕрдВрдЧрднреВрдд рдорд▓реНрдЯреА-рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдЕрд╡рд▓рдВрдмрди рд╣рдБрдбрд▓рд░ рдЖрд╣реЗ рдЬреЛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рддрд░рдгрд╛рд╕рд╛рдареА рдкреЕрдХреЗрдЬреЗрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореЗрд╕рди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. рдЕрд╕реЗрдВрдмреНрд▓реА рдирд┐рдпрдо рд╕рд░рд▓реАрдХреГрдд рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖реЗрдд рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд, рддреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдЪрд╛рдВрдЧрд▓реЗ рд╡рд╛рдЪрдиреАрдп рдЖрдгрд┐ рд╕рдордЬрдгреНрдпрд╛рдпреЛрдЧреНрдп рдЖрд╣реЗрдд (рд▓реЗрдЦрдХрд╛рдВрдЪреНрдпрд╛ рдХрд▓реНрдкрдиреЗрдиреБрд╕рд╛рд░, рд╡рд┐рдХрд╕рдХрд╛рдиреЗ рдирд┐рдпрдо рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдХрдореАрддрдХрдореА рд╡реЗрд│ рдШрд╛рд▓рд╡рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ).

рд▓рд┐рдирдХреНрд╕, рдЗрд▓реНрдпреБрдореЛрд╕/рд╕реЛрд▓рд╛рд░рд┐рд╕, рдлреНрд░реАрдмреАрдПрд╕рдбреА, рдиреЗрдЯрдмреАрдПрд╕рдбреА, рдбреНрд░реЕрдЧрдирдлреНрд▓рд╛рдп рдмреАрдПрд╕рдбреА, рд╣рд╛рдпрдХреВ, рдореЕрдХрдУрдПрд╕ рдЖрдгрд┐ рд╡рд┐рдВрдбреЛрдЬрд╡рд░ рдЬреАрд╕реАрд╕реА, рдХреНрд▓реЕрдВрдЧ, рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ рдЖрдгрд┐ рдЗрддрд░ рдХрдВрдкрд╛рдпрд▓рд░ рд╡рд╛рдкрд░реВрди рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ. C, C++, Fortran, Java рдЖрдгрд┐ Rust рдпрд╛рд╕рд╣ рд╡рд┐рд╡рд┐рдз рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. рд╡рд╛рдвреАрд╡ рдмрд┐рд▓реНрдб рдореЛрдб рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдХреЗрд╡рд│ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдмрд┐рд▓реНрдбрдкрд╛рд╕реВрди рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдмрджрд▓рд╛рдВрд╢реА рдереЗрдЯ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдореЗрд╕рдирдЪрд╛ рд╡рд╛рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдмрд┐рд▓реНрдбреНрд╕ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ, рдЬреЗрдереЗ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдмрд┐рд▓реНрдб рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдореБрд│реЗ рдкреВрд░реНрдгрдкрдгреЗ рдПрдХрд╕рд╛рд░рдЦреЗ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рддрдпрд╛рд░ рд╣реЛрддрд╛рдд.

рдореЗрд╕рди рез.рез рдЪреЗ рдореБрдЦреНрдп рдирд╡рдХрд▓реНрдкрдирд╛:

  • рдПрдХ рдирд╡реАрди "рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕:" рд╡рд┐рддрд░реНрдХ declare_dependency() рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рдереЗрдЯ executables рд▓рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдЕрдВрддрд░реНрдЧрдд рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдореНрд╣рдгреВрди рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЬреНрдпрд╛рдВрдирд╛ link_who рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.
  • "meson devenv --dump" рдХрдорд╛рдВрдбрдордзреНрдпреЗ рд╕реНрдЯрдБрдбрд░реНрдб рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдорд╡рд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдлрд╛рдЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░реНрдпрд╛рдпреА рдХреНрд╖рдорддрд╛ рдЖрд╣реЗ.
  • Dependency() рдлрдВрдХреНрд╢рдирдордзреНрдпреЗ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдкрд╛рд╕ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рддрдпрд╛рд░реАрд╕рд╛рдареА рдХрдВрдбрд┐рд╢рди рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛