Keluaran sistem binaan Meson 1.4

Keluaran sistem binaan Meson 1.4.0 telah diterbitkan, yang digunakan untuk membina projek seperti Pelayan X.Org, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME dan GTK. Kod Meson ditulis dalam Python dan dilesenkan di bawah lesen Apache 2.0.

Matlamat pembangunan utama Meson adalah untuk menyediakan proses pemasangan berkelajuan tinggi yang digabungkan dengan kemudahan dan kemudahan penggunaan. Daripada membuat, binaan menggunakan kit alat Ninja secara lalai, tetapi bahagian belakang lain seperti xcode dan VisualStudio juga boleh digunakan. Sistem ini mempunyai pengendali pergantungan berbilang platform terbina dalam yang membolehkan anda menggunakan Meson untuk membina pakej untuk pengedaran. Peraturan pemasangan ditetapkan dalam bahasa khusus domain yang dipermudahkan, ia boleh dibaca dengan baik dan difahami oleh pengguna (mengikut idea pengarang, pembangun harus menghabiskan masa minimum menulis peraturan).

Penyusunan silang dan pemasangan disokong. Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows Menggunakan GCC, Clang, Visual Studio dan pengkompil lain. Projek boleh dibina dalam pelbagai bahasa pengaturcaraan, termasuk C, C++, Fortran, Java dan Rust. Mod binaan tambahan disokong, yang hanya membina semula komponen yang berkaitan secara langsung dengan perubahan yang dibuat sejak binaan sebelumnya. Meson boleh digunakan untuk mencipta binaan yang boleh diulang, yang mana menjalankan binaan dalam persekitaran yang berbeza menghasilkan penjanaan fail boleh laku yang sama sepenuhnya.

Inovasi utama Meson 1.4:

  • Fungsi fs.name, fs.parent, fs.replace_suffix dan fs.stem modul FS telah dikemas kini untuk menyokong objek sasaran binaan build_tgt dan custom_tgt serta indeks sasaran binaan (custom_idx).
  • Menambahkan keupayaan untuk membaca versi projek daripada subprojek berasaskan CMake.
  • Menyediakan keupayaan untuk mengawal penegasan (GLIBCXX_ASSERTIONS) dalam stdlib C++ melalui tetapan ndebug.
  • Sokongan denting telah ditambahkan pada stldebug (apabila debugstl didayakan, "-D_GLIBCXX_DEBUG=1" dan "-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG" kini ditetapkan).
  • Kaedah unset() telah ditambahkan pada objek env.
  • Kaedah full_path() telah ditambahkan pada objek Fail untuk mendapatkan laluan penuh ke fail.
  • Menambahkan sokongan untuk menentukan kebergantungan tersuai untuk numpy (dependency('numpy')).
  • Kaedah compiler.preprocess() mempunyai parameter "depends" yang membolehkan anda menentukan sasaran binaan bergantung untuk compiler.preprocess().
  • Fungsi compile_ui, compile_moc dan praproses daripada modul qt4, qt5 dan qt6 kini mempunyai hujah preserve_paths untuk memilih pilihan untuk membina struktur direktori bagi fail bertulis (jika benar, ia adalah "{target private directory}/subdir/one.out" dan jika palsu, ia adalah "{targetout private directory}/one.
  • Penjana pengikat bindgen menyediakan keupayaan untuk menggunakan heuristik Meson untuk mengesan fail pengepala C++.
  • Menambah keupayaan untuk mengatasi tetapan bahasa untuk bindgen (contohnya, untuk merawat fail dengan sambungan .h sebagai fail pengepala untuk C++).
  • Pelaksanaan ujian kini gagal secara lalai selepas ralat ditemui semasa menjalankan sanitizer seperti MemorySanitizer.
  • Menambah sokongan untuk pengkompil Texas Instruments C/C++ untuk keluarga CPU C6000.

Sumber: opennet.ru

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster