Uruchomienie nowa wersja systemu kompilacji Meson 1.0.0, co ma między innymi nowe argumenty, a także stabilność kompilacji projektów w Rust.
Ci, którzy nie znają Mesona, powinni to wiedzieć ten system kompilacji służy do kompilowania dużych projektów takich jak X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME i GTK.
Kluczowym celem rozwoju Meson jest zapewnienie szybkiego procesu kompilacji połączonego z wygodą i łatwością użytkowania. Zamiast tego kompilacja domyślnie korzysta z Ninja Toolkit, ale można również użyć innych backendów, takich jak xcode i VisualStudio.
System ma wbudowaną wieloplatformową obsługę zależności który pozwala na użycie Mesona do tworzenia pakietów do dystrybucji. Zasady kompilacji podane są w uproszczonym, specyficznym dla domeny języku, są dobrze czytelne i zrozumiałe dla użytkownika (zgodnie z zamysłem autorów programista powinien poświęcić minimum czasu na napisanie reguł).
Se obsługuje kompilację krzyżową oraz kompilacja w systemach Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS i Windows przy użyciu GCC, Clang, Visual Studio i innych kompilatorów.
Możliwe jest budowanie projektów w kilku językach programowania, w tym C, C++, Fortran, Java i Rust. Obsługiwany jest tryb budowania przyrostowego, w którym odbudowywane są tylko komponenty, które są bezpośrednio związane ze zmianami wprowadzonymi od czasu ostatniej kompilacji.
Meson może być używany do generowania powtarzalnych kompilacji, gdzie uruchamianie kompilacji w różnych środowiskach skutkuje całkowicie identycznymi plikami wykonywalnymi.
Główne nowości Mesona 1.0
W tej nowej wersji Mesona 1.0 jest to podkreślone Moduł do budowania projektów w języku Rust został uznany za stabilny. Moduł ten jest używany w projekcie Mesa do budowania komponentów napisanych w Rust.
Obsługiwana przez większość funkcji sprawdzania kompilatora opcja prefix implementuje możliwość obsługi tablic innych niż łańcuchy.
Kolejną zmianą, która wyróżnia się od tej premiery, jest to, że proponują nowe operatory „in” i „not in” określające występowanie podłańcucha w łańcuchu, Podobne do poprzednio dostępnego sprawdzania występowania elementu w tablicy lub słowniku.
Oprócz tego możemy również znaleźć, że dodana opcja «poziom ostrzeżenia = wszystko” aby wywołać wyjście wszystkich dostępnych ostrzeżeń kompilatora (Clang i MSVC używają -Weverything i /Wall, a GCC zawiera oddzielne ostrzeżenia, z grubsza odpowiadające trybowi -Weverything clanga).
Warto również zauważyć, że A nowy argument „–workdir”, aby umożliwić zastąpienie katalogu roboczego. Na przykład, aby użyć bieżącego katalogu zamiast katalogu roboczego.
Metoda rust.bindgen implementuje możliwość przetwarzania argumentu „dependencies” w celu przekazywania ścieżek do zależności, które mają być przetwarzane przez kompilator, a funkcja java.generate_native_headers została wycofana i przemianowana na java.native_headers, aby pasowała do ogólnego stylu nazewnictwa funkcji Mesona.
Z drugiej strony wspomina się o tym również teraz podczas kompilacji krzyżowej środowisko deweloperskie ustawia wszystkie zmienne środowiskowe dla maszyny HOST. Teraz ustawia również QEMU_LD_PREFIX i wartość sys_root pliku krzyżowego, jeśli ta właściwość jest ustawiona. Oznacza to, że skompilowane krzyżowo pliki wykonywalne często mogą być uruchamiane w sposób przezroczysty na maszynie budującej, na przykład podczas kompilacji krzyżowej do aarch64 linux z x86_64 linux.
Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.
Jak zainstalować Mesona na Linuksie?
Ci, którzy są zainteresowani możliwością zainstalowania tego systemu kompilacji w swoim systemie, mogą to zrobić, postępując zgodnie z instrukcjami, które udostępniamy poniżej.
Powinni wiedzieć, że Meson jest dostępny na PyPi, więc można go zainstalować za pomocą polecenia:
pip3 install meson
Uwaga: powinieneś wiedzieć, że dokładne polecenie, które należy wpisać, aby zainstalować pip, może się różnić w zależności od systemu, dlatego zaleca się używanie pip w wersji Python 3.