Ukukhishwa kwesistimu yokwakha ye-Meson 1.0

Isistimu yokwakha ye-Meson 1.0.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.0:

  • Imojuli yamaphrojekthi wokwakha ngolimi lwe-Rust imenyezelwe ukuthi izinzile. Le mojula isetshenziswa kuphrojekthi ye-Mesa ukwakha izingxenye ezibhalwe nge-Rust.
  • Inketho yesiqalo, esekelwa emisebenzini eminingi yokuhlola inhlanganisela, inikeza ikhono lokuphatha amalungu afanayo ngaphezu kweyunithi yezinhlamvu. Isibonelo, ungakwazi manje ukucacisa: cc.check_header('GL/wglew.h', isiqalo : ['#faka ', '#faka '])
  • Kwengezwe ukungqubuzana okusha "--workdir" ukuze kuvunyelwe ukweqa uhla lwemibhalo olusebenzayo. Isibonelo, ukusebenzisa uhla lwemibhalo lwamanje esikhundleni sohla lwemibhalo olusebenzayo, ungasebenzisa: meson devenv -C builddir --workdir .
  • Ama-opharetha amasha athi “ngaphakathi” kanye nokuthi “akangeni” aphakanyiswe ukuze kunqunywe ukwenzeka kweyunithi yezinhlamvu engaphansi kochungechunge, okufana nokuhlola okutholakala ngaphambilini kokuvela kwesici kuhlelo noma isichazamazwi. Isibonelo: fs = import('fs') if 'something' in fs.read('somefile') # I-endif yeqiniso
  • Kwengezwe inketho ethi “warning-level=everything”, evula okukhishwayo kwazo zonke izixwayiso ze-compiler ezitholakalayo (ku-clang ne-MSVC isebenzisa -Weverything kanye/Wall, kanye nezixwayiso ze-GCC zifakiwe ngokwehlukana, cishe ezihambisana ne- -Weverything imodi ku-clang).
  • Indlela ye-rust.bindgen isebenzisa ikhono lokusingatha i-agumenti "yokuncika" ukuze kudlule izindlela eziya kokuncikile okufanele kucutshungulwe umdidiyeli.
  • Umsebenzi we-java.generate_native_headers wehlisiwe futhi waqanjwa kabusha waba yi-java.native_headers ukuze uvumelane nesitayela sokuqamba somsebenzi esivamile sika-Meson.

Source: opennet.ru

Engeza amazwana