Meson 是一種軟件工具,用於自動構建軟件。 它是用 Python 編寫的免費開源軟件。
的推出 新版Meson構建系統1.0.0,它帶有新的參數,以及在 Rust 中編譯項目的穩定性等。
不了解介子的人應該知道 這個構建系統用於編譯大牌項目 例如 X.Org Server、Mesa、Lighttpd、systemd、GStreamer、Wayland、GNOME 和 GTK。
Meson 的主要開發目標是提供高速編譯過程,同時方便易用。 默認情況下,構建使用 Ninja Toolkit 而不是這樣做,但也可以使用其他後端,如 xcode 和 VisualStudio。
系統 有一個內置的跨平台依賴處理程序 允許你使用介子 為分發創建包。 編譯規則以簡化的領域特定語言表述,它們對用戶而言具有很好的可讀性和理解性(根據作者的想法,開發人員應該花最少的時間來編寫規則)。
Se 支持交叉編譯 以及使用 GCC、Clang、Visual Studio 和其他編譯器在 Linux、Illumos/Solaris、FreeBSD、NetBSD、DragonFly BSD、Haiku、macOS 和 Windows 上編譯。
可以用多種編程語言構建項目,包括 C、C++、Fortran、Java 和 Rust。 支持增量構建模式,其中僅重建與自上次構建以來所做更改直接相關的組件。
Meson 可用於生成可重複構建,在不同環境中運行構建會產生完全相同的可執行文件。
Meson 1.0 的主要創新點
在 Meson 1.0 的這個新版本中,強調了 用 Rust 語言構建項目的模塊已被宣布穩定。 該模塊在 Mesa 項目中用於構建用 Rust 編寫的組件。
大多數編譯器檢查函數都支持,前綴選項實現了處理除字符串之外的數組的能力。
此次發布的另一個突出變化是他們提出 新運算符“in”和“not in”用於確定字符串中子字符串的出現, 類似於以前可用的檢查數組或字典中元素是否出現的方法。
除此之外,我們還可以發現 添加選項 «警告級別=一切” 觸發所有可用編譯器警告的輸出 (Clang 和 MSVC 使用 -Weverything 和 /Wall,而 GCC 包括單獨的警告,大致對應於 clang 的 -Weverything 模式。)
還值得注意的是 新參數“–workdir”允許您覆蓋工作目錄. 例如,使用當前目錄而不是工作目錄。
rust.bindgen 方法實現了處理“dependencies”參數以將路徑傳遞給編譯器處理的依賴項的能力,並且 java.generate_native_headers 函數已被棄用並重命名為 java.native_headers 以匹配 Meson 的一般函數命名風格。
另一方面,也有人提到,現在 交叉編譯時,開發環境 設置所有環境變量 對於主機。 如果設置了屬性,現在還設置 QEMU_LD_PREFIX 和交叉文件的 sys_root 值。 這意味著交叉編譯的可執行文件通常可以在構建機器上透明地運行,例如當從 x64_86 linux 交叉編譯到 aarch64 linux 時。
最後,如果您有興趣能夠了解更多,可以在 以下鏈接。
如何在 Linux 上安裝介子?
對於那些有興趣在他們的系統上安裝這個構建系統的人,他們可以按照我們在下面分享的說明進行操作。
他們應該知道 Meson 在 PyPi 上可用,因此可以使用以下命令安裝:
pip3 install meson
請注意,您應該知道用於安裝 pip 的確切命令因係統而異,因此建議您使用 Python 3 版本的 pip。