Meson ngawangun sistem release 0.52

diterbitkeun ngawangun release sistem Méson 0.52, anu dianggo pikeun ngawangun proyék sapertos X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME sareng GTK+. Kode Meson ditulis dina Python jeung dibekelan dilisensikeun dina Apache 2.0.

Tujuan konci ngembangkeun Meson nyaéta pikeun nyadiakeun speed tinggi prosés assembly digabungkeun jeung genah tur betah pamakéan. Gantina make utiliti, wangunan standar ngagunakeun toolkit ninja, Tapi éta ogé mungkin migunakeun backends séjén, kayaning xcode na VisualStudio. Sistim nu boga multi-platform handler kagumantungan diwangun-di nu ngidinan Anjeun pikeun make Meson ngawangun bungkusan keur sebaran. Aturan Majelis dieusian dina basa domain-spésifik disederhanakeun, anu kacida dibaca tur kaharti ku pamaké (sakumaha dimaksud ku pangarang, pamekar kudu méakkeun minimum aturan nulis waktu).

Didukung cross-compile sareng ngawangun dina Linux, Illumos / Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS sareng Windows nganggo GCC, Clang, Visual Studio sareng kompiler sanés. Kasebut nyaéta dimungkinkeun pikeun ngawangun proyék dina sagala rupa basa programming, kaasup C, C ++, Fortran, Java jeung Rust. Modeu ngawangun Incremental dirojong, dimana ngan ukur komponén anu aya hubunganana langsung sareng parobihan anu dilakukeun ti saprak wangunan terakhir diwangun deui. Meson tiasa dianggo pikeun ngahasilkeun gedong anu tiasa diulang, dimana ngajalankeun gedong dina lingkungan anu béda-béda ngahasilkeun file anu tiasa dieksekusi lengkep idéntik.

utama inovasi Méson 0.52:

  • Ditambahkeun dukungan ékspérimén pikeun Webassembly nganggo Emscripten salaku kompiler;
  • Rojongan pikeun platform Illumos sareng Solaris parantos ningkat sacara signifikan sareng dibawa kana kaayaan kerja;
  • Kasebut nyaéta dimungkinkeun pikeun malire Aksara internasionalisasi basis gettext lamun sistem teu boga parabot gettext dipasang (saméméhna, kasalahan dipintonkeun nalika ngagunakeun modul i18n on sistem tanpa gettext);
  • Ningkatkeun dukungan pikeun perpustakaan statik. Seueur masalah nalika nganggo perpustakaan statik anu teu dipasang parantos direngsekeun;
  • Ditambahkeun kamampuan ngagunakeun kamus pikeun napelkeun variabel lingkungan. Nalika nelepon lingkungan (), unsur kahiji ayeuna bisa dieusian salaku kamus nu variabel lingkungan dihartikeun dina konci / formulir nilai. Variabel ieu bakal dialihkeun ka environment_object saolah-olah masing-masing diatur via metode set (). Kamus ogé ayeuna tiasa dialihkeun kana sababaraha fungsi anu ngadukung argumen "env";
  • Ditambahkeun fungsi "runtarget alias_target (target_name, dep1, ...)" anu nyiptakeun udagan ngawangun tingkat kahiji anyar anu tiasa disebat nganggo backend ngawangun anu dipilih (contona "ninja target_name"). Target ngawangun ieu henteu ngajalankeun paréntah naon waé, tapi mastikeun yén sadaya katergantungan diwangun;
  • Diaktipkeun setelan otomatis variabel lingkungan PKG_CONFIG_SYSROOT_DIR salila cross-kompilasi lamun aya sys_root setelan dina "[properties]" bagian;
  • Ditambahkeun "--gdb-path" pilihan pikeun nangtukeun jalur ka debugger GDB nalika nangtukeun pilihan "--gdb testname" pikeun ngajalankeun GDB kalayan naskah tés anu ditangtukeun;
  • Ditambahkeun deteksi otomatis tina target ngawangun clang-rapi pikeun ngajalankeun linter ieu sareng sadaya file sumber. Target dijieun lamun clang-rapi sadia dina sistem jeung ".clang-rapi" (atawa "_clang-rapi") file diartikeun dina akar proyék;
  • Ditambahkeun kagumantungan ('blok') pikeun dianggo dina extension Clang blok;
  • The linker na compiler view dipisahkeun, sahingga kombinasi béda tina compiler na linkers bisa dipaké;
  • Ditambahkeun metode all_dependencies () kana objék SourceSet salian metodeu all_sources ();
  • Dina run_project_tests.py, pilihan "--only" geus ditambahkeun kana selektif ngajalankeun tés (contona, "python run_project_tests.py -only fortran python3");
  • Fungsi find_program () kiwari mibanda kamampuhan pikeun neangan ngan pikeun versi diperlukeun program a (versi ditangtukeun ku ngajalankeun program jeung "-versi" pilihan);
  • Pikeun ngadalikeun ékspor simbol, pilihan vs_module_defs geus ditambahkeun kana fungsi shared_module (), sarupa shared_library ();
  • modul kconfig geus dimekarkeun pikeun ngarojong configure_file () pikeun nangtukeun hiji file input;
  • Ditambahkeun kamampuhan pikeun nangtukeun sababaraha file input pikeun "paréntah:" pawang pikeun configure_file ();
  • Paréntah "dist" pikeun nyieun arsip geus dipindahkeun kana kategori paréntah-tingkat kahiji (saméméhna paréntah ieu dihijikeun ka ninja). Ditambahkeun pilihan "--formats" pikeun nangtukeun jinis arsip anu bakal didamel (contona,
    "meson dist -formats=xztar,zip").

sumber: opennet.ru

Tambahkeun komentar