Meson build system version 1.1

Yo pibliye lage sistèm konstriksyon Meson 1.1.0, ki itilize pou konstwi pwojè tankou X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ak GTK. Kòd Meson ekri nan Python epi li gen lisans anba Apache 2.0 lisans.

Objektif devlopman kle nan Meson se bay yon pwosesis asanble gwo vitès konbine avèk konvenyans ak fasilite nan itilize. Olye pou yo fè, bati a sèvi ak zouti Ninja pa default, men lòt backends tankou xcode ak VisualStudio ka itilize tou. Sistèm nan gen yon gestionnaire depandans milti-platfòm entegre ki pèmèt ou sèvi ak Meson pou konstwi pakè pou distribisyon. Règ asanble yo mete nan yon lang senplifye espesifik domèn, yo byen lizib ak konprann itilizatè a (dapre lide otè yo, pwomotè a ta dwe pase yon minimòm de tan ekri règ).

Konpile kwa ak bati sou Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ak Windows lè l sèvi avèk GCC, Clang, Visual Studio ak lòt konpilateur yo sipòte. Li posib pou konstwi pwojè nan divès langaj pwogramasyon, tankou C, C++, Fortran, Java ak Rust. Yon mòd bati incrémentielle sipòte, nan ki se sèlman eleman ki gen rapò dirèkteman ak chanjman ki fèt depi dènye bati a yo rebati. Meson ka itilize pou jenere batiman repete, kote kouri bati nan diferan anviwònman rezilta nan ègzèkutabl konplètman idantik.

Prensipal inovasyon nan Meson 1.1:

  • Yo te ajoute yon nouvo agiman "objè:" nan declare_dependency() pou tache objè dirèkteman nan ègzèkutabl kòm depandans entèn ki pa mande pou link_who.
  • Kòmand "meson devenv --dump" la gen kapasite si ou vle presize yon dosye pou ekri varyab anviwònman an, olye pou yo soti nan kouran pwodiksyon estanda a.
  • Te ajoute metòd FeatureOption.enable_if ak FeatureOption.disable_if pou fè li pi fasil pou kreye kondisyonèl nan preparasyon pou pase paramèt nan fonksyon depandans(). opt = get_option('feature').disable_if(pa foo, error_message : 'Pa kapab aktive karakteristik lè foo pa aktive tou') dep = dependency('foo', obligatwa : opt)
  • Li pèmèt yo pase objè pwodwi nan mitan "objè:" agiman yo.
  • Fonksyon pwojè a sipòte enstalasyon dosye ki gen enfòmasyon sou lisans pwojè yo.
  • Egzekite "sudo meson install" asire privilèj reset pandan rekonstriksyon pou platfòm sib yo.
  • Kòmand "meson enstale" bay kapasite pou presize yon moun kap okipe separe pou jwenn otorizasyon rasin (pa egzanp, ou ka chwazi polkit, sudo, opendoas oswa $MESON_ROOT_CMD). Kouri "meson enstale" nan mòd ki pa entèaktif pa eseye elve privilèj ankò.
  • Te ajoute sipò pou opsyon lekti nan fichye meson.options olye de meson_options.txt.
  • Bay redireksyon nan stderr nan pwodiksyon an nan enfòmasyon sou pwogrè a nan entwospeksyon.
  • Yon nouvo backend "none" (--backend=none) te ajoute pou kreye pwojè ki gen sèlman règ enstale epi ki pa gen règ bati.
  • Yon nouvo depandans pybind11 te ajoute pou fè dependency('pybind11') travay ak pkg-config ak cmake san yo pa itilize script pybind11-config.
  • Opsyon "--reconfigure" ak "--wipe" yo (meson setup --reconfigure builddir ak meson setup --wipe builddir ) yo gen dwa ak yon builddir vid.
  • meson.add_install_script() te ajoute sipò pou mo kle dry_run, ki pèmèt ou kouri pwòp script enstalasyon w lè w ap rele "meson install --dry-run".

Sous: opennet.ru

Add nouvo kòmantè