Meson 1.1.0 มาพร้อมกับคุณสมบัติใหม่และการปรับปรุงมากมาย

เมสัน

Meson เป็นโครงการเพื่อสร้างระบบการสร้างยุคต่อไปที่ดีที่สุดเท่าที่จะเป็นไปได้

ดิ การเปิดตัวเวอร์ชันใหม่ของระบบการสร้าง Meson 1.1.0 ซึ่งใช้ในการรวบรวมโครงการยอดนิยมต่างๆ เช่น X.Org, Mesa, systemd, Wayland, GNOME เป็นต้น

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

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

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

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

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

ในเวอร์ชันใหม่ของ Meson 1.1 การดำเนินการของ «ติดตั้ง sudo meson» รับประกันการคืนสิทธิ์ ระหว่างการสร้างใหม่สำหรับแพลตฟอร์มเป้าหมาย

การเปลี่ยนแปลงที่โดดเด่นอีกอย่างคือคำสั่ง «การติดตั้งเมสัน» เสนอความสามารถในการระบุไดรเวอร์แยกต่างหาก เพื่อรับสิทธิ์รูท (เช่น คุณสามารถเลือก polkit, sudo, opendoas หรือ $MESON_ROOT_CMD) รวมถึงเรียกใช้ "การติดตั้งเมสัน» ในโหมดไม่โต้ตอบจะไม่พยายามยกระดับสิทธิ์อีกต่อไป

นอกจากนี้ ยังมีการเพิ่มข้อสังเกตอีกว่า แบ็กเอนด์ใหม่ "ไม่มี" (–backend=none) เพื่อสร้างโครงการที่มีเฉพาะกฎการติดตั้งและไม่มีกฎการสร้าง เช่นเดียวกับ เพิ่มการพึ่งพาใหม่ pybind11 เพื่อให้การพึ่งพา ('pybind11') ทำงานกับ pkg-config และ cmake โดยไม่ต้องใช้สคริปต์ pybind11-config

ของ การเปลี่ยนแปลงที่สำคัญ ไฮไลท์ของรีลีสใหม่นี้มีดังต่อไปนี้:

  • เพิ่มอาร์กิวเมนต์ใหม่ "วัตถุ:" เพื่อประกาศ_dependency() เพื่อแนบวัตถุโดยตรงกับไฟล์เรียกทำงานเป็นการพึ่งพาภายในที่ไม่ต้องการ link_who
  • การเปลี่ยนเส้นทางไปยัง stderr จากผลลัพธ์ของข้อมูลเกี่ยวกับความคืบหน้าของการวิปัสสนา
  • เพิ่มตัวเลือกให้กับคำสั่ง "meson devenv - ทิ้ง» เพื่อระบุไฟล์ที่จะเขียนตัวแปรสภาพแวดล้อมให้ แทนที่จะส่งไปยังเอาต์พุตมาตรฐาน
  • มีการเพิ่มวิธีการ FeatureOption.enable_if และ FeatureOption.disable_if เพื่อให้ง่ายต่อการสร้างเงื่อนไขเพื่อเตรียมการส่งผ่านพารามิเตอร์ไปยังฟังก์ชันการพึ่งพา () opt = get_option('feature').disable_if(not foo, error_message: 'Cannot enable feature when foo is not enable')
    dep = การพึ่งพา ('foo' จำเป็น : เลือก)
  • อนุญาตให้ส่งวัตถุที่สร้างขึ้นเป็นอาร์กิวเมนต์ "วัตถุ:".
  • ฟังก์ชันโครงการสนับสนุนการติดตั้งไฟล์ที่มีข้อมูลใบอนุญาตโครงการ
  • เพิ่มการรองรับตัวเลือกการอ่านไฟล์ meson.ตัวเลือก แทน meson_options.txt
  • ตัวเลือก "--กำหนดค่าใหม่" และ "--เช็ด" (การตั้งค่า meson – กำหนดค่า builddir ใหม่และการตั้งค่า meson – ลบ builddir) ได้รับอนุญาตด้วย builddir ที่ว่างเปล่า
  • Meson.add_install_script() เพิ่มการสนับสนุนคำหลัก ดราย_รันซึ่งอนุญาตให้คุณเรียกใช้สคริปต์การติดตั้งของคุณเองโดยเรียก "การติดตั้ง meson –dry-run"

สุดท้ายนี้ เป็นเรื่องที่ควรค่าแก่การกล่าวถึงว่าโค้ดของ Meson เขียนด้วย Python และได้รับอนุญาตภายใต้ลิขสิทธิ์ Apache 2.0 หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม คุณสามารถศึกษารายละเอียดได้ ในลิงค์ต่อไปนี้.

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

สำหรับ สนใจรับเมโสนพวกเขาควรรู้ว่ามีอยู่ใน PyPi ดังนั้นจึงสามารถติดตั้งได้ pip3 ติดตั้ง meson.

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

แม้ว่าคุณต้องการ คุณสามารถติดตั้งในเครื่องด้วยคำสั่ง Python มาตรฐาน:

python3 -m pip install meson

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา