Zazzage tsarin ginin Meson 1.3

An buga sakin tsarin ginin Meson 1.3.0, wanda ake amfani da shi don gina ayyuka kamar X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME da GTK. An rubuta lambar Meson a cikin Python kuma tana da lasisi ƙarƙashin lasisin Apache 2.0.

Makullin ci gaba na Meson shine samar da tsari mai sauri da sauri tare da dacewa da sauƙi na amfani. Maimakon yin, ginin yana amfani da kayan aikin Ninja ta tsohuwa, amma ana iya amfani da sauran abubuwan baya kamar xcode da VisualStudio. Tsarin yana da ginannen mai sarrafa abin dogaro da yawa wanda ke ba ku damar amfani da Meson don gina fakiti don rarrabawa. An saita dokokin majalisa a cikin ƙayyadaddun harshe na musamman na yanki, ana iya karanta su da kyau kuma ana iya fahimtar su ga mai amfani (bisa ga ra'ayin marubucin, mai haɓakawa ya kamata ya ciyar da ɗan ƙaramin lokacin rubuta ƙa'idodin).

Haɗawa da ginawa akan Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS da Windows ta amfani da GCC, Clang, Studio Visual da sauran masu tarawa ana tallafawa. Yana yiwuwa a gina ayyuka a cikin harsunan shirye-shirye daban-daban, gami da C, C++, Fortran, Java da Tsatsa. Ana tallafawa yanayin haɓaka haɓaka, wanda kawai abubuwan da ke da alaƙa kai tsaye da canje-canjen da aka yi tun ana sake ginawa na ƙarshe. Ana iya amfani da Meson don samar da gine-gine mai maimaitawa, inda gudanar da ginin a wurare daban-daban yana haifar da aiwatar da gaba ɗaya.

Babban sabbin abubuwa na Meson 1.3:

  • An ƙara zaɓin "werror: gaskiya" zuwa hanyoyin duba masu tarawa compiler.compiles(), compiler.links() da compiler.run(), waɗanda ke ɗaukar gargaɗin mai tarawa a matsayin kurakurai (ana iya amfani da su don bincika cewa an gina lambar ba tare da gargaɗi ba. ).
  • An ƙara hanya has_define don bincika ma'anar alamar ta mai sarrafawa.
  • An ƙara siginar macro_name zuwa aikin configure_file (), yana ƙara kariya ta macro don haɗin haɗin kai biyu ta hanyar "#include" ("hada da masu gadi"), wanda aka tsara a cikin salon macros a cikin harshen C (sauƙaƙe ƙirƙirar fayilolin daidaitawa tare da tsauri. sunan macro).
  • An ƙara sabon tsarin fitarwa zuwa configure_file() - JSON ("output_format: json").
  • An ƙara ikon yin amfani da lissafin ƙimar zuwa sigogin c_std da cpp_std (misali, “default_options: 'c_std=gnu11,c11′').
  • A cikin kayayyaki masu amfani da CustomTarget don aiwatar da fayiloli, an ƙara ikon keɓance fitarwar saƙonni ta hanyar ninja mai amfani.
  • Gina_target "jar" an soke kuma ana ba da shawarar kiran "jar()" maimakon.
  • An ƙara ma'aunin 'env' zuwa hanyar janareta.process() don saita canjin yanayi ta inda janareta zai aiwatar da shigarwar.
  • Lokacin ƙayyadaddun sunaye masu niyya masu alaƙa da masu aiwatarwa, an ba da izini kamar "executable ('foo', 'main.c', name_suffix: 'bar')" don samar da ƙarin abubuwan aiwatarwa a cikin kundin adireshi ɗaya.
  • Ƙara ma'aunin "vs_module_defs" zuwa aikin aiwatarwa () don amfani da fayil ɗin def wanda ke bayyana jerin ayyukan da aka wuce zuwa shared_module().
  • Ƙara ma'aunin 'default_options' don neman_program() aiki don saita tsoffin zaɓuɓɓuka don aikin faɗuwa.
  • Ƙara hanyar fs.relative_to(), wanda ke mayar da hanyar dangi don hujja ta farko, dangane da ta biyu, idan hanyar farko ta kasance. Misali, "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')".
  • An ƙara ma'aunin_symlinks mai zuwa zuwa install_data(), install_headers() da kuma install_subdir() ayyuka; idan an saita, ana bin hanyoyin haɗin kai na alama.
  • An ƙara ma'aunin "cika" zuwa hanyar int.to_string() don ƙara cika kirtani tare da manyan sifilai. Misali, kiran saƙon (n.to_string (cika: 3)) don n=4 zai samar da kirtani "004".
  • An ƙara sabon maƙasudi, clang-tidy-fix, wanda ke ƙayyadad da gudanar da kayan aikin clang-tidy tare da tutar "-fix".
  • An ƙara ikon tantance suffix (TARGET_SUFFIX) na maƙasudin taron ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) cikin umarnin tarawa.
  • Ƙara canjin yanayi MESON_PACKAGE_CACHE_DIR don ƙetare hanyar zuwa cache ɗin fakiti (masu ayyuka/cache), misali, yana ba ku damar amfani da cache ɗin da aka raba a cikin ayyuka da yawa.
  • Ƙara umarnin "meson setup --clearcache" don share cache mai tsayi.
  • An ƙara goyan bayan kalmar “da ake buƙata” zuwa duk hanyoyin duba hanyoyin “has_*” mai tarawa, misali, maimakon “tabbaci(cc.has_function('wasu_aiki'))” yanzu zaku iya saka “cc.has_function('some_function') , bukata: gaskiya)”.
  • An ƙara sabon maɓalli, rust_abi, zuwa shared_library(), static_library(), library(), da shared_module() ayyuka, waɗanda yakamata a yi amfani da su maimakon rust_crate_type.

source: budenet.ru

Add a comment