Itusilẹ eto eto Meson 0.52

atejade kọ eto Tu Meson 0.52, eyiti a lo lati kọ awọn iṣẹ akanṣe bii X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ati GTK +. Awọn koodu Meson ti kọ ni Python ati pese iwe-aṣẹ labẹ Apache 2.0.

Ibi-afẹde bọtini ti idagbasoke Meson ni lati pese iyara giga ti ilana apejọ ni idapo pẹlu irọrun ati irọrun lilo. Dipo ṣiṣe IwUlO, ipilẹ aiyipada nlo ohun elo irinṣẹ Ninja, sugbon o tun ṣee ṣe lati lo miiran backends, gẹgẹ bi awọn xcode ati VisualStudio. Eto naa ni olutọju igbẹkẹle-pupọ ti a ṣe sinu rẹ ti o fun ọ laaye lati lo Meson lati kọ awọn idii fun awọn pinpin. Awọn ofin Apejọ ni pato ni ede ti o rọrun-pato-ašẹ, jẹ kika gaan ati oye si olumulo (gẹgẹbi a ti pinnu nipasẹ awọn onkọwe, olupilẹṣẹ yẹ ki o lo akoko ti o kere ju awọn ofin kikọ).

Atilẹyin ṣe akopọ ati kọ lori Lainos, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ati Windows nipa lilo GCC, Clang, Studio Visual ati awọn olupilẹṣẹ miiran. O ṣee ṣe lati kọ awọn iṣẹ akanṣe ni ọpọlọpọ awọn ede siseto, pẹlu C, C ++, Fortran, Java ati Rust. Ipo kikọ afikun jẹ atilẹyin, ninu eyiti awọn paati nikan ti o ni ibatan taara si awọn ayipada ti a ṣe lati igba kikọ ti o kẹhin ti tun ṣe. Meson le ṣee lo lati ṣe ina awọn ile atunwi, ninu eyiti ṣiṣiṣẹ kọ ni awọn agbegbe oriṣiriṣi awọn abajade ni iran ti awọn faili ti o le ṣiṣẹ patapata.

akọkọ awọn imotuntun Meson 0.52:

  • Atilẹyin esiperimenta ti a ṣafikun fun Webassembly nipa lilo Emscripten bi olupilẹṣẹ;
  • Atilẹyin fun awọn iru ẹrọ Illumos ati Solaris ti ni ilọsiwaju pupọ ati mu wa si ipo iṣẹ;
  • Ṣe idaniloju pe awọn iwe afọwọkọ agbaye ti o da lori gettext jẹ aibikita ti eto naa ko ba ni ohun elo irinṣẹ gettext ti fi sori ẹrọ (tẹlẹ, aṣiṣe kan ti han nigba lilo module i18n lori awọn eto laisi gettext);
  • Imudara atilẹyin fun awọn ile-ikawe aimi. Ọpọlọpọ awọn iṣoro nigba lilo awọn ile-ikawe aimi ti a ko fi sii ni a ti yanju;
  • Ṣe afikun agbara lati lo awọn iwe-itumọ lati fi awọn oniyipada ayika sọtọ. Nigbati o ba n pe ayika (), ipin akọkọ le ti wa ni pato bi iwe-itumọ ninu eyiti awọn oniyipada ayika ti ṣe asọye ni fọọmu bọtini/iye. Awọn oniyipada wọnyi yoo gbe lọ si ayika_object bi ẹnipe wọn ṣeto ni ẹyọkan nipasẹ ọna ṣeto (). Awọn iwe-itumọ le tun ti kọja si awọn iṣẹ oriṣiriṣi ti o ṣe atilẹyin ariyanjiyan “env”;
  • Iṣẹ ti a ṣafikun “runtarget alias_target(target_name, dep1, ...)” ti o ṣẹda ibi-afẹde kọ ipele-akọkọ tuntun ti o le pe pẹlu ẹhin ikole ti o yan (fun apẹẹrẹ “ninja target_name”). Ibi-afẹde kọ yii ko ṣiṣẹ awọn aṣẹ eyikeyi, ṣugbọn ṣe idaniloju pe gbogbo awọn igbẹkẹle ti kọ;
  • Ṣiṣe eto aifọwọyi ti PKG_CONFIG_SYSROOT_DIR oniyipada ayika nigba iṣakojọpọ ti eto sys_root ba wa ni apakan “[awọn ohun-ini]”;
  • Aṣayan “--gdb-path” ti a ṣafikun lati pinnu ọna si olutọpa GDB nigbati o n ṣalaye aṣayan “--gdb testname” lati ṣiṣẹ GDB pẹlu iwe afọwọkọ idanwo pàtó;
  • Ṣafikun iṣawari aifọwọyi ti ibi-afẹde kikọ clang-tidy lati ṣiṣẹ linter yii pẹlu gbogbo awọn faili orisun. A ṣẹda ibi-afẹde ti idile-tidy ba wa ninu eto naa ati faili “.clang-tidy” (tabi “_clang-tidy”) ti wa ni asọye ninu gbongbo ise agbese;
  • Igbẹkẹle ti a ṣafikun ('awọn bulọọki') fun lilo ninu itẹsiwaju Clang ohun amorindun;
  • Asopọmọra ati awọn wiwo olupilẹṣẹ ti yapa, gbigba awọn akojọpọ oriṣiriṣi ti awọn akojọpọ ati awọn ọna asopọ lati lo;
  • Fi kun all_dependencies () ọna to SourceSet ohun ni afikun si all_sources () ọna;
  • Ni run_project_tests.py, aṣayan “--nikan” ti jẹ afikun si yiyan ṣiṣe awọn idanwo (fun apẹẹrẹ, “python run_project_tests.py —only fortran python3”);
  • Iṣẹ Find_program () ni bayi ni agbara lati wa awọn ẹya ti o nilo fun eto kan (ẹya naa jẹ ipinnu nipasẹ ṣiṣe eto naa pẹlu aṣayan “-version”);
  • Lati ṣakoso ọja okeere ti awọn aami, aṣayan vs_module_defs ti ni afikun si iṣẹ pinpin_module () ti o jọra si shared_library ();
  • Kconfig module ti a ti fẹ lati se atileyin configure_file () fun a pato ohun input faili;
  • Fi kun agbara lati tokasi ọpọ input awọn faili fun "pipaṣẹ:" handlers to configure_file ();
  • Aṣẹ “dist” fun ṣiṣẹda ile ifi nkan pamosi ti gbe lọ si ẹka ti awọn aṣẹ ipele-akọkọ (tẹlẹ ti so aṣẹ naa mọ ninja). Aṣayan “--formats” ti a ṣafikun lati ṣalaye iru awọn ile-ipamọ lati ṣẹda (fun apẹẹrẹ,
    "meson dist -formats=xztar,zip").

orisun: opennet.ru

Fi ọrọìwòye kun