Meson 0.58 -kokoonpanojärjestelmän vapauttaminen. Projekti Mesonin toteutuksen luomiseksi C-kielellä

Meson 0.58 -koontijärjestelmän julkaisu on julkaistu, jolla rakennetaan projekteja, kuten X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ja GTK. Meson-koodi on kirjoitettu Pythonilla ja lisensoitu Apache 2.0 -lisenssillä.

Mesonin tärkein kehitystavoite on tarjota nopea kokoonpanoprosessi yhdistettynä mukavuuteen ja helppokäyttöisyyteen. Maken sijaan koontiversio käyttää oletusarvoisesti Ninja-työkalupakkia, mutta myös muita taustaohjelmia, kuten xcode ja VisualStudio, voidaan käyttää. Järjestelmässä on sisäänrakennettu usean alustan riippuvuuskäsittelijä, jonka avulla voit käyttää Mesonia jakelupakettien rakentamiseen. Kokoonpanosäännöt on asetettu yksinkertaistetulla verkkotunnuskohtaisella kielellä, ne ovat käyttäjälle hyvin luettavia ja ymmärrettäviä (tekijöiden idean mukaan kehittäjän tulee käyttää sääntöjen kirjoittamiseen mahdollisimman vähän aikaa).

Ristikääntämistä ja rakentamista Linuxille, Illumos/Solarisille, FreeBSD:lle, NetBSD:lle, DragonFly BSD:lle, Haikulle, macOS:lle ja Windowsille GCC:n, Clangin, Visual Studion ja muiden kääntäjien avulla tuetaan. On mahdollista rakentaa projekteja eri ohjelmointikielillä, mukaan lukien C, C++, Fortran, Java ja Rust. Inkrementaalinen rakennustila on tuettu, jossa vain komponentit, jotka liittyvät suoraan edellisen koontiversion jälkeen tehtyihin muutoksiin, rakennetaan uudelleen. Mesonilla voidaan luoda toistettavia koontiversioita, joissa koontiversion suorittaminen eri ympäristöissä johtaa täysin identtisiin suoritettaviin tiedostoihin.

Meson 0.58:n tärkeimmät innovaatiot:

  • Mesonissa on sisäänrakennetut merkkijonojen muotoilutoiminnot. Muotoilumenetelmän kutsumisen sijaan voit nyt korvata arvot suoraan, esimerkiksi "muotoiltava merkkijono @0@ @1@".format(n, m)" voit määrittää heti "f" Merkkijono @n@ muotoiltava @ m@'".
  • Merkkijonoobjekteihin on lisätty "korvaa"-menetelmä, joka suorittaa yhden alimerkkijonon korvaamisen toisella, esimerkiksi "s = s.replace('aaa', 'bbb')."
  • Lisätty "alue(aloitus, lopetus[, askel])" palauttamaan objektin, jota voidaan käyttää foreach-silmukassa, kuten "foreach i : range(15)".
  • Meson.add_devenv()-menetelmä on otettu käyttöön, joten voit lisätä ympäristö()-objektin ympäristömuuttujien asettamiseen, kun käytät "meson devenv"-komentoa esimerkiksi ympäristömuuttujan asettamiseen liitännäishakemiston polulla.
  • Kehitysympäristöihin on ehdotettu uutta komentoa: "meson devenv -C builddir [], joka mahdollistaa komennon suorittamisen ympäristössä, joka on määritetty käynnistämään projekteja rakennushakemistosta (ilman asennusta).
  • Oletusarvoisesti "-pipe"-vaihtoehtoa ei välitetä, kun kaikki tuetut kääntäjät suoritetaan.
  • Kohteen meson.add_dist_script() kutsuminen aliprojekteista on sallittua.
  • Tarjoaa mahdollisuuden suorittaa append()- ja prepend()-menetelmiä useita kertoja samassa ympäristö()-objektissa.
  • Error()-funktio sallii useamman kuin yhden argumentin välilyönnillä erotettuna (samanlainen kuin varoitus() ja message()).
  • Lisätty "--skip-subprojects" -vaihtoehto, jolla voit ohittaa aliprojektien asennuksen.

Erikseen voimme mainita Boson-projektin, jonka tarkoituksena on luoda kannettava ja yksinkertainen toteutus Meson-kokoonpanoskriptikielelle, joka on kirjoitettu C-kielellä Pythonin sijaan. Projekti on vielä alkukehitysvaiheessa, eikä se ole vielä valmis työprojektien täydelliseen kokoonpanoon. Koodi on lisensoitu GPLv3:lla (alkuperäinen Python Meson on lisensoitu Apache 2.0 -lisenssillä).

Lähde: opennet.ru

Lisää kommentti