Inkqubo yokwakha ye-Meson 1.0.0 ikhutshwe, esetyenziselwa ukwakha iiprojekthi ezifana ne-X.Org Server, i-Mesa, i-Lighttpd, i-systemd, i-GStreamer, i-Wayland, i-GNOME kunye ne-GTK. Ikhowudi ye-Meson ibhalwe kwi-Python kwaye ilayisenisi phantsi kwelayisensi ye-Apache 2.0.
Injongo ephambili yophuhliso lweMeson kukubonelela ngesantya esiphezulu senkqubo yendibano edityaniswe ngokulula kunye nokusebenziseka ngokulula. Endaweni yokwenza into eluncedo, i-Ninja toolkit isetyenziswa ngokungagqibekanga xa kusakhiwa, kodwa ezinye izinto ezingasemva ezifana ne-xcode kunye ne-VisualStudio nazo zingasetyenziswa. Inkqubo inendawo eyakhelwe-ngaphakathi yokuxhomekeka kwiplatform evumela ukuba usebenzise iMeson ukwakha iipakethe zokusasazwa. Imithetho yeNdibano ichazwe kulwimi olulula lwe-domain-specific, ifundeka kakhulu kwaye iyaqondakala kumsebenzisi (njengoko kuhloswe ngababhali, umphuhlisi kufuneka achithe ubuncinci bexesha lokubhala imithetho).
Ixhasa ukuhlanganiswa kunye nokwakhiwa kwe-cross kwi-Linux, i-Illumos / i-Solaris, i-FreeBSD, i-NetBSD, i-DragonFly BSD, i-Haiku, i-macOS kunye ne-Windows usebenzisa i-GCC, i-Clang, i-Visual Studio kunye nabanye abaqulunqi. Kunokwenzeka ukwakha iiprojekthi kwiilwimi ezahlukeneyo zokucwangcisa, kuquka iC, C ++, Fortran, Java kunye neRust. Imowudi yokwakha eyongeziweyo iyaxhaswa, apho kuphela amacandelo anxulumene ngokuthe ngqo notshintsho olwenziweyo ukusukela kulwakhiwo lokugqibela lwakhiwa ngokutsha. I-Meson inokusetyenziselwa ukuvelisa ulwakhiwo oluphinda-phindayo, apho ukusebenza kolwakhiwo kwiindawo ezahlukeneyo kubangela ukuveliswa kweefayile ezifanayo ngokupheleleyo.
Iinguqulelo eziphambili zeMeson 1.0:
- ΠΠ±ΡΡΠ²Π»Π΅Π½ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. ΠΠ°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Mesa Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° Rust.
- Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ prefix, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΡΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ: cc.check_header(βGL/wglew.hβ, prefix : [β#include <windows.h>β, β#include <GL/glew.h>β])
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Β«βworkdirΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ: meson devenv -C builddir βworkdir .
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Β«inΒ» ΠΈ Β«not inΒ» Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² ΡΡΡΠΎΠΊΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΡΠ°Π½Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ»ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: fs = import(βfsβ) if βsomethingβ in fs.read(βsomefileβ) # True endif
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«warning-level=everythingΒ», Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ Π²ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° (Π² clang ΠΈ MSVC ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ -Weverything ΠΈ /Wall, Π° Π² GCC ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ -Weverything Π²clang).
- Π ΠΌΠ΅ΡΠΎΠ΄Π΅ rust.bindgen ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Β«dependenciesΒ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΡΠ΅ΠΉ ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ.
- ΠΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΡ java.generate_native_headers, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² java.native_headers Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΡ ΡΡΠΈΠ»Ρ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠΈΠ½ΡΡΠΎΠΌΡ Π² Meson.
umthombo: opennet.ru