Meson tsim qhov system tso tawm 1.1

Meson 1.1.0 tsim system tau raug tso tawm, uas yog siv los tsim cov haujlwm xws li X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME thiab GTK. Meson's code yog sau hauv Python thiab tau tso cai raws li Apache 2.0 daim ntawv tso cai.

Lub hom phiaj tseem ceeb ntawm Meson txoj kev loj hlob yog muab kev kub ceev ntawm cov txheej txheem sib dhos ua ke nrog kev yooj yim thiab yooj yim ntawm kev siv. Hloov chaw siv hluav taws xob, cov khoom siv Ninja siv los ntawm lub neej ntawd thaum lub tsev, tab sis lwm cov backends xws li xcode thiab VisualStudio kuj siv tau. Lub kaw lus muaj ib tug built-in multi-platform dependency handler uas tso cai rau koj siv Meson los tsim cov pob khoom rau kev faib khoom. Cov kev cai sib dhos tau teev nyob rau hauv cov lus yooj yooj yim-cov lus tshwj xeeb, nyeem tau yooj yim thiab nkag siab rau tus neeg siv (raws li tau npaj los ntawm cov kws sau ntawv, tus tsim tawm yuav tsum siv sijhawm tsawg kawg nkaus sau cov cai).

Txhawb kev sib sau ua ke thiab tsim ntawm Linux, Illumos / Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS thiab Windows siv GCC, Clang, Visual Studio thiab lwm yam compilers. Nws tuaj yeem tsim cov haujlwm hauv ntau hom lus programming, suav nrog C, C ++, Fortran, Java thiab Rust. Incremental build mode yog txaus siab, nyob rau hauv uas tsuas yog cov khoom ncaj qha ntsig txog cov kev hloov pauv tau ua txij li thaum kawg tsim tau rov tsim dua. Meson tuaj yeem siv los tsim cov kev tsim rov ua dua tshiab, uas ua haujlwm ntawm kev tsim hauv qhov chaw sib txawv ua rau muaj cov ntaub ntawv zoo tib yam nkaus.

Kev tsim kho tseem ceeb ntawm Meson 1.1:

  • Ib qho tshiab "objects:" kev sib cav tau ntxiv rau declare_dependency() txhawm rau txuas cov khoom ncaj qha mus rau kev ua tiav hauv daim ntawv ntawm kev nyob sab hauv uas tsis tas yuav siv qhov link_who.
  • Cov lus txib "meson devenv -dump" tam sim no muaj kev xaiv ntawm kev qhia ib cov ntaub ntawv los sau ib puag ncig hloov pauv hloov pauv mus rau kev luam tawm rau cov qauv tsim tawm.
  • Ntxiv FeatureOption.enable_if thiab FeatureOption.disable_if txoj hauv kev kom nws yooj yim dua los tsim cov xwm txheej hauv kev npaj rau kev hla tsis dhau mus rau qhov kev vam khom () muaj nuj nqi. opt = get_option('feature').disable_if(not foo, error_message: 'Tsis tau enable feature thaum foo tseem tsis tau enabled') dep = dependency('foo', yuav tsum tau : opt)
  • Dhau cov khoom tsim tawm raws li kev sib cav rau "cov khoom:" raug tso cai.
  • Txoj haujlwm tam sim no txhawb kev txhim kho cov ntaub ntawv nrog cov ntaub ntawv hais txog cov ntawv tso cai ua haujlwm.
  • Khiav "sudo meson nruab" ua kom ntseeg tau tias cov cai tau pib dua thaum lub sijhawm rov tsim kho rau lub hom phiaj platform.
  • Cov lus txib "meson install" muab lub peev xwm los qhia cov neeg ua haujlwm cais kom tau txais cov cai hauv paus (piv txwv li, koj tuaj yeem xaiv polkit, sudo, opendoas lossis $ MESON_ROOT_CMD). Khiav "meson nruab" hauv hom tsis sib tham tsis tau sim ua kom muaj cai nce ntxiv.
  • Ntxiv kev txhawb nqa rau kev nyeem ntawv xaiv los ntawm cov ntaub ntawv meson.options es tsis txhob meson_options.txt.
  • Redirection ntawm cov ntaub ntawv hais txog kev nce qib ntawm introspection rau stderr yog muab.
  • Ntxiv ib qho tshiab "tsis muaj" backend (--backend = tsis muaj) los tsim cov haujlwm uas tsuas muaj kev teeb tsa thiab tsis muaj cov cai tsim.
  • Ntxiv qhov kev vam khom tshiab pybind11, tso cai rau kev vam khom ('pybind11') ua haujlwm nrog pkg-config thiab cmake yam tsis siv cov ntawv pybind11-config.
  • Cov kev xaiv "--reconfigure" thiab "--wipe" raug tso cai (meson teeb --reconfigure builddir thiab meson teeb --wipe builddir) nrog ib tug khoob builddir.
  • Ntxiv kev txhawb nqa rau dry_run lo lus tseem ceeb rau meson.add_install_script() kom tso cai khiav ntawm koj tus kheej cov ntawv sau thaum hu rau "meson install --dry-run".

Tau qhov twg los: opennet.ru

Ntxiv ib saib