ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ΅Π» Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Meson Π΅ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ Π²ΠΈΡΠΎΠΊΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅, ΡΡΡΠ΅ΡΠ°Π½Π° Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈ Π»Π΅ΠΊΠΎΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. ΠΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° make, ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ°
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ°
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Webassembly, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Emscripten ΠΊΠ°ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ Illumos ΠΈ Solaris Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π² ΡΠ°Π±ΠΎΡΠ½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅;
- ΠΠ°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π±Π°Π·ΠΈΡΠ°Π½ΠΈΡΠ΅ Π½Π° gettext ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Ρ, Π°ΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½ΡΠΌΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ gettext (ΠΏΡΠ΅Π΄ΠΈ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π° i18n Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π±Π΅Π· gettext);
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄Π΅ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΡΡΠ°ΡΠΈΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠ½ΠΈΡΠΈ Π·Π° ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°. ΠΡΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° environment(), ΠΏΡΡΠ²ΠΈΡΡ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΠ½ΠΈΠΊ, Π² ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΡΠ° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°ΡΠ° ΠΊΠ»ΡΡ/ΡΡΠΎΠΉΠ½ΠΎΡΡ. Π’Π΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ΠΈ ΠΊΡΠΌ environment_object, ΡΡΠΊΠ°Ρ ΡΠ° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΡΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Π° set(). Π Π΅ΡΠ½ΠΈΡΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ "env";
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΡΠ½ΠΊΡΠΈΡ βruntarget alias_target(target_name, dep1, ...)β, ΠΊΠΎΡΡΠΎ ΡΡΠ·Π΄Π°Π²Π° Π½ΠΎΠ²Π° ΡΠ΅Π» Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΎΡ ΠΏΡΡΠ²ΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° Ρ ΠΈΠ·Π±ΡΠ°Π½ΠΈΡ Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ (Π½Π°ΠΏΡ. βninja target_nameβ). Π’Π°Π·ΠΈ ΡΠ΅Π» Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ° ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ;
- ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° PKG_CONFIG_SYSROOT_DIR ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΡΡΡΡΠΎΡΠ°Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, Π°ΠΊΠΎ ΠΈΠΌΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° sys_root Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° β[ΡΠ²ΠΎΠΉΡΡΠ²Π°]β;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ "--gdb-path" Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΡΡ Π΄ΠΎ GDB Π΄Π΅Π±ΡΠ³Π΅ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠΊΠ°Π·Π²Π° ΠΎΠΏΡΠΈΡΡΠ° "--gdb testname" Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° GDB Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ² ΡΠΊΡΠΈΠΏΡ;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π»ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° clang-tidy, Π·Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΡΠΎΠ·ΠΈ Π»ΠΈΠ½ΡΠ΅Ρ Ρ Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π¦Π΅Π»ΡΠ° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°, Π°ΠΊΠΎ clang-tidy Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ ΡΠ°ΠΉΠ»ΡΡ β.clang-tidyβ (ΠΈΠ»ΠΈ β_clang-tidyβ) Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ Π² ΠΊΠΎΡΠ΅Π½Π° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ('Π±Π»ΠΎΠΊΠΎΠ²Π΅') Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Clang
Blocks ; - ΠΠ·Π³Π»Π΅Π΄ΠΈΡΠ΅ Π½Π° Π»ΠΈΠ½ΠΊΠ΅ΡΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΡΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ ΠΈ Π»ΠΈΠ½ΠΊΠ΅ΡΠΈ;
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ all_dependencies() ΠΊΡΠΌ SourceSet ΠΎΠ±Π΅ΠΊΡΠΈ Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° all_sources();
- Π run_project_tests.py Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡΡΠ° β--onlyβ Π·Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ βpython run_project_tests.py βonly fortran python3β);
- Π€ΡΠ½ΠΊΡΠΈΡΡΠ° find_program() Π²Π΅ΡΠ΅ ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΡΡΡΠΈ ΡΠ°ΠΌΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° (Π²Π΅ΡΡΠΈΡΡΠ° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΠ΅Π· ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Ρ ΠΎΠΏΡΠΈΡΡΠ° β-versionβ);
- ΠΠ° Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, ΠΎΠΏΡΠΈΡΡΠ° vs_module_defs Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΡΠ° shared_module(), ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° shared_library();
- ΠΠΎΠ΄ΡΠ»ΡΡ kconfig Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° configure_file() Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄Π΅Π½ ΡΠ°ΠΉΠ»;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Ρ ΠΎΠ΄Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π½Π° βcommand:β ΠΊΡΠΌ configure_file();
- ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βdistβ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π°ΡΡ
ΠΈΠ² Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½Π° Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ ΠΎΡ ΠΏΡΡΠ²ΠΎ Π½ΠΈΠ²ΠΎ (ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π±Π΅ΡΠ΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ Π½ΠΈΠ½Π΄ΠΆΠ°). ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ "--formats" Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π°ΡΡ
ΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ (Π½Π°ΠΏΡ.
"meson dist -formats=xztar,zip").
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru