Meson kuvaka system kuburitswa 1.3

Iyo Meson 1.3.0 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 1.3:

  • Yakawedzera sarudzo "werror: true" kune compiler cheki nzira compiler.compiles(), compiler.links() uye compiler.run(), iyo inobata compiler yambiro sezvikanganiso (inogona kushandiswa kutarisa kuti kodhi yakavakwa pasina yambiro )
  • Yakawedzerwa has_define nzira yekutarisa tsananguro yechiratidzo nepreprocessor.
  • Iyo macro_name parameter yakawedzerwa kune iyo configure_file () basa, ichiwedzera macro chengetedzo yekubatanidza kaviri kuburikidza ne "#include" ("include varindi"), yakagadzirwa muchimiro che macros mumutauro weC (kurerutsa kusikwa kwemafaira ekugadzirisa ane simba. mazita makuru).
  • Itsva yekubuda fomati yawedzerwa ku configure_file() - JSON ("output_format: json").
  • Yakawedzera kugona kushandisa runyorwa rwezvakakosha kune c_std uye cpp_std paramita (semuenzaniso, "default_options: 'c_std=gnu11,c11β€²').
  • Mumamodule anoshandisa CustomTarget kugadzirisa mafaera, kugona kugadzirisa mameseji anobuda neiyo ninja utility kwakawedzerwa.
  • Iyo build_target "jar" yakabviswa uye iyo "jar()" kufona inokurudzirwa panzvimbo.
  • Iyo 'env' parameter yawedzerwa kune jenareta.process() nzira yekuseta nharaunda inoshanduka iyo jenareta ichagadzira mapindiro.
  • Paunenge uchitsanangura mazita ekuvaka ane chekuita nezvinogoneka, suffixes senge "executable('foo', 'main.c', name_suffix: 'bar')" anotenderwa kuburitsa mamwe eecutable mudhairekitori rimwechete.
  • Yakawedzera "vs_module_defs" paramende kune inogoneka () basa rekushandisa def faira rinotsanangura rondedzero yemabasa akapfuudzwa kune shared_module ().
  • Yakawedzera 'default_options' parameter yekuwana_program() basa rekuseta sarudzo dzeiyo fallback subproject.
  • Yakawedzerwa fs.relative_to() nzira, iyo inodzosa nzira yehukama yenharo yekutanga, maererano neyechipiri, kana nzira yekutanga iripo. Semuenzaniso, "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')".
  • Iyo inotevera_symlinks paramende yakawedzerwa kune iyo install_data (), install_headers() uye install_subdir() mabasa; kana yaiswa, zvinongedzo zvinongedzo zvinoteverwa.
  • A "zadza" parameter yawedzerwa kune int.to_string() nzira yekuwedzera tambo nemaziro anotungamira. Semuenzaniso, kufona meseji(n.to_string(zadza: 3)) ye n=4 inoburitsa tambo "004".
  • Yakawedzera tarisiro nyowani, clang-tidy-fix, iyo inotsanangura kumhanya-mhanya-kurongedza utility ne "-fix" mureza.
  • Kugona kudoma suffix (TARGET_SUFFIX) yechinangwa chegungano ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) chawedzerwa kumurairo wekugadzira.
  • Yakawedzerwa nharaunda inosiyana MESON_PACKAGE_CACHE_DIR yekupfuura nzira inoenda kupakiti cache (subprojects/packagecache), semuenzaniso, ichikubvumidza iwe kushandisa yakagovaniswa cache mumapurojekiti akati wandei.
  • Yakawedzera "meson setup --clearcache" kuraira kudzima inoenderera cache.
  • Tsigiro yezwi rekuti "inodiwa" yakawedzerwa kune ese "has_*" compiler cheki nzira, semuenzaniso, pachinzvimbo che "assert(cc.has_function('some_function'))" iwe unogona ikozvino kutsanangura "cc.has_function('some_function' , inodiwa: chokwadi)".
  • Izwi idzva rinokosha, rust_abi, rakawedzerwa kune yakagoverwa_library (), static_library (), raibhurari (), uye yakagovaniswa_module () mabasa, ayo anofanirwa kushandiswa pachinzvimbo cheyakadzikiswa rust_crate_type.

Source: opennet.ru

Voeg