Meson 0.51 montaj sisteminin buraxılışı

nəşr edilmişdir sistem buraxılışını qurmaq Mezon 0.51, X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME və GTK+ kimi layihələri qurmaq üçün istifadə olunur. Meson kodu Python-da yazılmışdır və təchiz olunmuşdur Apache 2.0 altında lisenziyalıdır.

Meson inkişafının əsas məqsədi montaj prosesinin yüksək sürətini rahatlıq və istifadə rahatlığı ilə birlikdə təmin etməkdir. make utilitinin əvəzinə standart qurma alətlər dəstindən istifadə edir Ninja, lakin xcode və VisualStudio kimi digər backendlərdən də istifadə etmək mümkündür. Sistem, paylamalar üçün paketlər yaratmaq üçün Meson-dan istifadə etməyə imkan verən daxili çox platformalı asılılıq işləyicisinə malikdir. Assembly qaydaları sadələşdirilmiş domenə xas dildə göstərilib, istifadəçi üçün yüksək oxunaqlı və başa düşüləndir (müəlliflərin nəzərdə tutduğu kimi, tərtibatçı qaydaları yazmaq üçün minimum vaxt sərf etməlidir).

GCC, Clang, Visual Studio və digər kompilyatorlardan istifadə edərək Linux, macOS və Windows-da çarpaz tərtib və tikinti dəstəklənir. C, C++, Fortran, Java və Rust daxil olmaqla müxtəlif proqramlaşdırma dillərində layihələr qurmaq mümkündür. Yalnız sonuncu qurmadan sonra edilən dəyişikliklərlə birbaşa əlaqəli komponentlərin yenidən qurulduğu artımlı qurma rejimi dəstəklənir. Meson təkrarlanan konstruksiyalar yaratmaq üçün istifadə oluna bilər, burada quruluşun müxtəlif mühitlərdə işlədilməsi tamamilə eyni icra edilə bilən faylların yaranması ilə nəticələnir.

Əsas yeniliklər Mezon 0.51:

  • CMake qurma skriptlərindən istifadə edən mövcud layihələrin şəffaf qurulması üçün əlavə dəstək. Meson indi standart sublayihələrə bənzər CMake modulundan istifadə edərək birbaşa sadə sublayihələri (tək kitabxanalar kimi) qura bilər (o cümlədən CMake sublayihələri sublayihələr kataloqunda yerləşdirilə bilər);
  • Bütün istifadə olunan kompilyatorlar üçün ilkin sınaq sadə test fayllarının yığılması və icrası (ağıllılığın yoxlanılması) vasitəsilə daxil edilir, yalnız çarpaz tərtibçilər üçün istifadəçi tərəfindən müəyyən edilmiş bayraqların sınaqdan keçirilməsi ilə məhdudlaşmır (bundan sonra cari platformaya aid olan tərtibçilər də yoxlanılır) .
  • Çarpaz kompilyasiya zamanı istifadə olunan əmr xətti seçimlərini, seçimdən əvvəl platforma prefiksini göstərərək bağlama ilə müəyyən etmək imkanı əlavə edildi. Əvvəllər, komanda xətti seçimləri yalnız yerli quruluşları əhatə edirdi və çarpaz tərtib üçün müəyyən edilə bilməzdi. Komanda xətti seçimləri indi yerli və ya çarpaz tərtib etmənizdən asılı olmayaraq tətbiq edilir, yerli və çarpaz quruluşların eyni nəticələr verməsini təmin edir;
  • Çoxlu çarpaz faylları siyahıya salmaq üçün “--cross-file” bayrağını komanda xəttində bir dəfədən çox göstərmək imkanı əlavə edildi;
  • Windows platforması (ICL.EXE və ifort) üçün ICL kompilyatoru (Intel C/C++ Compiler) üçün əlavə dəstək;
  • CPU Xtensa üçün ilkin alətlər dəsti əlavə edildi (xt-xcc, xt-xc++, xt-nm);
  • “Asılılıq” obyektinə “get_variable” metodu əlavə edilmişdir ki, bu da cari asılılığın növünü nəzərə almadan dəyişənin qiymətini əldə etməyə imkan verir (məsələn, dep.get_variable(pkg-config : 'var-) ad', cmake : 'COP_VAR_NAME));
  • Bağlayıcıya zəng edərkən istifadə olunan dili açıq şəkildə müəyyən etmək üçün yeni hədəf montaj seçimləri arqumenti, "link_language" əlavə edildi. Məsələn, əsas Fortran proqramı C/C++ kodunu çağıra bilər ki, bu da Fortran əlaqələndiricisi istifadə edildikdə avtomatik olaraq C/C++ seçir;
  • CPPFLAGS preprosessor bayraqlarının işlənməsi dəyişdirildi. Meson əvvəllər CPPFLAGS və dilə aid tərtib bayraqlarını (CFLAGS, CXXFLAGS) ayrıca saxladığı halda, indi onlar ayrılmaz şəkildə işlənir və CPPFLAGS-də sadalanan bayraqlar onları dəstəkləyən dillər üçün başqa tərtib bayraqları mənbəyi kimi istifadə olunur;
  • custom_target və custom_target[i] çıxışı indi link_with və link_whole əməliyyatlarında arqumentlər kimi istifadə edilə bilər;
  • Generatorlar indi “asılıdır” seçimindən istifadə edərək əlavə asılılıqları təyin etmək imkanına malikdirlər (məsələn, generator(program_runner, çıxış: [‘@)[e-poçt qorunur]'], asılıdır: exe));
  • Axtarışa yalnız statik olaraq əlaqəli kitabxanaları daxil etmək üçün find_library üçün statik seçim əlavə edildi;
  • python.find_installation üçün Python-un xüsusi versiyası üçün verilmiş Python modulunun mövcudluğunu müəyyən etmək imkanı əlavə edilmişdir;
  • kconfig fayllarını təhlil etmək üçün qeyri-stabil-kconfig modulu əlavə edildi;
  • Arqumentlərlə əmr alan və onu bütün alt layihə qovluqlarında işlədən “subprojects foreach” yeni əmri əlavə edildi;

Mənbə: opennet.ru

Добавить комментарий