Meson tsim qhov system tso tawm 0.51

luam tawm tsim qhov system tso tawm 0.51 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).

Kev sib sau ua ke thiab tsim ntawm Linux, macOS thiab Windows siv GCC, Clang, Visual Studio thiab lwm cov compilers tau txais kev txhawb nqa. 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.

ntsiab kev tsim kho tshiab Qhov hnyav 0.51:

  • Ntxiv kev txhawb nqa rau lub tsev pob tshab ntawm cov haujlwm uas twb muaj lawm uas siv CMake tsim cov ntawv sau. Tam sim no Meson tuaj yeem tsim cov phiaj xwm yooj yooj yim (xws li ib lub tsev qiv ntawv) siv CMake module, zoo ib yam li cov txheej txheem subprojects (xws li CMake subprojects tuaj yeem muab tso rau hauv subprojects directory);
  • Rau tag nrho cov compilers siv, kev sim ua ntej yog suav nrog los ntawm kev sib dhos thiab ua tiav cov ntaub ntawv sim yooj yim (kev kuaj xyuas kom huv), tsis txwv rau kev sim cov neeg siv cov cim tshwj xeeb rau cov neeg sib sau ua ke (los ntawm tam sim no mus, cov neeg sau ntawv ib txwm nyob rau lub platform tam sim no kuj raug kuaj xyuas) .
  • Ntxiv qhov muaj peev xwm los txhais cov kab lus hais kom siv thaum lub sij hawm sib sau ua ke, nrog kev sib khi los ntawm kev qhia lub platform prefix ua ntej qhov kev xaiv. Yav dhau los, cov kev xaiv kab hais kom ua tsuas yog them rau cov neeg tsim thiab tsis tuaj yeem teev rau kev sib sau ua ke. Cov kev xaiv kab hais kom ua tam sim no siv txawm hais tias koj tab tom tsim ib txwm nyob lossis kev sib sau ua ke, ua kom ntseeg tau tias haiv neeg thiab tus ntoo khaub lig tsim cov txiaj ntsig zoo ib yam;
  • Ntxiv lub peev xwm los qhia qhov "--cross-file" chij ntau dua ib zaug ntawm kab hais kom sau ntau cov ntaub ntawv hla;
  • Ntxiv kev txhawb nqa rau ICL compiler (Intel C / C ++ Compiler) rau lub Windows platform (ICL.EXE thiab ifort);
  • Ntxiv cov cuab yeej pib txhawb rau CPU Xtensa (xt-xcc, xt-xc ++, xt-nm);
  • Txoj kev "get_variable" tau ntxiv rau "kev vam khom" cov khoom, uas tso cai rau koj kom tau txais tus nqi ntawm qhov sib txawv yam tsis suav nrog hom kev vam khom tam sim no (piv txwv li, dep.get_variable(pkg-config : 'var- npe', cmake : 'COP_VAR_NAME));
  • Ntxiv lub hom phiaj tshiab kev xaiv kev sib cav, "link_language", kom qhia meej meej cov lus siv thaum hu rau tus linker. Piv txwv li, ib qho kev pab cuam Fortran tseem ceeb tuaj yeem hu rau C / C ++ code, uas yuav cia li xaiv C / C ++ thaum Fortran txuas yuav tsum tau siv;
  • Kev tuav ntawm CPPFLAGS preprocessor chij tau hloov lawm. Whereas Meson yav tas los khaws CPPFLAGS thiab hom lus tshwj xeeb tso ua ke chij (CFLAGS, CXXFLAGS) cais, tam sim no lawv tau ua tiav inseparably thiab cov chij tau teev nyob rau hauv CPPFLAGS yog siv los ua lwm qhov ntawm kev sib sau chij rau cov lus uas txhawb nqa lawv;
  • Cov zis ntawm custom_target thiab custom_target[i] tam sim no tuaj yeem siv los ua kev sib cav hauv qhov link_with thiab link_whole ua haujlwm;
  • Cov tshuab hluav taws xob tam sim no muaj peev xwm txheeb xyuas qhov kev cia siab ntxiv siv qhov "depends" kev xaiv (piv txwv li, lub tshuab hluav taws xob (program_runner, tso zis: ['@[email tiv thaiv]'], nyob ntawm: exe));
  • Ntxiv qhov kev xaiv zoo li qub rau find_library kom tso cai rau kev tshawb fawb suav nrog cov tsev qiv ntawv sib txuas nkaus xwb;
  • Rau python.find_installation, muaj peev xwm los txiav txim qhov muaj qhov muab Python module rau ib qho tshwj xeeb ntawm Python tau ntxiv lawm;
  • Ntxiv tshiab module tsis ruaj tsis khov-kconfig rau parsing kconfig cov ntaub ntawv;
  • Ntxiv cov lus txib tshiab "subprojects foreach", uas siv cov lus txib nrog cov lus sib cav thiab khiav nws hauv txhua qhov kev qhia subproject;

Tau qhov twg los: opennet.ru

Ntxiv ib saib