Rhyddhau system adeiladu Meson 0.51

Cyhoeddwyd rhyddhau system adeiladu Meson 0.51, a ddefnyddir i adeiladu prosiectau fel X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME a GTK+. Mae'r cod Meson wedi'i ysgrifennu yn Python a cyflenwi trwyddedig o dan Apache 2.0.

Nod allweddol datblygiad Meson yw darparu cyflymder uchel y broses ymgynnull ynghyd â chyfleustra a rhwyddineb defnydd. Yn lle'r cyfleustodau gwneud, mae'r adeilad rhagosodedig yn defnyddio'r pecyn cymorth Ninja, ond mae hefyd yn bosibl defnyddio backends eraill, megis xcode a VisualStudio. Mae gan y system driniwr dibyniaeth aml-lwyfan adeiledig sy'n eich galluogi i ddefnyddio Meson i adeiladu pecynnau ar gyfer dosbarthiadau. Mae rheolau'r Cynulliad wedi'u pennu mewn iaith parth-benodol wedi'i symleiddio, maent yn hynod ddarllenadwy a dealladwy i'r defnyddiwr (fel y bwriadwyd gan yr awduron, dylai'r datblygwr dreulio lleiafswm o amser yn ysgrifennu rheolau).

Cefnogir traws-grynhoi ac adeiladu ar Linux, macOS a Windows gan ddefnyddio GCC, Clang, Visual Studio a chasglwyr eraill. Mae'n bosibl adeiladu prosiectau mewn ieithoedd rhaglennu amrywiol, gan gynnwys C, C++, Fortran, Java a Rust. Cefnogir modd adeiladu cynyddrannol, lle mai dim ond cydrannau sy'n ymwneud yn uniongyrchol â newidiadau a wnaed ers yr adeiladu diwethaf sy'n cael eu hailadeiladu. Gellir defnyddio Meson i gynhyrchu adeiladau ailadroddadwy, lle mae rhedeg yr adeilad mewn gwahanol amgylcheddau yn arwain at gynhyrchu ffeiliau gweithredadwy hollol union yr un fath.

Y prif arloesiadau Meson 0.51:

  • Cefnogaeth ychwanegol ar gyfer adeiladu tryloyw o brosiectau presennol sy'n defnyddio sgriptiau adeiladu CMake. Gall Meson nawr adeiladu is-brosiectau syml yn uniongyrchol (fel llyfrgelloedd sengl) gan ddefnyddio'r modiwl CMake, sy'n debyg i is-brosiectau safonol (gan gynnwys is-brosiectau CMake y gellir eu gosod yn y cyfeiriadur is-brosiectau);
  • Ar gyfer yr holl gasglwyr a ddefnyddir, mae profion rhagarweiniol yn cael eu cynnwys trwy gydosod a gweithredu ffeiliau prawf syml (gwiriad gwyliadwriaeth), heb fod yn gyfyngedig i brofi baneri a bennir gan ddefnyddwyr ar gyfer traws-grynhowyr (o hyn ymlaen, mae casglwyr sy'n frodorol i'r platfform presennol hefyd yn cael eu gwirio) .
  • Ychwanegwyd y gallu i ddiffinio opsiynau llinell orchymyn a ddefnyddir yn ystod traws-grynhoi, gyda rhwymo trwy nodi rhagddodiad platfform cyn yr opsiwn. Yn flaenorol, roedd opsiynau llinell orchymyn yn cynnwys adeiladau brodorol yn unig ac ni ellid eu nodi ar gyfer croes-grynhoi. Mae opsiynau llinell orchymyn bellach yn berthnasol ni waeth a ydych chi'n adeiladu'n frodorol neu'n croes-gasglu, gan sicrhau bod adeiladau brodorol a thraws-adeiladau yn cynhyrchu canlyniadau union yr un fath;
  • Ychwanegwyd y gallu i nodi'r faner “--cross-file” fwy nag unwaith ar y llinell orchymyn i restru traws-ffeil lluosog;
  • Cefnogaeth ychwanegol i'r casglwr ICL (Intel C/C++ Compiler) ar gyfer platfform Windows (ICL.EXE ac ifort);
  • Ychwanegwyd cefnogaeth pecyn cymorth cychwynnol ar gyfer CPU Xtensa (xt-xcc, xt-xc ++, xt-nm);
  • Mae'r dull “get_variable” wedi'i ychwanegu at y gwrthrych “dibyniaeth”, sy'n eich galluogi i gael gwerth newidyn heb gymryd i ystyriaeth y math o ddibyniaeth gyfredol (er enghraifft, dep.get_variable(pkg-config : 'var- enw', cmake : 'COP_VAR_NAME));
  • Ychwanegwyd dadl opsiynau cynulliad targed newydd, "link_language", i nodi'n benodol yr iaith a ddefnyddir wrth ffonio'r cysylltydd. Er enghraifft, gallai prif raglen Fortran alw cod C/C++, a fyddai'n dewis C/C++ yn awtomatig pan ddylid defnyddio'r cysylltydd Fortran;
  • Mae'r ffordd yr ymdrinnir â baneri rhagbrosesydd CPPFLAGS wedi'i newid. Tra bu Meson yn storio CPPFLAGS a baneri crynhoad iaith-benodol (CFLAGS, CXXFLAGS) ar wahân yn flaenorol, maent bellach yn cael eu prosesu'n anwahanadwy a defnyddir y fflagiau a restrir yn CPPFLAGS fel ffynhonnell arall o fflagiau crynhoad ar gyfer ieithoedd sy'n eu cynnal;
  • Bellach gellir defnyddio allbwn custom_target a custom_target[i] fel dadleuon yn y gweithrediadau link_with a link_whole;
  • Bellach mae gan gynhyrchwyr y gallu i nodi dibyniaethau ychwanegol gan ddefnyddio'r opsiwn “yn dibynnu” (er enghraifft, generadur (program_runner, allbwn: [ '@[e-bost wedi'i warchod]'], yn dibynnu: exe));
  • Ychwanegwyd opsiwn statig i find_library i ganiatáu i'r chwiliad gynnwys llyfrgelloedd â chysylltiadau statig yn unig;
  • Ar gyfer python.find_installation, mae'r gallu i bennu presenoldeb modiwl Python penodol ar gyfer fersiwn benodol o Python wedi'i ychwanegu;
  • Ychwanegwyd modiwl newydd ansefydlog-kconfig ar gyfer dosrannu ffeiliau kconfig;
  • Ychwanegwyd gorchymyn newydd “subprojects foreach”, sy'n cymryd gorchymyn gyda dadleuon ac yn ei redeg ym mhob cyfeiriadur is-brosiect;

Ffynhonnell: opennet.ru

Ychwanegu sylw