Meson tsim qhov system tso tawm 1.0

Meson 1.0.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.0:

  • Ib qho qauv rau kev tsim cov haujlwm hauv cov lus Rust tau raug tshaj tawm tias ruaj khov. Cov qauv no yog siv rau hauv Mesa qhov project los tsim cov khoom sau hauv Rust.
  • Qhov kev xaiv ua ntej, txhawb nqa hauv feem ntau cov ntawv txheeb xyuas cov haujlwm, muab lub peev xwm los lis cov arrays ntxiv rau cov hlua. Piv txwv li, tam sim no koj tuaj yeem qhia meej: cc.check_header('GL/wglew.h', prefix : ['#include ', '#nrog '])
  • Ntxiv cov lus sib cav tshiab "--workdir" tso cai rau overriding cov ntaub ntawv ua haujlwm. Piv txwv li, siv daim ntawv teev npe tam sim no hloov chaw ua haujlwm, koj tuaj yeem khiav: meson devenv -C builddir --workdir .
  • Cov neeg ua haujlwm tshiab "hauv" thiab "tsis nyob hauv" tau raug npaj los txiav txim qhov tshwm sim ntawm ib qho substring hauv ib txoj hlua, zoo ib yam li yav tas los muaj kos rau qhov tshwm sim ntawm cov khoom hauv ib qho array lossis phau ntawv txhais lus. Piv txwv li: fs = import('fs') yog 'ib yam dab tsi' hauv fs.read('somefile') # Muaj tseeb endif
  • Ntxiv qhov "kev ceeb toom-theem = txhua yam" kev xaiv, uas tig rau ntawm qhov tso tawm ntawm tag nrho cov lus ceeb toom muaj nyob rau hauv (hauv clang thiab MSVC nws siv -Weverything thiab / Phab ntsa, thiab hauv GCC cov lus ceeb toom suav nrog cais, kwv yees li sib xws rau -Weverything hom hauv clang).
  • Txoj kev rust.bindgen siv lub peev xwm los daws qhov "dependencies" sib cav kom dhau txoj hauv kev mus rau kev vam khom uas yuav tsum tau ua tiav los ntawm lub compiler.
  • Lub java.generate_native_headers muaj nuj nqi tau deprecated thiab renamed rau java.native_headers kom ua raws li Meson txoj haujlwm naming style.

Tau qhov twg los: opennet.ru

Ntxiv ib saib