介子構建系統版本 0.51

發表 建置系統發布 介子0.51,用於建立 X.Org Server、Mesa、Lighttpd、systemd、GStreamer、Wayland、GNOME 和 GTK+ 等專案。介子程式碼是用 Python 寫的 提供 在 Apache 2.0 下獲得許可。

Meson 開發的主要目標是提供高速的組裝過程以及便利性和易用性。預設建置使用工具包,而不是 make 實用程式 忍者,但也可以使用其他後端,例如 xcode 和 VisualStudio。系統有一個內建的多平台依賴處理程序,可讓您使用 Meson 建立分發包。彙編規則以簡化的特定於網域的語言指定,對於使用者來說具有高度的可讀性和可理解性(正如作者的意圖,開發人員應該花費最少的時間編寫規則)。

支援使用 GCC、Clang、Visual Studio 和其他編譯器在 Linux、macOS 和 Windows 上交叉編譯和建置。可以使用各種程式語言建立項目,包括 C、C++、Fortran、Java 和 Rust。支援增量建置模式,其中僅重建與上次建置以來所做的變更直接相關的元件。 Meson 可用於產生可重複的構建,其中在不同的環境中運行構建會產生完全相同的可執行檔。

主要的 創新 介子0.51:

  • 新增了對使用 CMake 建置腳本的現有專案的透明建置的支援。 Meson現在可以使用CMake模組直接建立簡單的子項目(例如單一庫),類似於標準子項目(其中CMake子項目可以放在子項目目錄中);
  • 對於所有使用的編譯器,透過組裝和執行簡單的測試檔案(健全性檢查)包括初步測試,不僅限於測試使用者指定的交叉編譯器標誌(從現在開始,還檢查目前平臺本機的編譯器) 。
  • 新增了定義交叉編譯期間使用的命令列選項的功能,並透過在選項前指定平台前綴進行綁定。以前,命令列選項僅涵蓋本機構建,無法指定交叉編譯。現在,無論您是進行本機編譯還是交叉編譯,命令列選項都適用,確保本機和交叉編譯產生相同的結果;
  • 新增了在命令列上多次指定「--cross-file」標誌以列出多個跨檔案的功能;
  • 增加了對 Windows 平台 ICL 編譯器(Intel C/C++ 編譯器)的支援(ICL.EXE 和 ifort);
  • 新增了對 CPU Xtensa(xt-xcc、xt-xc++、xt-nm)的初始工具包支援;
  • 「dependency」物件中新增了「get_variable」方法,它允許您取得變數的值,而無需考慮目前依賴項的類型(例如, dep.get_variable(pkg-config : 'var-名稱', cmake : 'COP_VAR_NAME) );
  • 新增了新的目標組件選項參數“link_language”,以明確指定呼叫連結器時所使用的語言。例如,主 Fortran 程式可以呼叫 C/C++ 程式碼,當應使用 Fortran 連結器時,它會自動選擇 C/C++;
  • CPPFLAGS 預處理器標誌的處理已變更。 Meson 先前分別儲存了 CPPFLAGS 和特定於語言的編譯標誌(CFLAGS、CXXFLAGS),現在它們被分開處理,並且 CPPFLAGS 中列出的標誌被用作支援它們的語言的編譯標誌的另一個來源;
  • custom_target 和 custom_target[i] 的輸出現在可以用作 link_with 和 link_whole 操作中的參數;
  • 生成器現在能夠使用「depends」選項指定其他依賴項(例如,generator(program_runner, output: [‘@[電子郵件保護]'],取決於:exe));
  • 為 find_library 新增了 static 選項,以允許搜尋僅包含靜態連結庫;
  • 對於 python.find_installation,新增了確定特定 Python 版本的給定 Python 模組是否存在的功能;
  • 新增了新模組unstable-kconfig用於解析kconfig檔;
  • 新增了一個新命令“subprojects foreach”,該命令接受帶有參數的命令並在所有子專案目錄中運行它;

來源: opennet.ru

添加評論