Meson tsim qhov system tso tawm 0.52

luam tawm tsim qhov system tso tawm 0.52 Nws, uas yog siv los tsim cov haujlwm xws li X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME thiab GTK+. Meson code sau hauv Python thiab nkag rau hauv muaj ntawv tso cai nyob rau hauv Apache 2.0.

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, lub neej ntawd tsim siv cov cuab yeej siv Ninja, tab sis nws kuj tseem tuaj yeem siv lwm cov backends, xws li xcode thiab VisualStudio. 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 nqa cross-compile 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 kev tsim rov ua dua tshiab, uas ua haujlwm ntawm kev tsim hauv ntau qhov chaw ua rau muaj cov ntaub ntawv zoo tib yam nkaus.

ntsiab kev tsim kho tshiab Qhov hnyav 0.52:

  • Ntxiv kev sim txhawb rau Webassembly siv Emscripten ua tus sau;
  • Kev them nyiaj yug rau Illumos thiab Solaris platforms tau txhim kho thiab coj mus rau kev ua haujlwm;
  • Xyuas kom meej tias gettext-based internationalization scripts raug tsis quav ntsej yog tias lub kaw lus tsis muaj cov cuab yeej gettext ntsia (yav dhau los, qhov yuam kev tau tshwm sim thaum siv i18n module ntawm cov tshuab tsis muaj gettext);
  • Txhim kho kev txhawb nqa rau cov tsev qiv ntawv zoo li qub. Ntau yam teeb meem thaum siv uninstalled zoo li qub qiv tau raug daws;
  • Ntxiv lub peev xwm los siv phau ntawv txhais lus los muab cov kev hloov pauv ib puag ncig. Thaum hu rau ib puag ncig (), thawj lub ntsiab lus tam sim no tau teev tseg raws li phau ntawv txhais lus uas ib puag ncig hloov pauv tau txhais hauv daim ntawv tseem ceeb / tus nqi. Cov kev hloov pauv no yuav raug xa mus rau ib puag ncig_object zoo li lawv tau teeb tsa tus kheej ntawm tus txheej txheem set() . Tam sim no cov phau ntawv txhais lus tseem tuaj yeem dhau mus rau ntau yam haujlwm uas txhawb nqa qhov kev sib cav "env";
  • Ntxiv muaj nuj nqi "runtarget alias_target(target_name, dep1, ...)" uas tsim ib lub hom phiaj tshiab thawj-theem uas tuaj yeem hu nrog cov xaiv tsim backend (xws li "ninja target_name"). Lub hom phiaj tsim no tsis khiav ib qho lus txib, tab sis xyuas kom meej tias txhua qhov kev vam khom tau tsim;
  • Enabled tsis siv neeg teeb tsa ntawm PKG_CONFIG_SYSROOT_DIR ib puag ncig hloov pauv tau thaum lub sijhawm sib sau ua ke yog tias muaj qhov teeb tsa sys_root hauv ntu β€œ[properties]”;
  • Ntxiv "--gdb-path" kev xaiv los txiav txim txoj hauv kev rau GDB debugger thaum qhia qhov "--gdb testname" kev xaiv los khiav GDB nrog cov ntawv xeem sau tseg;
  • Ntxiv qhov tsis siv neeg tshawb pom ntawm clang-tidy tsim lub hom phiaj los khiav lub linter no nrog txhua qhov chaw cov ntaub ntawv. Lub hom phiaj yog tsim yog tias clang-tidy muaj nyob rau hauv lub kaw lus thiab cov ntaub ntawv ".clang-tidy" (lossis "_clang-tidy") tau txhais hauv qhov project hauv paus;
  • Ntxiv kev cia siab ('blocks') siv rau hauv Clang txuas ntxiv blocks;
  • Cov linker thiab compiler views yog sib cais, tso cai rau sib txawv ua ke ntawm compilers thiab linkers siv;
  • Ntxiv all_dependencies() method rau SourceSet objects ntxiv rau all_sources() method;
  • Hauv run_project_tests.py, qhov "--tsuas" kev xaiv tau ntxiv rau kev xaiv ua haujlwm (piv txwv li, "python run_project_tests.py -tsuas yog fortran python3");
  • Lub find_program() muaj nuj nqi tam sim no muaj peev xwm los tshawb nrhiav tsuas yog xav tau versions ntawm ib qho kev pab cuam (tus version yog txiav txim los ntawm kev khiav qhov kev pab cuam nrog "-version" kev xaiv);
  • Txhawm rau tswj cov khoom xa tawm ntawm cov cim, qhov kev xaiv vs_module_defs tau ntxiv rau qhov kev sib koom_module() muaj nuj nqi, zoo ib yam li shared_library();
  • kconfig module tau nthuav dav los txhawb configure_file() rau kev qhia cov ntaub ntawv nkag;
  • Ntxiv lub peev xwm los qhia ntau yam ntaub ntawv nkag rau "command:" handlers rau configure_file();
  • Cov lus txib "dist" rau kev tsim ib qho archive tau tsiv mus rau qeb ntawm thawj qib lus txib (yav dhau los cov lus txib raug khi rau ninja). Ntxiv "--formats" kev xaiv los txhais cov hom archives los tsim (piv txwv li,
    "meson dist -formats=xztar,zip").

Tau qhov twg los: opennet.ru

Ntxiv ib saib