Kuburitswa kweMeson 0.58 assembly system. Chirongwa chekugadzira kushandiswa kweMeson mumutauro weC

Iyo Meson 0.58 kuvaka system yakaburitswa, iyo inoshandiswa kugadzira mapurojekiti akadai seX.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME uye GTK. Kodhi yaMeson yakanyorwa muPython uye ine rezinesi pasi peApache 2.0 rezinesi.

Chinangwa chikuru cheMeson kusimudzira ndechekupa kumhanya kwakanyanya kwemaitiro egungano akasanganiswa nekureruka uye nyore kushandisa. Panzvimbo pekugadzira utility, iyo Ninja toolkit inoshandiswa nekukasira pakuvaka, asi mamwe mabackend akadai se xcode uye VisualStudio anogona zvakare kushandiswa. Iyo sisitimu ine yakavakirwa-mukati-yakawanda-chikuva kutsamira inobata iyo inokutendera iwe kushandisa Meson kuvaka mapakeji ekugovera. Mitemo yeGungano inotsanangurwa mumutauro wakareruka-wakanangana nemutauro, inoverengwa zvakanyanya uye inonzwisisika kune mushandisi (sezvaidiwa nevanyori, mugadziri anofanirwa kushandisa nguva shoma yekunyora mitemo).

Inotsigira muchinjika kuunganidzwa uye kuvaka paLinux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS uye Windows uchishandisa GCC, Clang, Visual Studio uye mamwe ma compiler. Zvinokwanisika kuvaka mapurojekiti mumitauro yakasiyana-siyana yekuronga, kusanganisira C, C ++, Fortran, Java uye Rust. Inowedzera kuvaka modhi inotsigirwa, umo chete zvikamu zvine chekuita neshanduko dzakaitwa kubva pakuvaka kwekupedzisira kuvakwazve. Meson inogona kushandiswa kugadzira inodzokororwa inovaka, umo kumhanya kwekuvaka munzvimbo dzakasiyana kunoguma mukugadzirwa kwemafaira akafanana anoteedzera.

Hunhu hutsva hweMeson 0.58:

  • Meson ine yakavakirwa-mukati tambo yekufometa mashandiro. Panzvimbo yekudaidza iyo fomati nzira, iwe unogona ikozvino kutsiva kukosha zvakananga, semuenzaniso, pachinzvimbo cheβ€œ'A tambo @0@ kuti igadziriswe @1@'.format(n, m)" unogona kubva ipapo kutaura "f' Tambo @n@ ichafomatidzwa @ m@'".
  • Nzira ye "tsiva" yakawedzerwa kune zvinhu zvetambo kuita kushanda kwekutsiva imwe tambo imwe neimwe, semuenzaniso, "s = s.replace('aaa', 'bbb')".
  • Yakawedzerwa "range(kutanga, mira[, nhanho])" basa kudzosa chinhu chinogona kushandiswa muchiuno chepamberi, senge "foreach i: range(15)".
  • Iyo meson.add_devenv() nzira yakashandiswa, ichikubvumidza kuti uwedzere nharaunda () chinhu kuti uise nharaunda zvinoshanduka paunenge uchishandisa "meson devenv" kuraira, semuenzaniso, kuseta nharaunda inoshanduka nenzira inoenda kune plugins dhairekitori.
  • Kune nharaunda dzebudiriro, murairo mutsva wakapihwa: "meson devenv -C builddir [<command>], izvo zvinoita kuti zvikwanise kumhanyisa rairo munzvimbo yakarongedzerwa kuvhura mapurojekiti kubva kudhairekitori rekuvaka (pasina kuisirwa).
  • Nekumisikidza, iyo "-pipe" sarudzo inomiswa kupfuudzwa kana ichimhanyisa ese anotsigirwa compilers.
  • Kufonera meson.add_dist_script() kubva kudikidiki kunotenderwa.
  • Inopa kugona kumhanyisa iyo append () uye prepend () nzira kakawanda pane imwechete nharaunda () chinhu.
  • Iko kukanganisa () basa rinobvumira zvinopfuura nharo imwe chete, yakaparadzaniswa nenzvimbo (yakafanana neyambiro () uye meseji ()).
  • Yakawedzerwa "--skip-subprojects" sarudzo yekusarudza kusvetuka kuisirwa kwezvidiki.

Takaparadzana, tinogona kucherechedza chirongwa cheBoson, chakanangana nekugadzira inotakurika uye yakapusa kuita yeMeson assembly script mutauro, yakanyorwa muC pachinzvimbo chePython. Iyo purojekiti ichiri padanho rekutanga rebudiriro uye haisati yagadzirira kuungana kwakazara kwemapurojekiti ekushanda. Iyo kodhi ine rezinesi pasi peGPLv3 (yepakutanga Python Meson ine rezinesi pasi peApache 2.0 rezinesi).

Source: opennet.ru

Voeg