Keluaran sistem pemasangan Meson 0.58. Projek untuk mencipta pelaksanaan Meson dalam bahasa C

Keluaran sistem binaan Meson 0.58 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).

Menyusun silang dan membina pada Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS dan Windows menggunakan GCC, Clang, Visual Studio dan penyusun lain disokong. Ia adalah mungkin untuk membina projek dalam pelbagai bahasa pengaturcaraan, termasuk C, C++, Fortran, Java dan Rust. Mod binaan tambahan disokong, di mana hanya komponen yang berkaitan secara langsung dengan perubahan yang dibuat sejak binaan terakhir dibina semula. Meson boleh digunakan untuk menjana binaan berulang, yang menjalankan binaan dalam persekitaran yang berbeza menghasilkan boleh laku yang sama sepenuhnya.

Inovasi utama Meson 0.58:

  • Π’ языкС Meson Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ встроСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ форматирования строк. ВмСсто Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° format Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ значСния Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вмСсто Β«β€˜A string @0@ to be formatted @1@’.format(n, m)Β» ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ сразу Β«f’A string @n@ to be formatted @m@'Β».
  • Π’ строковыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Β«replaceΒ» для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ подстроки Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«s = s.replace(β€˜aaa’, β€˜bbb’)Β».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция Β«range(start, stop[, step])Β» для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Ρ†ΠΈΠΊΠ»Π΅ Β«foreachΒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«foreach i : range(15)Β».
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ meson.add_devenv(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ environment() для установки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния Π²ΠΎ врСмя использования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«meson devenvΒ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для задания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния с ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ с ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ.
  • Для ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° новая ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«meson devenv -C builddir [<ΠΊΠΎΠΌΠ°Π½Π΄Π°>], Π΄Π°ΡŽΡ‰Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ, настроСнном для запуска ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ· сборочного ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° (Π±Π΅Π· установки).
  • По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Β«-pipeΒ» ΠΏΡ€ΠΈ запускС всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… компиляторов.
  • Π Π°Π·Ρ€Π΅ΡˆΡ‘Π½ Π²Ρ‹Π·ΠΎΠ² meson.add_dist_script() ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ запуска ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² append() ΠΈ prepend() для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° environment().
  • Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ error() Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ (ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с warning() ΠΈ message()).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«β€”skip-subprojectsΒ» для Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ пропуска установки ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Boson, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π° созданиС пСрСносимой ΠΈ простой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языка сборочных сцСнариСв Meson, написанной Π½Π° языкС Π‘ΠΈ вмСсто Python. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠΊΠ° находится Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС развития ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Π³ΠΎΡ‚ΠΎΠ² для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ сборки Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Код распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3 (ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Meson Π½Π° Python поставляСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0).

Sumber: opennet.ru

Tambah komen