Meson mbangun sistem rilis 0.52

diterbitake mbangun release sistem Meson 0.52, sing digunakake kanggo mbangun proyek kayata X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME lan GTK+. Kode Meson ditulis ing Python lan diwenehake dilisensi ing Apache 2.0.

Sasaran utama pangembangan Meson yaiku nyedhiyakake proses perakitan kanthi cepet kanthi gampang lan gampang digunakake. Tinimbang sarana nggawe, mbangun standar nggunakake toolkit Ninja, nanging uga bisa nggunakake backend liyane, kayata xcode lan VisualStudio. Sistem iki nduweni handler dependensi multi-platform sing ngidini sampeyan nggunakake Meson kanggo mbangun paket kanggo distribusi. Aturan Majelis ditemtokake ing basa khusus domain sing disederhanakake, bisa diwaca lan bisa dingerteni pangguna (kaya sing dikarepake dening penulis, pangembang kudu nglampahi minimal wektu nulis aturan).

Didhukung kompilasi silang lan mbangun ing Linux, Illumos / Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS lan Windows nggunakake GCC, Clang, Visual Studio lan kompiler liyane. Sampeyan bisa mbangun proyek ing macem-macem basa program, kalebu C, C ++, Fortran, Java lan Rust. Mode mbangun tambahan didhukung, sing mung komponen sing ana hubungane karo owah-owahan sing digawe wiwit mbangun pungkasan dibangun maneh. Meson bisa digunakake kanggo ngasilake mbangun sing bisa diulang, ing ngendi mbangun ing lingkungan sing beda-beda ngasilake file eksekusi sing padha.

Utama inovasi Meson 0.52:

  • Nambahake dhukungan eksperimen kanggo Webassembly nggunakake Emscripten minangka compiler;
  • Dhukungan kanggo platform Illumos lan Solaris wis apik banget lan digawa menyang kondisi kerja;
  • Sampeyan bisa nglirwakake skrip internasionalisasi adhedhasar gettext yen sistem ora duwe alat gettext sing diinstal (sadurunge, ana kesalahan nalika nggunakake modul i18n ing sistem tanpa gettext);
  • Dhukungan sing luwih apik kanggo perpustakaan statis. Akeh masalah nalika nggunakake perpustakaan statis sing wis dibusak wis dirampungake;
  • Nambahake kemampuan kanggo nggunakake kamus kanggo nemtokake variabel lingkungan. Nalika nelpon lingkungan (), unsur pisanan saiki bisa ditemtokake minangka kamus kang variabel lingkungan ditetepake ing tombol / wangun nilai. Variabel kasebut bakal ditransfer menyang environment_object kaya-kaya wis disetel kanthi cara set (). Kamus uga saiki bisa ditransfer menyang macem-macem fungsi sing ndhukung argumen "env";
  • Nambahake fungsi "runtarget alias_target (target_name, dep1, ...)" sing nggawe target mbangun tingkat pertama sing bisa diarani karo backend mbangun sing dipilih (eg "ninja target_name"). Target mbangun iki ora mbukak printah sembarang, nanging mesthekake yen kabeh dependensi dibangun;
  • Aktifake setelan otomatis variabel lingkungan PKG_CONFIG_SYSROOT_DIR sajrone kompilasi silang yen ana setelan sys_root ing bagean "[properti]";
  • Nambahake opsi "--gdb-path" kanggo nemtokake dalan menyang debugger GDB nalika nemtokake pilihan "--gdb testname" kanggo mbukak GDB kanthi skrip test sing ditemtokake;
  • Nambahake deteksi otomatis target mbangun clang-tidy kanggo mbukak linter iki karo kabeh file sumber. Target digawe yen clang-tidy kasedhiya ing sistem lan file ".clang-tidy" (utawa "_clang-tidy") ditetepake ing ROOT project;
  • Added dependensi ('blok') kanggo nggunakake ing extension Clang Blok;
  • Tampilan linker lan compiler dipisahake, ngidini kombinasi beda kompiler lan linker digunakake;
  • Nambahake metode all_dependencies () menyang obyek SourceSet saliyane metode all_sources ();
  • Ing run_project_tests.py, opsi "--mung" wis ditambahake kanggo selektif mbukak tes (contone, "python run_project_tests.py -only fortran python3");
  • Fungsi find_program () saiki nduweni kemampuan kanggo nggoleki mung versi program sing dibutuhake (versi kasebut ditemtokake kanthi mbukak program kanthi pilihan "-versi");
  • Kanggo ngontrol ekspor simbol, opsi vs_module_defs wis ditambahake menyang shared_module () fungsi, padha shared_library ();
  • Modul kconfig wis ditambahi kanggo support configure_file () kanggo nemtokake file input;
  • Nambahake kemampuan kanggo nemtokake sawetara file input kanggo "printah:" pawang kanggo configure_file ();
  • Printah "dist" kanggo nggawe arsip wis dipindhah menyang kategori printah tingkat pisanan (sadurunge printah iki disambungake menyang ninja). Nambahake opsi "--formats" kanggo nemtokake jinis arsip sing bakal digawe (contone,
    "meson dist -formats=xztar,zip").

Source: opennet.ru

Add a comment