Nidaamka dhismaha Meson siidaynta 1.3

Siideynta nidaamka dhismaha Meson 1.3.0 ayaa la daabacay, kaas oo loo isticmaalo in lagu dhiso mashaariicda sida X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME iyo GTK. Koodhka Meson wuxuu ku qoran yahay Python wuxuuna ku shatiyaysan yahay shatiga Apache 2.0.

Hadafka horumarinta ee muhiimka ah ee Meson waa in la bixiyo habka isu-ururinta xawaaraha sare oo ay weheliso ku habboonaanta iyo fududaynta isticmaalka. Halkii laga samayn lahaa, dhismuhu wuxuu u adeegsanayaa qalabka Ninja si caadi ah, laakiin dhabarka dambe sida xcode iyo VisualStudio sidoo kale waa la isticmaali karaa. Nidaamku wuxuu leeyahay ku-tiirsanaanta ku-tiirsanaanta madal-madal badan oo ku dhex-dhashay kaasoo kuu oggolaanaya inaad isticmaasho Meson si aad u dhisto baakadaha qaybinta. Xeerarka golaha waxa lagu dejiyay luuqad gaar ah oo la fududeeyay, si fiicana loo akhriyi karo oo la fahmi karo isticmaaluhu (sida ku cad fikradda qorayaasha, horumariyuhu waa inuu ku qaataa ugu yaraan wakhtiga qorista xeerarka).

Isku-dubbarididda iyo dhisidda Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS iyo Windows iyadoo la adeegsanayo GCC, Clang, Visual Studio iyo soo-sameeyaha kale waa la taageeray. Waa suurtogal in lagu dhiso mashruucyo luuqado kala duwan ah, oo ay ku jiraan C, C++, Fortran, Java iyo Rust. Habka dhisidda kordhinta ayaa la taageeray, kaas oo kaliya qaybaha si toos ah ula xiriira isbeddelada la sameeyay tan iyo dhismihii ugu dambeeyay ayaa dib loo dhisay. Meson waxaa loo isticmaali karaa in lagu dhaliyo dhismo la soo celin karo, halkaas oo ku socodsiinta dhismaha bey'ad kala duwan ay keeneyso in la fuliyo gebi ahaanba isku mid ah.

Hal-abuurka ugu muhiimsan ee Meson 1.3:

  • Waxaa lagu daray ikhtiyaarka "werror: run" hab-habboonka hubinta isku-darka compiler.compiles(), compiler.links() iyo compiler.run(), kaas oo ula dhaqma digniinaha isku-darka sida khaladaad (waxaa loo isticmaali karaa in lagu hubiyo in koodka la dhisay digniin la'aan). ).
  • Waxaa lagu daray has_define hab si loo hubiyo qeexida calaamadda horudhac.
  • Halbeegga macro_name ayaa lagu daray shaqada configure_file (), isagoo ku daraya ilaalinta macro ee isku xirka labanlaabka ah iyada oo loo marayo "#include" ("ku dar ilaalada"), oo loogu talagalay qaabka macros ee luqadda C (fududeynta abuuritaanka faylalka habaynta leh firfircoon magacyada macro).
  • Qaab cusub oo wax soo saar ah ayaa lagu daray configure_file () - JSON ("output_format: json").
  • Waxaa lagu daray awoodda isticmaalka liisaska qiyamka c_std iyo cpp_std (tusaale ahaan, "default_options: 'c_std=gnu11,c11'').
  • Qaybaha isticmaala CustomTarget si ay u habeeyaan faylalka, awooda lagu habayn karo farriimaha ay soo saarto utility ninja ayaa lagu daray.
  • Dhismaha_bartilmaameedka "dharka" waa la jaray waxaana lagu taliyaa "dharka()" wicida.
  • Halbeegga 'env' ayaa lagu daray koronto-dhaliyaha.process() habka loo dejiyo doorsoomiyaha deegaanka kaas oo koronto-dhaliye uu ku socodsiinayo gelinta.
  • Marka la tilmaamayo dhisidda magacyada la beegsanayo ee la xidhiidha fulinta, daba-galayaasha sida "fulin ('foo', 'main.c', name_suffix: 'bar')" ayaa loo oggol yahay inay abuuraan hawl-fulin dheeraad ah isla buuggaas.
  • Waxaa lagu daray halbeegga "vs_module_defs" shaqada la fulin karo () si loo isticmaalo faylka def ee qeexaya liiska shaqooyinka loo gudbiyay shared_module().
  • Waxaa lagu daray halbeegga 'default_options' si loo helo_barnaamijka() shaqada si loo dejiyo ikhtiyaarada caadiga ah ee mashruuc-hoosaadka dib-u-dhaca.
  • Habka fs.relative_to() lagu daray, kaas oo soo celinaya dariiqa qaraabada ah ee doodda kowaad, marka loo eego tan labaad, haddii dariiqa kowaad jiro. Tusaale ahaan, "fs.relation_to('/prefix/lib','/prefix/bin') == '../lib')".
  • Halbeegyada soo socda_symlinks ayaa lagu daray install_data(), install_headers() iyo install_subdir() hawlaha; marka la dejiyo, isku xidhayaasha astaanta ah ayaa la raacayaa.
  • Qiyaasta "buuxi" ayaa lagu daray habka int.to_string() si kor loogu qaado xadhigga eber horseedka ah. Tusaale ahaan, wacitaanka fariinta (n.to_string(buuxi: 3)) ee n=4 waxay soo saari doontaa xadhigga "004".
  • Waxaa lagu daray bartilmaameed cusub, qabiil-tidy-fix, kaas oo qeexaya socodsiinta utility-ka-qabiilka leh calanka "-fix".
  • Awoodda lagu qeexo daba-galka (TARGET_SUFFIX) ee bartilmaameedka isu-tagga ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) ayaa lagu daray amarka ururinta.
  • Bey'adda lagu daray MESON_PACKAGE_CACHE_DIR si loo tirtiro dariiqa khasnadda xirmada (mashruuc-hoosaad/cache), tusaale ahaan, taasoo kuu oggolaanaysa inaad isticmaasho kayd la wadaago dhowr mashruuc.
  • Lagu daray "meson setup --clearcache" amarka si loo nadiifiyo kaydka joogtada ah.
  • Taageerada ereyga muhiimka ah ee "loo baahan yahay" ayaa lagu daray dhammaan hababka hubinta isku-darka "has_*", tusaale ahaan, halkii aad ka ahaan lahayd "cadeynta(cc.has_function('wax_qaar'))" waxaad hadda cayimi kartaa "cc.has_function('some_function') , loo baahan yahay: run)”.
  • Kelmad muhiim ah oo cusub, rust_abi, ayaa lagu daray wadaaga_library(), static_library(), maktabad(),iyo wadaag_module(), shaqooyinka, kaas oo ah in la isticmaalo halkii laga isticmaali lahaa nooca rust_crate_type.

Source: opennet.ru

Add a comment