Meson wuo usoro mwepụta 1.3

Ebipụtala ntọhapụ nke Meson 1.3.0 wuo usoro, nke a na-eji arụ ọrụ dịka X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME na GTK. Edere koodu Meson na Python ma nwee ikike n'okpuru ikike Apache 2.0.

Ebumnuche mmepe nke Meson bụ ịnye usoro mgbakọ dị elu jikọtara ọnụ na ịdị mma na ịdị mfe iji. Kama ime ya, ihe owuwu ahụ na-eji ngwa Ninja na ndabara, mana enwere ike ijikwa azụ azụ ndị ọzọ dị ka xcode na VisualStudio. Sistemu ahụ nwere onye na-ahụ maka ịdabere n'ọtụtụ ebe arụnyere na-enye gị ohere iji Meson wuo ngwugwu maka nkesa. A na-edobe iwu mgbakọ n'asụsụ dị mfe ngalaba-kpọmkwem, a na-agụ ha nke ọma ma nwee nghọta nye onye ọrụ (dị ka echiche nke ndị edemede si dị, onye mmepụta kwesịrị iji obere oge na-ede iwu).

A na-akwado ịchịkọta obe na iwulite na Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS na Windows site na iji GCC, Clang, Visual Studio na ndị nchịkọta ndị ọzọ. Enwere ike ịrụ ọrụ n'asụsụ mmemme dị iche iche, gụnyere C, C++, Fortran, Java na Rust. A na-akwado ụdị nrụpụta ihe nrịbawanye, nke naanị akụkụ ndị metụtara mgbanwe ndị emere kemgbe ụlọ ikpeazụ ka arụgharịrị. Enwere ike iji Meson mepụta ihe nrụpụta a na-emegharị ugboro ugboro, ebe ị na-arụ ụlọ na gburugburu ebe dị iche iche na-arụpụta ihe arụrụ arụ kpamkpam.

Isi ihe ohuru nke Meson 1.3:

  • Agbakwunyere nhọrọ “werror: eziokwu” na usoro nyocha nke mkpokọta compiler.compiles(), compiler.links () na compiler.run(), nke na-ewere ịdọ aka ná ntị ndị nchịkọta dị ka njehie (enwere ike iji lelee na arụnyere koodu ahụ n'enweghị ịdọ aka ná ntị). ).
  • Agbakwunyere has_define iji lelee nkọwapụta akara site na preprocessor.
  • Agbakwunyela oke macro_name na ọrụ configure_file (), na-agbakwunye nchebe macro maka njikọ abụọ site na "#include" ("gụnyere ndị nche"), nke emebere n'ụdị macros n'asụsụ C (na-eme ka mmepụta nke nhazi faịlụ dị ike). aha nnukwu).
  • Agbakwunyela usoro mmepụta ọhụrụ na configure_file() - JSON ("output_format: json").
  • Agbakwunyere ike iji ndepụta nke ụkpụrụ na c_std na cpp_std parameters (dịka ọmụmaatụ, "default_options: 'c_std=gnu11,c11′').
  • N'ime modul ndị na-eji CustomTarget hazie faịlụ, agbakwunyela ikike ịhazi ozi sitere na ngwa ninja.
  • Akwụsịla "jar" build_target ma a na-atụ aro oku "jar()" kama.
  • Agbakwunyela paramita 'env' na usoro generator.process() iji tọọ mgbanwe gburugburu ebe igwe na-emepụta ihe ga-esi na ya hazie ntinye.
  • Mgbe a na-akọwapụta aha ebumnuche wulitere metụtara executables, a na-ahapụ suffixes dị ka "executable('foo', 'main.c', name_suffix: 'bar')" ka ọ wepụta ndị ọzọ executables n'otu akwụkwọ ndekọ aha.
  • Agbakwunyere paramita "vs_module_defs" na ọrụ arụ ọrụ () iji faịlụ def na-akọwa ndepụta nke ọrụ gafere na shared_module().
  • Agbakwunyere paramita 'default_options' iji chọta_program() ọrụ iji tọọ nhọrọ ndabara maka subproject fallback.
  • Agbakwunyere fs.relative_to() usoro, nke na-eweghachite ụzọ ikwu maka arụmụka mbụ, n'akụkụ nke abụọ, ma ọ bụrụ na ụzọ mbụ dị. Dịka ọmụmaatụ, "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')".
  • Agbakwunyela paramita ndị a_symlinks na install_data(), install_headers() na install_subdir() ọrụ; mgbe edobere, njikọ ihe atụ na-eso.
  • Agbakwunyela oke “mejupụta” na usoro int.to_string() iji mejupụta eriri ahụ na efu efu. Dịka ọmụmaatụ, ịkpọ ozi (n.to_string(dejupụta: 3)) maka n=4 ga-ewepụta eriri "004".
  • Agbakwunyere ebumnuche ọhụrụ, clang-tidy-fix, nke na-akọwapụta iji ọkọlọtọ "-fix" na-arụ ọrụ ihe eji arụ ụlọ.
  • Agbakwunyela ikike ịkọwa suffix (TARGET_SUFFIX) nke ebumnuche mgbakọ ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) na iwu mkpokọta.
  • Mgbanwe gburugburu ebe obibi agbakwunyere MESON_PACKAGE_CACHE_DIR iji mebie ụzọ nke cache ngwugwu (ọrụ okpuru ọchịchị/packagecache), dịka ọmụmaatụ, na-enye gị ohere iji cache nkekọrịta n'ọtụtụ ọrụ.
  • agbakwunyere iwu "meson setup --clearcache" iji kpochapụ cache na-adịgide adịgide.
  • Agbakwunyela nkwado maka mkpụrụokwu “chọrọ” na ụzọ nlele “has_*” niile, dịka ọmụmaatụ, kama ikwupụta (cc.has_function('some_function'))” ị nwere ike ugbu a ezipụta “cc.has_function('some_function') , achọrọ: eziokwu)”.
  • Agbakwunyela mkpụrụokwu ọhụrụ, rust_abi, na shared_library(), static_library(), ọba akwụkwọ(), na shared_module() ọrụ, nke ekwesịrị iji kama ịbụ rust_crate_type mebiri emebi.

isi: opennet.ru

Tinye a comment