Rhyddhau system adeiladu Meson 1.1

Mae rhyddhau system adeiladu Meson 1.1.0 wedi'i gyhoeddi, a ddefnyddir i adeiladu prosiectau fel X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME a GTK. Mae'r cod Meson wedi'i ysgrifennu yn Python ac mae wedi'i drwyddedu o dan drwydded Apache 2.0.

Nod datblygu allweddol Meson yw darparu proses gydosod cyflymder uchel ynghyd Γ’ chyfleustra a rhwyddineb defnydd. Yn lle gwneud, mae'r adeilad yn defnyddio pecyn cymorth Ninja yn ddiofyn, ond gellir defnyddio backends eraill fel xcode a VisualStudio hefyd. Mae gan y system driniwr dibyniaeth aml-lwyfan adeiledig sy'n eich galluogi i ddefnyddio Meson i adeiladu pecynnau ar gyfer dosbarthiadau. Mae rheolau'r Cynulliad wedi'u gosod mewn iaith parth-benodol wedi'i symleiddio, maent yn ddarllenadwy ac yn ddealladwy i'r defnyddiwr (yn Γ΄l syniad yr awduron, dylai'r datblygwr dreulio lleiafswm o amser yn ysgrifennu rheolau).

Cefnogir traws-grynhoi ac adeiladu ar Linux, Illumos / Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS a Windows gan ddefnyddio GCC, Clang, Visual Studio a chasglwyr eraill. Mae'n bosibl adeiladu prosiectau mewn ieithoedd rhaglennu amrywiol, gan gynnwys C, C++, Fortran, Java a Rust. Cefnogir modd adeiladu cynyddrannol, lle dim ond cydrannau sy'n uniongyrchol gysylltiedig Γ’ newidiadau a wnaed ers yr adeiladu diwethaf sy'n cael eu hailadeiladu. Gellir defnyddio Meson i gynhyrchu adeiladau y gellir eu hailadrodd, lle mae rhedeg yr adeilad mewn gwahanol amgylcheddau yn arwain at gynhyrchu gweithredadwy hollol union yr un fath.

Prif arloesiadau Meson 1.1:

  • Mae dadl "objects:" newydd wedi'i hychwanegu i ddatgan_dependency() i atodi gwrthrychau yn uniongyrchol i weithrediadau fel dibyniaethau mewnol nad oes angen link_who arnynt.
  • Mae gan y gorchymyn "meson devenv --dump" y gallu dewisol i nodi ffeil i ysgrifennu newidynnau amgylchedd iddi, yn lle allbynnu i'r ffrwd allbwn safonol.
  • Ychwanegwyd y dulliau FeatureOption.enable_if a FeatureOption.disable_if i'w gwneud hi'n haws creu amodau wrth baratoi ar gyfer trosglwyddo paramedrau i'r swyddogaeth dibyniaeth(). opt = get_option('feature').disable_if(not foo, error_message : 'Methu galluogi nodwedd pan nad yw foo wedi'i alluogi hefyd') dep = dibyniaeth ('foo', gofynnol : optio)
  • Caniateir iddo drosglwyddo gwrthrychau a gynhyrchir ymhlith y dadleuon "gwrthrychau:".
  • Mae swyddogaeth y prosiect yn cefnogi gosod ffeiliau gyda gwybodaeth am drwyddedau prosiect.
  • Mae gweithredu "gosod meson sudo" yn sicrhau ailosod braint yn ystod ailadeiladu ar gyfer llwyfannau targed.
  • Mae'r gorchymyn "gosod meson" yn darparu'r gallu i nodi triniwr ar wahΓ’n ar gyfer cael caniatΓ’d gwraidd (er enghraifft, gallwch ddewis polkit, sudo, opendoas neu $MESON_ROOT_CMD). Nid yw rhedeg "meson install" yn y modd nad yw'n rhyngweithiol bellach yn ceisio dyrchafu breintiau.
  • Ychwanegwyd cefnogaeth ar gyfer opsiynau darllen o'r ffeil meson.options yn lle meson_options.txt.
  • Wedi darparu ailgyfeirio i stderr allbwn gwybodaeth am gynnydd mewnsylliad.
  • Mae backend newydd "dim" (--backend=dim) wedi'i ychwanegu i greu prosiectau sydd Γ’ rheolau gosod yn unig a dim rheolau adeiladu.
  • Mae pybind11 dibyniaeth newydd wedi'i ychwanegu i wneud i ddibyniaeth ('pybind11') weithio gyda pkg-config a cmake heb ddefnyddio'r sgript pybind11-config.
  • Caniateir yr opsiynau "--reconfigure" a "--wipe" (gosod meson --reconfigure builddir a meson setup --wipe builddir ) gyda builddir gwag.
  • Ychwanegodd meson.add_install_script() gefnogaeth ar gyfer yr allweddair dry_run, sy'n eich galluogi i redeg eich sgriptiau gosod eich hun wrth alw "meson install --dry-run".

Ffynhonnell: opennet.ru

Ychwanegu sylw