Meson aedificate 1.3 ratio release

Dimissio Meson 1.3.0 systema aedificandi divulgatum est, quod incepta aedificandi usus est ut Servo X.Org, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME et GTK. The Meson code written in Python and is licensed under the Apache 2.0 license.

Propositum evolutionis clavem Meson praebet celerrime processum conventus celeritatem coniunctum cum commoditate et facilitate usus. Loco fac, constructum toolkit Ninja utitur per defaltam, sed aliae backends sicut xcode et VisualStudio etiam adhiberi possunt. Systema in multi- suggestu dependentiae tracto aedificatum habet quod meson uti sinit ut fasciculos ad distributiones aedificandas permittat. Regulae Conventus ponuntur in lingua simplici-speciali-dominali, bene lectibilia et intellectu usori (secundum ideam auctorum, elit minimum temporis regulas scribere debet).

Compilatio reciproca et congregatio sustinentur. Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku macOS и Windows Utentibus GCC, Clang, Visual Studio, aliisque compilatoribus. Proiecta variis linguis programmandi, inter quas C, C++, Fortran, Java, et Rust, construi possunt. Modus aedificandi incrementalis sustinetur, qui solum componentes directe ad mutationes post aedificationem priorem factas pertinentes reconstruit. Meson ad aedificationes repetibiles creandas adhiberi potest, ubi aedificatio in diversis ambitus currendo generatio fasciculorum executabilium omnino identicorum efficit.

Principales innovationes Meson 1.3;

  • Methodi probationis compilatoris `compiler.compiles(),` `compiler.links(),` et `compiler.run()` nunc optionem "werror: true" habent, quae monita compilatoris ut errores tractat (hoc adhiberi potest ad verificandum codicem sine monitis aedificari).
  • Methodus `has_define` addita est ad explorandum num symbolum a praeprocessore definitum sit.
  • Functio `configure_file()` nunc parametrum `macro_name` habet qui tutelam macro duplici inclusionis per `#include` ("include guards") addit, formata in stylo macrorum C (hoc creationem fasciculorum configurationis cum nominibus macrorum dynamicis simplificat).
  • Novum formatum exitus ad `configure_file(): JSON` ("output_format: json") additum est.
  • Parametri `c_std` et `cpp_std` nunc usum indicum valorum sustinent (e.g. "default_options: 'c_std=gnu11,c11'").
  • In modulis qui CustomTarget ad fasciculos tractandos utuntur, facultas nuntios a utilitate ninja emissos mutandi addita est.
  • `build_target` `jar` obsoleta est in favorem vocationis `jar()`.
  • Parametrus 'env' methodoe generator.process() additus est ad variabilem ambitalem per quam generator input tractabit constituendam.
  • Cum nominantur scopi constructionis cum executabilibus consociati, suffixa ut "executable('foo', 'main.c', name_suffix: 'bar')" permittuntur ad executabilia additionalia in eodem directorio generanda.
  • Parametrum "vs_module_defs" ad functionem executable() additum est ut fasciculus definitionis (def) indicem functionum ad shared_module() transmissarum definiens uteretur.
  • `Parametrum 'default_options' functioni `find_program()` additum est ad optiones implicitas pro subproiecto subsidiario constituendas.
  • Methodum `fs.relative_to()` addita est, quae semitam relativam primi argumenti respectu secundi reddit, si prima semita existit. Exempli gratia, "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')".
  • `follow_symlinks` functionibus `install_data(), `install_headers(),` et `install_subdir()` additus est; cum statuitur, efficit ut nexus symbolici sequantur.
  • Methodus `int.to_string()` nunc parametrum "fill" includit ad litteram cum zeris praecedentibus implendam. Exempli gratia, si `message(n.to_string(fill: 3))` pro `n=4` vocas litteram "004" generabis.
  • Novum scopum `clang-tidy-fix` additum est, quod utilitatem `clang-tidy` cum signo "-fix" exsequi indicat.
  • Mandatum compilationis nunc tibi permittit suffixum (TARGET_SUFFIX) pro scopo constructionis ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) specificare.
  • Variabilis ambitus MESON_PACKAGE_CACHE_DIR addita est ad viam celae fasciculi (subprojects/packagecache) superandam, exempli gratia, permittens ut cela communis in pluribus proiectis utatur.
  • Praeceptum "meson setup --clearcache" additum est ad purgandam memoriam persistentem.
  • Omnes methodi compilatoris "has_*" nunc clavem clavem "required" sustinent, exempli gratia, loco "assert(cc.has_function('some_function'))" nunc "cc.has_function('some_function', required: true)" specificare potes.
  • Novum vocabulum clavem `rust_abi` additum est functionibus `shared_library(), `static_library(), `library(),` et `shared_module(),` quae loco `rust_crate_type`, quod iam obsoletum est, adhibenda est.

Source: opennet.ru

Emptum certos hospites pro locis cum praesidio DDoS, VPS VDS servers 🔥 Eme hospitium interretiale fidum cum praesidio DDoS, servitores VPS VDS | ProHoster