Meson 1.4 đã được phát hành và đây là những tính năng mới của nó

Meson là một công cụ phần mềm để tự động hóa việc xây dựng phần mềm. Nó là nguồn mở và miễn phí được viết bằng Python.

Mới đây, hệ thống biên dịch Meson 1.4 phiên bản mới đã được công bố . Phiên bản này đi kèm với sự hỗ trợ được cải thiện cho một số chức năng của mô-đun FS, cũng như các cải tiến về khả năng tương thích, các tính năng mới và nhiều hơn nữa.

Đối với những người chưa quen với Meson, đây là một hệ thống xây dựng được sử dụng bởi các dự án nổi tiếng như X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME và GTK. Mục tiêu chính của nó là cung cấp một quy trình xây dựng nhanh chóng và thân thiện với người dùng. Nó sử dụng bộ công cụ Ninja theo mặc định nhưng cũng tương thích với các hệ thống phụ trợ khác như Xcode và Visual Studio.

Hệ thống này tích hợp trình quản lý phụ thuộc đa nền tảng, giúp đơn giản hóa việc tạo gói cho các bản phân phối. Các quy tắc biên dịch được định nghĩa bằng một ngôn ngữ cụ thể, dễ đọc, giúp giảm thiểu thời gian cần thiết để viết chúng.

Meson hỗ trợ xây dựng các dự án bằng nhiều ngôn ngữ như C, C++, Fortran, Java và Rust, đồng thời cung cấp chế độ xây dựng tăng dần để chỉ xây dựng lại các thành phần bị ảnh hưởng bởi những thay đổi kể từ lần xây dựng cuối cùng. Ngoài ra, Meson có thể tạo các bản dựng lặp lại, đảm bảo rằng việc chạy bản dựng trong các môi trường khác nhau sẽ tạo ra các tệp thực thi hoàn toàn giống nhau.

Điểm mới chính của Meson 1.4

Phiên bản Meson 1.4 mới này nhấn mạnh việc bổ sung hỗ trợ cho mô-đun FS, hiện hỗ trợ các đối tượng mục tiêu biên dịch build_tgt và custom_tgt, cũng như chỉ mục mục tiêu biên dịch (custom_idx) trong các hàm fs.name, fs.parent, fs.replace_suffix và fs.stem.

Một thay đổi đáng chú ý khác trong phiên bản mới này là Meson giờ đây có thể đọc phiên bản dự án từ các dự án con dựa trên CMake. Điều này đảm bảo rằng các ràng buộc về phiên bản được xác minh chính xác khi truy cập vào một dự án con CMake.

Ngoài ra, tham số `preserve_paths` hiện đã được thêm vào các hàm `compile_ui`, `compile_moc` và các hàm tiền xử lý của các mô-đun `qt4`, `qt5` và `qt6` để chọn tùy chọn xây dựng cấu trúc thư mục cho các tệp đang được ghi.

Cũng cần lưu ý rằng hỗ trợ Clang đã được thêm vào stldebug khi debugstl được bật, phương thức unset() đã được đưa vào đối tượng env và phương thức full_path() đã được thêm vào đối tượng File để lấy đường dẫn đầy đủ đến tệp.

Đã thêm hỗ trợ cho công cụ numpy-config và pkg-config dưới dạng các phụ thuộc tùy chỉnh mới. Tính năng này khả dụng bắt đầu từ NumPy 2.0.0. Hỗ trợ cho numpy-config sẽ hoạt động tự động sau khi NumPy được cài đặt. Tuy nhiên, tệp pkg-config nằm trong thư mục gói của Python, có nghĩa là không thể sử dụng ngay lập tức nếu chưa cấu hình PKG_CONFIG_PATH.

Những thay đổi đáng chú ý khác trong phiên bản mới này bao gồm:

  • Khả năng kiểm soát việc kiểm tra xác nhận (GLIBCXX_ASSERTIONS) trong C++ stdlib thông qua cấu hình ndebug.
  • Đã thêm đối số từ khóa bảo tồn_pathsun vào các hàm mô-đun qt
  • Bây giờ có thể chỉ định các mục tiêu phụ thuộc với phụ thuộc: cho trình biên dịch.preprocess(). Những mục tiêu này phải được xây dựng trước khi bắt đầu quá trình tiền xử lý.
  • Trình tạo liên kết bindgen hiện hỗ trợ chẩn đoán Meson để xác định tệp tiêu đề C++.
  • Đã thêm khả năng ghi đè cài đặt ngôn ngữ cho bindgen.
  • Các thử nghiệm hiện không thành công theo mặc định sau khi gặp lỗi khi chạy các công cụ khử trùng như MemorySanitizer.
  • Đã thêm hỗ trợ cho trình biên dịch C/C++ của Texas Instruments cho dòng CPU C6000.

Cuối cùng, nếu bạn muốn tìm hiểu thêm, bạn có thể xem chi tiết tại liên kết sau.

Làm cách nào để cài đặt Meson trên Linux?

Đối với những ai quan tâm đến việc có thể cài đặt hệ thống xây dựng này trên hệ thống của mình, họ có thể thực hiện bằng cách làm theo hướng dẫn mà chúng tôi chia sẻ bên dưới.

Họ nên biết rằng Meson có sẵn trên PyPi, vì vậy nó có thể được cài đặt bằng lệnh:

pip3 install meson

Lưu ý rằng bạn nên biết rằng lệnh chính xác để nhập để cài đặt pip có thể khác nhau giữa các hệ thống, vì vậy bạn nên sử dụng phiên bản pip Python 3.


Thêm vào danh sách nguồn ưu tiên trên Google.