Ukukhishwa kwesistimu yokwakha ye-Meson 1.1

Isistimu yokwakha ye-Meson 1.1.0 isikhishiwe, esetshenziselwa ukwakha amaphrojekthi afana ne-X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME kanye ne-GTK. Ikhodi ye-Meson ibhalwe nge-Python futhi ilayisensi ngaphansi kwelayisensi ye-Apache 2.0.

Umgomo oyinhloko wokuthuthukiswa kwe-Meson ukuhlinzeka ngesivinini esiphezulu senqubo yokuhlanganisa kuhlanganiswe nokunethezeka nokusebenziseka kalula. Esikhundleni se-make utility, ikhithi yamathuluzi ye-Ninja isetshenziswa ngokuzenzakalelayo uma yakha, kodwa ezinye izinto ezingemuva njenge-xcode ne-VisualStudio nazo zingasetshenziswa. Uhlelo lunesibambi sokuncika sezingxenyekazi eziningi esakhelwe ngaphakathi esikuvumela ukuthi usebenzise i-Meson ukuze wakhe amaphakheji okusabalalisa. Imithetho yomhlangano icaciswe ngolimi olwenziwe lula oluqondene nesizinda, ifundeka kakhulu futhi iqondakala kumsebenzisi (njengoba kuhloswe ababhali, umthuthukisi kufanele asebenzise ubuncane besikhathi ebhala imithetho).

Isekela ukuhlanganiswa nokwakhiwa kwe-Linux, i-Illumos/Solaris, i-FreeBSD, i-NetBSD, i-DragonFly BSD, i-Haiku, i-macOS ne-Windows isebenzisa i-GCC, i-Clang, i-Visual Studio nezinye izihlanganisi. Kungenzeka ukwakha amaphrojekthi ngezilimi ezihlukahlukene zokuhlela, okuhlanganisa i-C, C++, Fortran, Java neRust. Imodi yokwakha ekhuphukayo iyasekelwa, lapho kuphela izingxenye ezihlobene ngokuqondile nezinguquko ezenziwe kusukela ekwakhiweni kokugcina zakhiwa kabusha. I-Meson ingasetshenziswa ukukhiqiza izakhiwo eziphindaphindwayo, lapho ukusebenzisa isakhiwo ezindaweni ezihlukene kubangela ukukhiqizwa kwamafayela asebenzisekayo afana ngokuphelele.

Ukuqanjwa okuyinhloko kwe-Meson 1.1:

  • I-agumenti entsha "yezinto:" yengezwe kokuthi declare_dependency() ukuze kunamathiselwe izinto ngokuqondile ezintweni ezisebenzisekayo ngendlela yokuncika kwangaphakathi okungadingi ukusetshenziswa kwe-link_who.
  • Umyalo we-"meson devenv -dump" manje unenketho yokucacisa ifayela ozobhala kulo okuguquguqukayo kwemvelo esikhundleni sokuliphrinta ekuphumeni okujwayelekile.
  • Kwengezwe I-FeatureOption.enable_if kanye ne-FeatureOption.disable_if izindlela zokwenza kube lula ukudala izimo ezilungiselelwe ukudlulisa amapharamitha kumsebenzi wokuncika(). opt = get_option('isici'). disable_if(not foo, error_message : 'Ayikwazi ukunika amandla isici uma i-foo ingavunyelwe futhi') dep = dependency('foo', iyadingeka : opt)
  • Ukudlulisa izinto ezikhiqiziwe njengama-agumenti "ezintweni:" kuvunyelwe.
  • Umsebenzi wephrojekthi manje usekela ukufakwa kwamafayela anolwazi mayelana namalayisensi ephrojekthi.
  • Ukuqalisa "ukufakwa kwe-sudo meson" kuqinisekisa ukuthi amalungelo asethwa kabusha ngesikhathi sokwakhiwa kabusha kwezinkundla eziqondiwe.
  • Umyalo we-"meson install" unikeza ikhono lokucacisa isibambi esihlukile sokuthola amalungelo ezimpande (isibonelo, ungakhetha i-polkit, i-sudo, i-opendoas noma i-$MESON_ROOT_CMD). Ukuqalisa "ukufakwa kwe-meson" kumodi engasebenzisi akusazami ukukhulisa amalungelo.
  • Kungezwe usekelo lwezinketho zokufunda ezivela kufayela le-meson.options esikhundleni se-meson_options.txt.
  • Ukuqondisa kabusha kolwazi mayelana nokuqhubeka kokuzihlola ku-stderr kunikezwa.
  • Kwengezwe i-backend entsha ethi "none" (--backend=none) ukuze kwakheke amaphrojekthi anemithetho yokufaka kuphela futhi engenayo imithetho yokwakha.
  • Kwengezwe i-pybind11 entsha yokuncika, okuvumela ukuncika('pybind11') ukuthi kusebenze ne-pkg-config kanye ne-cmake ngaphandle kokusebenzisa i-pybind11-config script.
  • Izinketho ze-"--reconfigure" kanye "--wipe" zivunyelwe (ukusethwa kwe-meson --reconfigure builddir kanye ne-meson setup --wipe builddir ) nge-builddir engenalutho.
  • Kwengezwe ukusekelwa kwegama elingukhiye elithi dry_run kokuthi meson.add_install_script() ukuze uvumele ukusebenza kwemibhalo yakho yokufaka lapho ubiza "meson install --dry-run".

Source: opennet.ru

Engeza amazwana