Meson build system release 0.51

lomia faasalalau fausia fa'amatu'u faiga Meson 0.51, lea e faʻaaogaina e fausia ai galuega e pei ole X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ma GTK +. O le Meson code o loʻo tusia i le Python ma sapalai laiseneina i lalo ole Apache 2.0.

O le sini autu o le atinaʻeina o Meson o le tuʻuina atu lea o le saoasaoa maualuga o le faʻapotopotoga faʻatasi ma le faʻaogaina ma le faigofie o le faʻaogaina. Nai lo le fa'aoga fa'aoga, o le fa'aoga fa'aletonu e fa'aaoga ai le meafaigaluega Ninja, ae e mafai foi ona faʻaogaina isi pito i tua, e pei o le xcode ma VisualStudio. O le faiga o lo'o i ai se fa'apipi'i fa'alagolago i le tele-platform e mafai ai ona e fa'aogaina Meson e fau ai afifi mo tufatufaga. O tulafono fa'apotopotoga o lo'o fa'amaoti mai i se gagana fa'apitoa fa'apitoa, e matua'i faitau ma malamalama i ai le tagata fa'aoga (e pei ona fa'amoemoeina e le au tusitala, e tatau i le tagata atia'e ona fa'aalu sina taimi itiiti e tusitusi ai tulafono).

O loʻo lagolagoina le tuʻufaʻatasia ma le fausiaina i luga o Linux, macOS ma Windows e faʻaaoga ai le GCC, Clang, Visual Studio ma isi tagata faʻapipiʻi. E mafai ona fausia galuega i gagana eseese polokalame, e aofia ai C, C ++, Fortran, Java ma Rust. O lo'o lagolagoina le faiga fa'aopoopo, lea e na'o vaega e feso'ota'i sa'o ma suiga na faia talu mai le fale mulimuli e toe fau. E mafai ona fa'aogaina Meson e fa'atupu ai le toe fa'afo'iina o fale, lea o lo'o fa'atinoina ai le fausiaina i totonu o si'osi'omaga eseese e maua ai le fa'atupuina o faila fa'atino tutusa.

tele mea fou Meson 0.51:

  • Faʻaopoopoina le lagolago mo le faʻamalamalamaina o le fausiaina o galuega o loʻo i ai nei e faʻaogaina ai le CMake build scripts. Ua mafai nei e Meson ona fausia sa'o ni galuega laiti faigofie (e pei o faletusi ta'itasi) e fa'aaoga ai le module CMake, e tutusa ma galuega laiti masani (e aofia ai ma CMake subprojects e mafai ona tu'u i le subprojects directory);
  • Mo tagata faʻaaogaina uma, o suʻega muamua e aofia ai e ala i le faʻapotopotoga ma le faʻatinoina o faila faʻataʻitaʻi faigofie (siaki le mama), e le gata i le suʻeina o fuʻa faʻapitoa mo tagata faʻapipiʻi (mai le taimi nei, o tagata faʻapipiʻi masani i le tulaga o loʻo i ai nei e siakiina foi) .
  • Faʻaopoopoina le tomai e faʻamalamalamaina ai le laina laina o loʻo faʻaaogaina i le taimi o le tuʻufaʻatasia, faʻatasi ai ma le fusia e ala i le faʻamaotiina o se faʻailoga muamua aʻo leʻi faia le filifiliga. I le taimi muamua, o filifiliga laina fa'atonu na na'o fale fa'ale-aganu'u ma e le mafai ona fa'ama'oti mo le tu'ufa'atasiga. Ua fa'aaoga nei filifiliga laina fa'atonu e tusa lava pe o lo'o e faufale fa'alenatura po'o fa'aputu fa'atasi, fa'amautinoa e maua mai fa'ai'uga tutusa;
  • Faʻaopoopo le tomai e faʻamaonia ai le fuʻa "--cross-file" e sili atu ma le tasi i luga o le laina o le faʻatonuga e lisi ai le tele o faila-fesoʻotaʻiga;
  • Faʻaopoopo le lagolago mo le ICL compiler (Intel C / C ++ Compiler) mo le Windows platform (ICL.EXE ma ifort);
  • Faʻaopoopo muamua meafaigaluega fesoasoani mo le CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
  • O le auala "get_variable" ua faʻaopoopoina i le mea "dependency", lea e mafai ai ona e mauaina le tau o se fesuiaiga e aunoa ma le amanaia o le ituaiga o faʻalagolago i le taimi nei (mo se faʻataʻitaʻiga, dep.get_variable(pkg-config : 'var- igoa', cmake : 'COP_VAR_NAME));
  • Fa'aopoopoina se fa'aupuga fou e fa'atatau i le fa'apotopotoga, "link_language", e fa'ailoa manino ai le gagana e fa'aoga pe a vala'au le so'otaga. Mo se faʻataʻitaʻiga, e mafai e se polokalame autu a Fortran ona valaʻau C/C++ code, lea e otometi lava ona filifili C/C++ pe a tatau ona faʻaoga le Fortran linker;
  • Ua suia le taulimaina o fu'a muamua o le CPPFLAGS. A o Meson na teuina muamua CPPFLAGS ma fuʻa tuʻufaʻatasiga faʻapitoa i gagana (CFLAGS, CXXFLAGS) faʻapitoa, o lea ua faʻagasolo le tuʻufaʻatasia ma o fuʻa o loʻo lisiina i le CPPFLAGS o loʻo faʻaaogaina e fai ma isi puna o fuʻa tuʻufaʻatasia mo gagana e lagolagoina ai;
  • O le galuega faatino a custom_target ma custom_target [i] ua mafai nei ona fa'aaogaina e fai ma finauga i le feso'ota'iga_ma ma le feso'ota'iga_whole;
  • O lo'o i ai nei i le au fa'atupu le malosi e fa'amaonia ai fa'alagolago fa'aopoopo e fa'aaoga ai le filifiliga "fa'alagolago" (mo se fa'ata'ita'iga, generator(program_runner, output: ['@[imeli puipuia]'], fa'alagolago: exe));
  • Fa'aopoopoina se filifiliga fa'amautu e find_library e fa'ataga ai le su'esu'ega e aofia ai na'o faletusi feso'ota'i;
  • Mo python.find_installation, ua faʻaopoopoina le mafai e fuafua ai le i ai o se module Python mo se faʻamatalaga patino o le Python;
  • Fa'aopoopoina le module fou unstable-kconfig mo le fa'avasegaina o faila kconfig;
  • Faʻaopoopoina se faʻatonuga fou "subprojects foreach", lea e manaʻomia ai se faʻatonuga faʻatasi ai ma finauga ma taʻavale i totonu o faʻatonuga uma;

puna: opennet.ru

Faaopoopo i ai se faamatalaga