Tso tawm ntawm Meson 0.58 los ua ke system. Qhov project los tsim kev siv Meson hauv C lus

Meson 0.58 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 0.58:

  • Meson muaj kev ua haujlwm hauv txoj hlua ua haujlwm. Hloov chaw ntawm kev hu rau hom qauv, tam sim no koj tuaj yeem hloov qhov tseem ceeb ncaj qha, piv txwv li, tsis yog "'Ib txoj hlua @ 0@ kom formatted @ 1@'.format(n, m)" koj tuaj yeem qhia tam sim "f' Ib txoj hlua @n@ kom formatted @ m@'".
  • Ib txoj kev "hloov" tau ntxiv rau cov khoom siv los ua haujlwm ntawm kev hloov ib qho substring nrog lwm tus, piv txwv li, "s = s.replace('aaa', 'bbb')".
  • Ntxiv "ntaus (pib, nres [, kauj ruam])" muaj nuj nqi xa rov qab ib yam khoom uas tuaj yeem siv rau hauv lub voj voog, xws li "foreach i : range(15)".
  • Txoj kev meson.add_devenv() tau raug siv, tso cai rau koj ntxiv ib puag ncig () khoom los teeb tsa ib puag ncig hloov pauv thaum siv "meson devenv" hais kom ua, piv txwv li, teeb tsa ib puag ncig hloov pauv nrog txoj hauv kev mus rau plugins directory.
  • Rau kev txhim kho ib puag ncig, cov lus txib tshiab tau raug thov: "meson devenv -C builddir [<command>], uas ua rau nws muaj peev xwm khiav cov lus txib hauv ib puag ncig uas tau teeb tsa los tsim cov haujlwm los ntawm cov npe tsim (tsis muaj kev teeb tsa).
  • Los ntawm lub neej ntawd, qhov kev xaiv "-pipe" raug tso tseg thaum khiav tag nrho cov compilers txhawb nqa.
  • Hu rau meson.add_dist_script() los ntawm subprojects raug tso cai.
  • Muab lub peev xwm los khiav lub append() thiab prepend() txoj kev ntau zaus ntawm tib ib puag ncig() khoom.
  • Qhov yuam kev() muaj nuj nqi tso cai ntau tshaj ib qho kev sib cav, sib cais los ntawm qhov chaw (zoo ib yam li ceeb toom() thiab lus()).
  • Ntxiv "--skip-subprojects" kev xaiv los xaiv hla kev teeb tsa ntawm cov phiaj xwm me me.

Cais, peb tuaj yeem nco txog Boson qhov project, tsom rau kev tsim kom muaj kev txav tau yooj yim thiab siv tau yooj yim ntawm Meson cov lus sau ua ke, sau hauv C tsis yog Python. Qhov project tseem nyob rau theem pib ntawm kev txhim kho thiab tseem tsis tau npaj txhij rau kev sib sau ua ke ntawm cov haujlwm ua haujlwm. Cov cai tau tso cai raws li GPLv3 (tus thawj Python Meson tau tso cai raws li Apache 2.0 daim ntawv tso cai).

Tau qhov twg los: opennet.ru

Ntxiv ib saib