Itusilẹ eto eto Meson 1.0

Meson 1.0.0 kọ eto ti tu silẹ, eyiti o lo lati kọ awọn iṣẹ akanṣe bii X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ati GTK. Koodu Meson ti kọ ni Python ati pe o ni iwe-aṣẹ labẹ iwe-aṣẹ Apache 2.0.

Ibi-afẹde bọtini ti idagbasoke Meson ni lati pese iyara giga ti ilana apejọ ni idapo pẹlu irọrun ati irọrun lilo. Dipo ohun elo ṣiṣe, ohun elo irinṣẹ Ninja jẹ lilo nipasẹ aiyipada nigbati o ba kọ, ṣugbọn awọn ẹhin ẹhin miiran bii xcode ati VisualStudio tun le ṣee lo. Eto naa ni olutọju igbẹkẹle-pupọ ti a ṣe sinu rẹ ti o fun ọ laaye lati lo Meson lati kọ awọn idii fun awọn pinpin. Awọn ofin Apejọ ni pato ni ede ti o rọrun-pato-ašẹ, jẹ kika gaan ati oye si olumulo (gẹgẹbi a ti pinnu nipasẹ awọn onkọwe, olupilẹṣẹ yẹ ki o lo akoko ti o kere ju awọn ofin kikọ).

Ṣe atilẹyin akojọpọ agbelebu ati ile lori Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ati Windows nipa lilo GCC, Clang, Studio Visual ati awọn alakojọ miiran. O ṣee ṣe lati kọ awọn iṣẹ akanṣe ni ọpọlọpọ awọn ede siseto, pẹlu C, C ++, Fortran, Java ati Rust. Ipo kikọ afikun jẹ atilẹyin, ninu eyiti awọn paati nikan ti o ni ibatan taara si awọn ayipada ti a ṣe lati igba kikọ ti o kẹhin ti tun ṣe. Meson le ṣee lo lati ṣe ina awọn ile atunwi, ninu eyiti ṣiṣiṣẹ kọ ni awọn agbegbe oriṣiriṣi awọn abajade ni iran ti awọn faili ti o le ṣiṣẹ patapata.

Awọn imotuntun akọkọ ti Meson 1.0:

  • A module fun ile ise agbese ni awọn Rust ede ti a ti polongo idurosinsin. A lo module yii ninu iṣẹ akanṣe Mesa lati kọ awọn paati ti a kọ sinu Rust.
  • Aṣayan ìpele, ni atilẹyin ni ọpọlọpọ awọn iṣẹ ayẹwo alakojọ, pese agbara lati mu awọn akojọpọ ni afikun si awọn okun. Fun apẹẹrẹ, o le pato: cc.check_header('GL/wglew.h', ìpele: ['#pẹlu ','#pẹlu '])
  • Ṣafikun ariyanjiyan titun "--workdir" lati gba laaye yiyoju iwe ilana iṣẹ. Fun apẹẹrẹ, lati lo itọsọna lọwọlọwọ dipo itọsọna iṣẹ, o le ṣiṣẹ: meson devenv -C builddir --workdir .
  • Awọn oniṣẹ tuntun “ni” ati “ko si” ti ni idamọran lati pinnu iṣẹlẹ ti okun inu okun kan, ti o jọra si ayẹwo ti o wa tẹlẹ fun iṣẹlẹ ti ano kan ninu akojọpọ tabi iwe-itumọ. Fun apẹẹrẹ: fs = agbewọle ('fs') ti 'nkankan' ninu fs.read('somefile') # True endif
  • Ti ṣafikun aṣayan “Ipele-ikilọ = ohun gbogbo”, eyiti o tan-jade ti gbogbo awọn ikilọ alakojo ti o wa (ni idile ati MSVC o nlo -Weverything ati / Wall, ati ninu awọn ikilọ GCC pẹlu lọtọ, isunmọ ni ibamu si -Weverything mode ni clang).
  • Ọna rust.bindgen ṣe imuse agbara lati mu ariyanjiyan “awọn igbẹkẹle” lati kọja awọn ọna si awọn igbẹkẹle ti o yẹ ki o ṣiṣẹ nipasẹ alakojọ.
  • Iṣẹ java.generate_native_headers ti jẹ asansilẹ ati fun lorukọmii si java.native_headers lati ni ibamu si ara iṣẹ idarukọ Meson ti o wọpọ.

orisun: opennet.ru

Fi ọrọìwòye kun