Meson build system release 1.0

Navoaka ny famoahana ny rafitra fananganana Meson 1.0.0, izay ampiasaina hananganana tetikasa toy ny X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ary GTK. Ny kaody Meson dia nosoratana tamin'ny Python ary nahazo alalana teo ambanin'ny lisansa Apache 2.0.

Ny tanjona lehibe amin'ny fampandrosoana an'i Meson dia ny hanomezana fizotry ny fivoriambe haingana miaraka amin'ny fanamorana sy ny fampiasana mora. Raha tokony hatao, ny fananganana dia mampiasa ny fitaovana Ninja amin'ny alΓ lan'ny default, fa ny backend hafa toa ny xcode sy VisualStudio dia azo ampiasaina ihany koa. Ny rafitra dia manana mpandrindra miankina amin'ny sehatra marobe izay ahafahanao mampiasa Meson hanamboarana fonosana ho an'ny fizarana. Ny fitsipiky ny fivoriambe dia apetraka amin'ny fiteny voafaritra manokana amin'ny sehatra notsorina, azo vakiana tsara sy azon'ny mpampiasa izy ireo (araka ny hevitr'ireo mpanoratra, ny mpamorona dia tokony handany fotoana kely indrindra hanoratana fitsipika).

Manohana ny fanangonana sy fananganana amin'ny Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ary Windows mampiasa GCC, Clang, Visual Studio ary ireo compiler hafa. Azo atao ny manangana tetikasa amin'ny fiteny fandaharana isan-karazany, ao anatin'izany ny C, C++, Fortran, Java ary Rust. Fomba fanamboarana incremental no tohana, izay singa mifandray mivantana amin'ny fanovana natao hatramin'ny fanorenana farany ihany no amboarina. Meson dia azo ampiasaina hamoronana fananganana azo averina, izay ny fampandehanana ny fananganana amin'ny tontolo samihafa dia miteraka executable mitovy tanteraka.

Ny fanavaozana lehibe an'ny Meson 1.0:

  • ОбъявлСн ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° языкС Rust. Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Mesa для сборки ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², написанных Π½Π° Rust.
  • Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ prefix, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ компилятора, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ массивов ΠΏΠΎΠΌΠΈΠΌΠΎ строк. НапримСр, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ: cc.check_header(β€˜GL/wglew.h’, prefix : [β€˜#include <windows.h>’, β€˜#include <GL/glew.h>’])
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Β«β€”workdirΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. НапримСр, для использования Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° вмСсто Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ: meson devenv -C builddir β€”workdir .
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Β«inΒ» ΠΈ Β«not inΒ» для опрСдСлСния вхоТдСния Π² строку подстроки ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ€Π°Π½Π΅Π΅ доступной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ вхоТдСния элСмСнта Π² массив ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ. НапримСр: fs = import(β€˜fs’) if β€˜something’ in fs.read(β€˜somefile’) # True endif
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«warning-level=everythingΒ», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ Π²Ρ‹Π²ΠΎΠ΄ всСх ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ компилятора (Π² clang ΠΈ MSVC ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ -Weverything ΠΈ /Wall, Π° Π² GCC Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ прСдупрСТдСния, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΡƒ -Weverything Π²clang).
  • Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ rust.bindgen Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Β«dependenciesΒ» для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΡƒΡ‚Π΅ΠΉ ΠΊ зависимостям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ компилятором.
  • ОбъявлСна ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ функция java.generate_native_headers, которая ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² java.native_headers для соотвСтствия ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΡΡ‚ΠΈΠ»ΡŽ наимСнования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, принятому Π² Meson.

Source: opennet.ru

Add a comment