Rakirina pergala kombûnê ya Meson 0.52

weşandin serbestberdana pergalê ava bike Meson 0.52, ku ji bo avakirina projeyên wekî X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME û GTK+ tê bikaranîn. Koda Meson bi Python û tê nivîsandin peyda kirin lîsansa di bin Apache 2.0.

Armanca sereke ya pêşkeftina Meson peydakirina leza bilind a pêvajoya meclîsê ya bi rehetî û karanîna hêsan e. Li şûna amûra çêkirinê, avakirina xwerû amûrê bikar tîne Ninja, lê di heman demê de gengaz e ku meriv paşnavên din jî bikar bîne, wekî xcode û VisualStudio. Pergal xwedan hilgirê pêwendiya pir-platformê ye ku dihêle hûn Meson bikar bînin da ku pakêtan ji bo belavkirinan ava bikin. Rêzikên meclîsê bi zimanekî sadekirî yên domain-taybet têne destnîşan kirin, ji bikarhêner re pir têne xwendin û têgihîştin (wek ku ji hêla nivîskaran ve hatî armanc kirin, pêşdebir divê herî kêm wextê nivîsandina qaîdeyan derbas bike).

Piştgirî kirin bi karanîna GCC, Clang, Visual Studio û berhevkarên din li ser Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS û Windows-ê bi hev berhev bikin û ava bikin. Di nav de C, C++, Fortran, Java û Rust jî di nav de, di nav zimanên bernamesaziyê yên cihêreng de, mirov dikare projeyan ava bike. Moda avakirina zêdekirî tê piştgirî kirin, ku tê de tenê pêkhateyên ku rasterast bi guhertinên ku ji avakirina paşîn ve hatine çêkirin ve têkildar in, ji nû ve têne çêkirin. Meson dikare were bikar anîn da ku avahiyên dubarekirî biafirîne, ku tê de xebitandina çêkirinê di hawîrdorên cihêreng de encam dide ku pelên darvekirî yên bi tevahî wekhev têne afirandin.

sereke nûbûnên Meson 0.52:

  • Piştgiriya ceribandinê ya ji bo Webassembly-ê ku Emscripten wekî berhevkar bikar tîne zêde kir;
  • Piştgiriya ji bo platformên Illumos û Solaris bi girîngî çêtir bûye û gihîştiye rewşa xebatê;
  • Ger pergalê amûrên gettext-ê nehatine saz kirin (berê, gava ku modula i18n li ser pergalên bêyî gettext bikar tîne, xeletiyek hate xuyang kirin), gengaz e ku meriv pîvazên navneteweyîbûnê-based gettext paşguh bike;
  • Piştgiriya çêtirîn ji bo pirtûkxaneyên statîk. Di dema karanîna pirtûkxaneyên statîk ên nesazkirî de gelek pirsgirêk hatine çareser kirin;
  • Kapasîteya karanîna ferhengan ji bo destnîşankirina guhêrbarên jîngehê zêde kir. Dema ku gazî hawîrdorê (), hêmana yekem niha dikare wekî ferhengek ku tê de guhêrbarên hawîrdorê bi forma kilît/nirx têne destnîşan kirin, were destnîşan kirin. Ev guhêrbar dê werin veguheztin hawirdora_object mîna ku ew bi rengek kesane bi riya rêbaza set() ve hatine danîn. Di heman demê de ferheng niha dikarin ji fonksiyonên cihêreng ên ku argumanek "env" piştgirî dikin jî werin derbas kirin;
  • Fonksiyona lêzêdekirî "runtarget alias_target(target_name, dep1, ...)" ku armancek nû ya avakirina asta yekem a ku dikare bi paşnavê avakirina hilbijartî re were gazî kirin diafirîne (mînak: "Ninja target_name"). Ev armanca avakirinê tu fermanan naxebite, lê piştrast dike ku hemî girêdan têne çêkirin;
  • Ger di beşa "[taybetmendî]" de mîhengek sys_root hebe di dema berhevkirina xaçerê de mîhenga otomatîkî ya guhêrbara jîngehê PKG_CONFIG_SYSROOT_DIR çalak kir;
  • Vebijarka "--gdb-rê" lê hat zêdekirin da ku rê li ber debugera GDB diyar bike dema ku vebijarka "--gdb testname" diyar dike da ku GDB bi skrîpta testê ya diyarkirî bixebite;
  • Vedîtina otomatîkî ya armanca avakirina klang-tidy lê zêde kir ku vê lînterê bi hemî pelên çavkaniyê re bimeşîne. Ger clang-tidy di pergalê de hebe û pelê ".clang-tidy" (an "_clang-tidy") di koka projeyê de were destnîşankirin armanc tê afirandin;
  • Ji bo karanîna di dirêjkirina Clang de girêdayîbûn ('blokên') zêde kir Blocks;
  • Nêrînên girêdanker û berhevkar ji hev têne veqetandin, rê dide ku hevbendiyên cûda yên berhevkar û girêdankeran bikar bînin;
  • Ji bilî rêbaza all_sources() rêbaza all_dependencies() li tiştên SourceSet zêde kir;
  • Di run_project_tests.py de, vebijarka "--tenê" ji bo ceribandinên hilbijartî hatiye zêdekirin (mînak, "python run_project_tests.py — tenê fortran python3");
  • Naha fonksiyona find_program() heye ku tenê li guhertoyên pêdivî yên bernameyekê bigere (guhertoya ku bi vebijarka "-guhertoya" bernameyê dimeşîne tê destnîşankirin);
  • Ji bo kontrolkirina hinartina sembolan, vebijarka vs_module_defs li fonksiyona shared_module() hatî zêdekirin, mîna shared_library();
  • Modula kconfig hatiye berfireh kirin ku ji bo destnîşankirina pelek têketinê piştgirî bide configure_file();
  • Kapasîteya diyarkirina gelek pelên têketinê ji bo rêvekerên "ferman:" ji bo configure_file();
  • Fermana "dist" ji bo afirandina arşîvekê hate veguheztin kategoriya fermanên asta yekem (berê ferman bi ninja ve girêdayî bû). Vebijêrkek "--format" zêde kir ku celebên arşîvên ku têne çêkirin diyar bike (mînak,
    "meson dist -formats=xztar,zip").

Source: opennet.ru

Add a comment