Meson 1.4 เปิดตัวแล้วและนี่คือฟีเจอร์ใหม่

Meson เป็นเครื่องมือซอฟต์แวร์ในการสร้างซอฟต์แวร์โดยอัตโนมัติ เป็นโอเพ่นซอร์สฟรีที่เขียนด้วย Python

เมื่อเร็วๆ นี้ได้มีการประกาศเปิดตัวระบบสร้างโปรแกรม Meson เวอร์ชัน 1.4 ใหม่ ซึ่งเวอร์ชันนี้มาพร้อมกับการสนับสนุนที่ดีขึ้นสำหรับฟังก์ชันบางอย่างของโมดูล FS รวมถึงการปรับปรุงความเข้ากันได้ ฟีเจอร์ใหม่ และอื่นๆ อีกมากมาย

สำหรับผู้ที่ไม่คุ้นเคยกับ Meson มันคือระบบสร้างโปรแกรมที่ใช้โดยโปรเจกต์ชื่อดังมากมาย เช่น X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME และ GTKเป้าหมายหลักคือการมอบกระบวนการสร้างโปรแกรมที่รวดเร็วและใช้งานง่าย โดยใช้ชุดเครื่องมือ Ninja เป็นค่าเริ่มต้น แต่ก็สามารถใช้งานร่วมกับแบ็กเอนด์อื่นๆ เช่น Xcode และ Visual Studio ได้เช่นกัน

ระบบนี้มีตัวจัดการการพึ่งพาข้ามแพลตฟอร์มแบบบูรณาการซึ่งช่วยลดความซับซ้อนในการสร้างแพ็กเกจสำหรับการแจกจ่ายซอฟต์แวร์ กฎการคอมไพล์ถูกกำหนดไว้ในภาษาเฉพาะที่อ่านง่าย ซึ่งช่วยลดเวลาที่จำเป็นในการเขียนกฎเหล่านั้นให้น้อยที่สุด

Meson รองรับการสร้างโปรเจ็กต์ในหลายภาษา เช่น C, C++, Fortran, Java และ Rust และเสนอโหมดการสร้างส่วนเพิ่มที่สร้างเฉพาะส่วนประกอบที่ได้รับผลกระทบจากการเปลี่ยนแปลงนับตั้งแต่การสร้างครั้งล่าสุด นอกจากนี้ Meson ยังสามารถสร้างบิลด์ที่ทำซ้ำได้ เพื่อให้มั่นใจว่าการรันบิลด์ในสภาพแวดล้อมที่แตกต่างกันจะสร้างไฟล์ปฏิบัติการที่เหมือนกันทุกประการ

ความแปลกใหม่หลักของ Meson 1.4

Meson เวอร์ชัน 1.4 ใหม่นี้ เน้นการเพิ่มการสนับสนุนสำหรับโมดูล FSซึ่งขณะนี้รองรับออบเจ็กต์เป้าหมายการคอมไพล์ build_tgt และ custom_tgtรวมถึงดัชนีเป้าหมายการคอมไพล์ (custom_idx) ในฟังก์ชัน fs.name, fs.parent, fs.replace_suffix และ fs.stem ด้วย

การเปลี่ยนแปลงที่สำคัญอีกอย่างในเวอร์ชันใหม่นี้คือ Meson สามารถอ่านเวอร์ชันของโปรเจ็กต์จากซับโปรเจ็กต์ที่ใช้ CMake ได้ แล้ว ซึ่งช่วยให้มั่นใจได้ว่าข้อจำกัดของเวอร์ชันได้รับการตรวจสอบอย่างถูกต้องเมื่อเข้าถึงซับโปรเจ็กต์ CMake

นอกจากนี้อาร์กิวเมนต์ `preserve_paths` ได้ถูกเพิ่มเข้าไปในฟังก์ชัน `compile_ui`, `compile_moc` และฟังก์ชันการประมวลผลล่วงหน้าของโมดูล `qt4`, `qt5` และ `qt6`เพื่อเลือกตัวเลือกในการสร้างโครงสร้างไดเร็กทอรีสำหรับไฟล์ที่กำลังเขียน

สิ่งที่ควรทราบก็คือมีการเพิ่มการรองรับ Clang ให้กับ stldebug เมื่อเปิดใช้งาน debugstl เมธอด unset() ถูกนำมาใช้กับออบเจ็กต์ env และเพิ่มเมธอด full_path() ให้กับออบเจ็กต์ File เพื่อรับเส้นทางแบบเต็มไปยังไฟล์

ได้เพิ่มการรองรับเครื่องมือ numpy-config และ pkg-config เป็นการ พึ่งพาแบบกำหนดเองใหม่แล้ว โดยเริ่มใช้งานได้ตั้งแต่ NumPy เวอร์ชัน 2.0.0 การรองรับ numpy-config จะทำงานโดยอัตโนมัติเมื่อติดตั้ง NumPy แล้ว อย่างไรก็ตาม ไฟล์ pkg-config อยู่ในโฟลเดอร์ site packages ของ Python ซึ่งหมายความว่าไม่สามารถใช้งานได้ทันทีหากไม่ได้กำหนดค่า PKG_CONFIG_PATH ก่อน

การเปลี่ยนแปลงที่สำคัญ อื่นๆในเวอร์ชันใหม่นี้ ได้แก่:

  • ความสามารถในการควบคุมการตรวจสอบการยืนยัน (GLIBCXX_ASSERTIONS) ใน C ++ stdlib ผ่านการกำหนดค่า ndebug
  • เพิ่มอาร์กิวเมนต์คำหลักของserver_pathsunให้กับฟังก์ชันโมดูล qt
  • ตอนนี้คุณสามารถระบุเป้าหมายที่ขึ้นอยู่กับการพึ่งพา: สำหรับ compiler.preprocess() ต้องสร้างเป้าหมายเหล่านี้ก่อนที่จะเริ่มการประมวลผลล่วงหน้า
  • ขณะนี้ตัวสร้างการเชื่อมโยง Bingen รองรับการวิเคราะห์พฤติกรรมของ Meson เพื่อกำหนดไฟล์ส่วนหัว C++
  • เพิ่มความสามารถในการแทนที่การตั้งค่าภาษาสำหรับ Bingen
  • ขณะนี้การทดสอบล้มเหลวตามค่าเริ่มต้นหลังจากพบข้อผิดพลาดขณะเรียกใช้สารฆ่าเชื้อ เช่น MemorySanitizer
  • เพิ่มการรองรับคอมไพเลอร์ Texas Instruments C/C++ สำหรับตระกูล CPU C6000

สุดท้ายนี้ หากคุณสนใจเรียนรู้เพิ่มเติม สามารถดูรายละเอียดได้ที่ลิงก์ต่อไปนี้

จะติดตั้ง Meson บน Linux ได้อย่างไร?

สำหรับผู้ที่สนใจสามารถติดตั้งระบบบิวด์นี้บนระบบของตน สามารถทำได้โดยทำตามคำแนะนำที่เราแบ่งปันด้านล่างนี้

พวกเขาควรรู้ว่า Meson มีอยู่ใน PyPi ดังนั้นจึงสามารถติดตั้งได้ด้วยคำสั่ง:

pip3 install meson

โปรดทราบว่าคุณควรทราบว่าคำสั่งที่แน่นอนสำหรับพิมพ์เพื่อติดตั้ง pip อาจแตกต่างกันไปในแต่ละระบบ ดังนั้นขอแนะนำให้คุณใช้ pip เวอร์ชัน Python 3


เพิ่มเป็นแหล่งข้อมูลที่ต้องการใน Google