Ko te tuku punaha hanga a Meson 1.3

Kua tukuna te punaha hanga Meson 1.3.0, ka whakamahia hei hanga kaupapa penei i te X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME me GTK. Ko te waehere a Meson kua tuhia ki te Python me te raihana i raro i te raihana Apache 2.0.

Ko te whainga matua o te whanaketanga Meson ko te whakarato i te tere tere o te tukanga huihuinga me te waatea me te ngawari o te whakamahi. Engari i te mahi hanga, ka whakamahia taunoa te kete taputapu Ninja i te wa e hanga ana, engari ka taea ano te whakamahi i etahi atu tuara penei i te xcode me VisualStudio. Kei roto i te punaha he kaikawe ti'aturi i roto i te papa-maha e taea ai e koe te whakamahi i a Meson ki te hanga kete mo nga tohatoha. Ko nga ture huihuinga kua tohua i roto i te reo-a-rohe kua ngawari, he tino panui me te maarama ki te kaiwhakamahi (kia rite ki te whakaaro o nga kaituhi, me noho te kaiwhakawhanake i te wa iti ki te tuhi ture).

Ka tautokohia te whakahiato ripeka me te hanga whare i runga i te Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS me Windows ma te whakamahi i te GCC, Clang, Visual Studio me etahi atu kaitoi. Ka taea te hanga kaupapa i roto i nga reo maha, tae atu ki te C, C++, Fortran, Java me Rust. Ka tautokohia te aratau hanga taapiri, ko nga waahanga anake e pa ana ki nga huringa i mahia mai i te hanganga o muri ka hangaia ano. Ka taea te whakamahi i a Meson ki te whakaputa i nga hanga tukurua, na te whakahaere i te hanga i roto i nga taiao rereke ka puta te whakaputanga o nga konae mahi rite tonu.

Nga mea hou o Meson 1.3:

  • I taapirihia te kowhiringa "werror: pono" ki nga tikanga taki whakahiato compiler.compiles(), compiler.links() me compiler.run(), e tohu ana i nga whakatupato whakahiato he hapa (ka taea te whakamahi ki te tirotiro kei te hangaia te waehere me te kore whakatupato. ).
  • Kua tāpirihia te tikanga has_define ki te taki i te whakamāramatanga tohu mā te pūtukatuka.
  • Kua taapirihia te tawhā macro_name ki te mahi configure_file(), me te taapiri i te whakamarumaru tonotono mo nga hononga takirua ma te "#include" ("whakauruhia nga kaitiaki"), i hangaia i roto i te ahua o nga tonotono i te reo C (whakangwari i te hanga o nga konae whirihora me te hihiri. ingoa tonotono).
  • He hōputu putanga hou kua taapirihia ki te configure_file() - JSON ("output_format: json").
  • Kua taapirihia te kaha ki te whakamahi i nga raarangi uara ki nga tawhā c_std me cpp_std (hei tauira, "tauwhiringa_taunoa: 'c_std=gnu11,c11′').
  • I roto i nga waahanga e whakamahi ana i te CustomTarget ki te tukatuka i nga konae, kua taapirihia te kaha ki te whakarite i nga whakaputanga karere na te taputapu ninja.
  • Ko te build_target "jar" kua whakakorehia, a ko te "jar()" ka tohua hei utu.
  • Kua taapirihia te tawhā 'env' ki te tikanga generator.process() hei tautuhi i te taurangi taiao e whakahaere ai te kaiwhakaputa i te whakaurunga.
  • I te wa e tohu ana i nga ingoa whainga hanga e hono ana ki nga kaipahua, ko nga pimuri penei "ka taea te whakahaere('foo', 'main.c', name_suffix: 'paa')" ka whakaaetia ki te whakaputa i etahi atu kawenga i roto i te raarangi kotahi.
  • I taapirihia te tawhā "vs_module_defs" ki te mahi () hei whakamahi i te konae def e tautuhi ana i te rarangi o nga mahi i tukuna ki shared_module().
  • Kua taapirihia te tawhā 'default_options' ki te mahi find_program() hei tautuhi i nga whiringa taunoa mo te kaupapa-iti takahuri.
  • Kua taapirihia te tikanga fs.relative_to(), e whakahoki ana i te ara whanaunga mo te tohenga tuatahi, e pa ana ki te tuarua, mena kei te noho te ara tuatahi. Hei tauira, "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')".
  • Ko te tawhā_symlinks e whai ake nei kua taapirihia ki te install_data(), install_headers() me te install_subdir() mahi; ina tautuhia, ka whai hononga tohu.
  • He tawhā “whakakī” kua tāpirihia ki te tikanga int.to_string() hei whakakī āpiti i te aho ki ngā kore matua. Hei tauira, ma te waea karere(n.to_string(fill: 3)) mo n=4 ka puta te aho "004".
  • Kua taapirihia he whaainga hou, clang-tidy-fix, e tohu ana ki te whakahaere i te taputapu clang-tidy me te haki "-fix".
  • Ko te kaha ki te tautuhi i te kumara (TARGET_SUFFIX) o te whaainga huihuinga ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) kua taapirihia ki te whakahau whakahiato.
  • Kua taapirihia te taurangi taiao MESON_PACKAGE_CACHE_DIR hei turaki i te ara ki te keteroki kete (kaupapa-kaupapa/packagecache), hei tauira, ka taea e koe te whakamahi keteroki tiritahi i roto i nga kaupapa maha.
  • Kua taapirihia te whakahau "meson setup --clearcache" ki te whakakore i te keteroki mau tonu.
  • Ko te tautoko mo te kupu matua "hiahia" kua taapirihia ki nga tikanga taki whakahiato "has_*" katoa, hei tauira, hei tauira, hei utu mo te "whakahau(cc.has_function('some_function'))" ka taea e koe te tohu "cc.has_function('some_function'). , hiahiatia: pono)”.
  • He kupu matua hou, rust_abi, kua taapirihia ki te shared_library(), static_library(), library(), me shared_module() mahi, me whakamahi hei utu mo te rust_crate_type kua ngaro.

Source: opennet.ru

Tāpiri i te kōrero