Meson mbangun sistem rilis 1.0

Rilis sistem mbangun Meson 1.0.0 wis diterbitake, sing digunakake kanggo mbangun proyek kayata X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME lan GTK. Kode Meson ditulis ing Python lan dilisensi ing lisensi Apache 2.0.

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

Kompilasi silang lan mbangun ing Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS lan Windows nggunakake GCC, Clang, Visual Studio lan kompiler liyane didhukung. 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 langsung karo owah-owahan sing digawe wiwit mbangun pungkasan sing dibangun maneh. Meson bisa digunakake kanggo ngasilake mbangun sing bisa diulang, ing ngendi mbangun ing lingkungan sing beda bakal ngasilake eksekusi sing padha.

Inovasi utama Meson 1.0:

  • A modul kanggo mbangun proyΓ¨k ing basa Rust wis ngumumakΓ© stabil. Modul iki digunakake ing project Mesa kanggo mbangun komponen ditulis ing Rust.
  • Pilihan awalan, didhukung ing paling fungsi mriksa compiler, menehi kemampuan kanggo nangani array saliyane kanggo strings. Contone, sampeyan saiki bisa nemtokake: cc.check_header('GL/wglew.h', awalan : ['#include ', '#kalebu '])
  • Nambahake argumen anyar "--workdir" kanggo ngidini ngganti direktori kerja. Contone, kanggo nggunakake direktori saiki tinimbang direktori kerja, sampeyan bisa mbukak: meson devenv -C builddir --workdir .
  • Operator anyar "ing" lan "ora ing" wis diusulake kanggo nemtokake kedadeyan substring ing senar, padha karo mriksa sing kasedhiya sadurunge kanggo kedadeyan unsur ing array utawa kamus. Contone: fs = import('fs') yen 'sesuatu' ing fs.read('somefile') # True endif
  • Nambahake opsi "warning-level = kabeh", sing nguripake output kabeh bebaya kompiler sing kasedhiya (ing clang lan MSVC digunakake -Weverything lan / Wall, lan ing bebaya GCC kalebu kanthi kapisah, kira-kira cocog karo -Weverything. mode ing clang).
  • Cara rust.bindgen ngleksanakake kemampuan kanggo nangani argumen "dependensi" kanggo pass path kanggo dependensi sing kudu diproses dening compiler.
  • Fungsi java.generate_native_headers wis ora digunakake lan diganti jeneng dadi java.native_headers supaya cocog karo gaya jeneng fungsi umum Meson.

Source: opennet.ru

Add a comment