Kutolewa kwa mfumo wa mkutano wa Meson 0.58. Mradi wa kuunda utekelezaji wa Meson katika lugha ya C

Mfumo wa uundaji wa Meson 0.58 umetolewa, ambao unatumika kujenga miradi kama vile Seva ya X.Org, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME na GTK. Nambari ya Meson imeandikwa kwa Python na ina leseni chini ya leseni ya Apache 2.0.

Lengo kuu la maendeleo ya Meson ni kutoa kasi ya juu ya mchakato wa mkutano pamoja na urahisi na urahisi wa matumizi. Badala ya kutengeneza matumizi, zana ya zana ya Ninja hutumiwa kwa chaguo-msingi wakati wa kujenga, lakini viunzi vingine vya nyuma kama vile xcode na VisualStudio pia vinaweza kutumika. Mfumo una kidhibiti cha utegemezi cha majukwaa mengi ambacho hukuruhusu kutumia Meson kuunda vifurushi vya usambazaji. Sheria za mkusanyiko zimebainishwa katika lugha iliyorahisishwa mahususi ya kikoa, zinaweza kusomeka na kueleweka kwa mtumiaji (kama ilivyokusudiwa na waandishi, msanidi programu anapaswa kutumia muda mdogo kuandika sheria).

Ukusanyaji mtambuka na mkusanyiko vinaungwa mkono. Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows Kwa kutumia GCC, Clang, Visual Studio, na vikusanyaji vingine. Miradi inaweza kujengwa katika lugha mbalimbali za programu, ikiwa ni pamoja na C, C++, Fortran, Java, na Rust. Hali ya ujenzi wa nyongeza inaungwa mkono, ambayo hujenga upya vipengele vinavyohusiana moja kwa moja na mabadiliko yaliyofanywa tangu ujenzi uliopita. Meson inaweza kutumika kuunda ujenzi unaoweza kurudiwa, ambapo kuendesha ujenzi katika mazingira tofauti husababisha uzalishaji wa faili zinazoweza kutekelezwa zinazofanana kabisa.

Ubunifu kuu wa Meson 0.58:

  • Lugha ya Meson sasa inatekeleza shughuli za umbizo la mfuatano zilizojengewa ndani. Badala ya kuita mbinu ya umbizo, sasa unaweza kubadilisha thamani moja kwa moja. Kwa mfano, badala ya "'Mfuatano @0@ utakaopangiliwa @1@'.format(n, m)" unaweza kubainisha moja kwa moja "mfuatano wa f'A utakaopangiliwa @m@'".
  • Mbinu ya "kubadilisha" imeongezwa kwenye vitu vya kamba ili kufanya operesheni ya kubadilisha kamba ndogo moja na nyingine, kwa mfano, "s = s.replace('aaa', 'bbb')".
  • Imeongeza kitendakazi cha "range(start, stop[, step])" ili kurejesha kitu ambacho kinaweza kutumika katika kitanzi cha "foreach", k.m. "foreach i: range(15)".
  • Mbinu ya meson.add_devenv() imetekelezwa, ikikuruhusu kuongeza kitu cha environment() ili kuweka vigezo vya mazingira unapotumia amri ya "meson devenv", kwa mfano, kuweka vigezo vya mazingira na njia ya saraka ya programu-jalizi.
  • Kwa mazingira ya uundaji, amri mpya "meson devenv -C builddir [<command>]" inapendekezwa, ambayo hukuruhusu kuendesha amri katika mazingira yaliyosanidiwa kuendesha miradi kutoka kwa saraka ya uundaji (bila usakinishaji).
  • Chaguo la "-pipe" limesimamishwa kwa chaguo-msingi wakati wa kuendesha vikusanyaji vyote vinavyoungwa mkono.
  • Ruhusu kupiga simu meson.add_dist_script() kutoka kwa miradi midogo.
  • Huruhusu utekelezaji mwingi wa mbinu za append() na prepend() kwenye kitu kimoja cha environment().
  • Kitendakazi cha error() huruhusu hoja zaidi ya moja, zikitenganishwa na nafasi (sawa na warning() na message()).
  • Imeongeza chaguo la "--skip-subprojects" ili kuruka usakinishaji wa miradi midogo kwa hiari.

Mradi wa Boson, ambao unalenga kuunda utekelezaji rahisi na unaobebeka wa lugha ya hati ya ujenzi ya Meson, iliyoandikwa kwa C badala ya Python, pia inafaa kutajwa. Mradi huo bado uko katika hatua zake za mwanzo za uundaji na bado haujawa tayari kwa ujenzi kamili wa uzalishaji. Msimbo huo una leseni chini ya GPLv3 (Meson asili, iliyoandikwa kwa Python, ina leseni chini ya leseni ya Apache 2.0).

Chanzo: opennet.ru

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster