Meson มาถึงเวอร์ชัน 1.0.0 และนี่คือข่าวของมัน

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

การเปิดตัวของ เวอร์ชันใหม่ของ Meson build system 1.0.0ซึ่งมาพร้อมกับข้อโต้แย้งใหม่ๆ รวมถึงความเสถียรในการคอมไพล์โปรเจ็กต์ใน Rust เหนือสิ่งอื่นใด

สำหรับคนที่ไม่รู้จักเมโสนก็น่าจะรู้นะ ระบบการสร้างนี้ใช้เพื่อรวบรวมโครงการชื่อใหญ่ เช่น X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME และ GTK

เป้าหมายการพัฒนาที่สำคัญของ Meson คือการจัดเตรียมกระบวนการรวบรวมความเร็วสูงที่ผสมผสานกับความสะดวกสบายและง่ายต่อการใช้งาน แทนที่จะทำแบบนั้น บิลด์จะใช้ Ninja Toolkit เป็นค่าเริ่มต้น แต่แบ็กเอนด์อื่นๆ เช่น xcode และ VisualStudio ก็สามารถใช้ได้เช่นกัน

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

Se รองรับการคอมไพล์ข้าม และการคอมไพล์บน Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS และ Windows โดยใช้ GCC, Clang, Visual Studio และคอมไพเลอร์อื่นๆ

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

สามารถใช้ Meson เพื่อสร้างบิลด์ที่ทำซ้ำได้ โดยที่การรันบิลด์ในสภาพแวดล้อมที่แตกต่างกันจะทำให้ได้ไฟล์ปฏิบัติการที่เหมือนกันทั้งหมด

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

ในรุ่นใหม่ของ Meson 1.0 มีการเน้นย้ำว่า โมดูลสำหรับการสร้างโครงการในภาษา Rust ได้รับการประกาศว่าเสถียรแล้ว โมดูลนี้ใช้ในโครงการ Mesa เพื่อสร้างส่วนประกอบที่เขียนด้วยสนิม
สนับสนุนโดยฟังก์ชันตรวจสอบคอมไพเลอร์ส่วนใหญ่ ตัวเลือกคำนำหน้าใช้ความสามารถในการจัดการอาร์เรย์อื่นที่ไม่ใช่สตริง

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

นอกจากนั้น เรายังพบว่า เพิ่มตัวเลือก «ระดับคำเตือน = ทุกอย่าง” เพื่อทริกเกอร์เอาต์พุตของคำเตือนคอมไพเลอร์ที่มีอยู่ทั้งหมด (เสียงดังกราวและ MSVC ใช้ -Weverything และ /Wall และ GCC รวมถึงคำเตือนแยกต่างหาก ซึ่งสอดคล้องกับโหมด -Weverything ของ clang อย่างคร่าว ๆ)

นอกจากนี้ยังเป็นที่น่าสังเกตว่า อาร์กิวเมนต์ใหม่ “–workdir” เพื่อให้คุณแทนที่ไดเร็กทอรีการทำงาน. ตัวอย่างเช่น เมื่อต้องการใช้ไดเร็กทอรีปัจจุบันแทนไดเร็กทอรีการทำงาน

เมธอด rust.bindgen ใช้ความสามารถในการประมวลผลอาร์กิวเมนต์ "การพึ่งพา" เพื่อส่งผ่านพาธไปยังการพึ่งพาที่คอมไพเลอร์จะประมวลผล และฟังก์ชัน java.generate_native_headers เลิกใช้แล้วและเปลี่ยนชื่อเป็น java.native_headers เพื่อให้ตรงกับรูปแบบการตั้งชื่อฟังก์ชันทั่วไปของ Meson

ในทางกลับกัน ก็ยังกล่าวถึงในตอนนี้ว่า เมื่อคอมไพล์ข้ามสภาพแวดล้อมของนักพัฒนา ตั้งค่าตัวแปรสภาพแวดล้อมทั้งหมด สำหรับเครื่อง HOST ตอนนี้ยังตั้งค่า QEMU_LD_PREFIX และค่า sys_root ของ crossfile หากมีการตั้งค่าคุณสมบัติ ซึ่งหมายความว่าโปรแกรมประมวลผลแบบคอมไพล์ข้ามมักจะสามารถเรียกใช้อย่างโปร่งใสบนเครื่องบิลด์ ตัวอย่างเช่น เมื่อทำการคอมไพล์ข้ามไปยัง aarch64 linux จาก x86_64 linux

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

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

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

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

pip3 install meson

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


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