Meson 1.0 တပ်ဆင်မှုစနစ်အား ဖြန့်ချိသည်။

X.Org Server၊ Mesa၊ Lighttpd၊ systemd၊ GStreamer၊ Wayland၊ GNOME နှင့် GTK စသည့် ပရောဂျက်များကို တည်ဆောက်ရန်အတွက် အသုံးပြုသည့် Meson 1.0.0 တည်ဆောက်မှုစနစ်အား ထုတ်ဝေလိုက်ပါသည်။ Meson ကုဒ်ကို Python ဖြင့်ရေးသားထားပြီး Apache 2.0 လိုင်စင်အောက်တွင် လိုင်စင်ရထားသည်။

Meson ၏ အဓိက ဖွံ့ဖြိုးတိုးတက်မှုပန်းတိုင်သည် အဆင်ပြေလွယ်ကူမှုနှင့် အသုံးပြုရလွယ်ကူမှုတို့နှင့်အတူ ပေါင်းစပ်ထားသော မြန်နှုန်းမြင့် တပ်ဆင်မှုလုပ်ငန်းစဉ်ကို ပံ့ပိုးပေးရန်ဖြစ်သည်။ ဖန်တီးမည့်အစား၊ တည်ဆောက်မှုသည် မူရင်းအတိုင်း Ninja toolkit ကို အသုံးပြုသော်လည်း xcode နှင့် VisualStudio ကဲ့သို့သော အခြားသော backend များကိုလည်း အသုံးပြုနိုင်ပါသည်။ စနစ်တွင် ဖြန့်ဝေမှုများအတွက် ပက်ကေ့ဂျ်များတည်ဆောက်ရန်အတွက် Meson ကိုအသုံးပြုရန် သင့်အား ခွင့်ပြုသည့် တပ်ဆင်ထားသည့် multi-platform မှီခိုမှုကိုင်တွယ်ကိရိယာတစ်ခုရှိသည်။ စည်းဝေးပွဲစည်းမျဉ်းများကို ရိုးရှင်းသော ဒိုမိန်း-သီးသန့်ဘာသာစကားဖြင့် သတ်မှတ်ထားပြီး ၎င်းတို့ကို အသုံးပြုသူမှ ကောင်းစွာဖတ်ရှုနိုင်ကာ နားလည်နိုင်သည် (စာရေးဆရာများ၏ အယူအဆအရ၊ ဆော့ဖ်ဝဲရေးသားသူသည် အနည်းဆုံး အချိန်အတိုင်းအတာတစ်ခုအထိ စည်းမျဉ်းများကို သုံးစွဲသင့်သည်)။

GCC၊ Clang၊ Visual Studio နှင့် အခြားသော compilers များကို အသုံးပြု၍ Linux၊ Illumos/Solaris၊ FreeBSD၊ NetBSD၊ DragonFly BSD၊ Haiku၊ macOS နှင့် Windows တို့တွင် အပြန်အလှန်စုစည်းခြင်းနှင့် တည်ဆောက်ခြင်းကို ပံ့ပိုးထားပါသည်။ C၊ C++၊ Fortran၊ Java နှင့် Rust အပါအဝင် အမျိုးမျိုးသော ပရိုဂရမ်းမင်းဘာသာစကားများဖြင့် ပရောဂျက်များကို တည်ဆောက်နိုင်သည်။ နောက်ဆုံးတည်ဆောက်မှုနောက်ပိုင်းတွင် ပြုလုပ်ထားသော အပြောင်းအလဲများနှင့် တိုက်ရိုက်သက်ဆိုင်သည့် အစိတ်အပိုင်းများကိုသာ တိုးမြှင့်တည်ဆောက်မုဒ်ကို ပံ့ပိုးထားသည်။ မတူညီသောပတ်ဝန်းကျင်များတွင် တည်ဆောက်မှုကို လုပ်ဆောင်ခြင်းဖြင့် လုံးဝထပ်တူထပ်မျှသော လုပ်ဆောင်ချက်များကို ဖြစ်ပေါ်စေသည့် ထပ်တလဲလဲလုပ်ဆောင်နိုင်သော တည်ဆောက်မှုများကို ဖန်တီးရန်အတွက် Meson ကို အသုံးပြုနိုင်သည်။

Meson 1.0 ၏ အဓိက တီထွင်ဆန်းသစ်မှုများ

  • Rust ဘာသာစကားဖြင့် တည်ဆောက်သည့် ပရောဂျက်များအတွက် မော်ဂျူးအား တည်ငြိမ်ကြောင်း ကြေညာထားသည်။ Rust တွင်ရေးထားသောအစိတ်အပိုင်းများကိုတည်ဆောက်ရန်အတွက်ဤ module ကို Mesa ပရောဂျက်တွင်အသုံးပြုသည်။
  • compiler စစ်ဆေးခြင်းလုပ်ဆောင်ချက်အများစုမှပံ့ပိုးထားသော၊ ရှေ့ဆက်ရွေးချယ်မှုသည် strings များထက်အခြား array များကိုကိုင်တွယ်နိုင်စွမ်းကိုအကောင်အထည်ဖော်သည်။ ဥပမာအားဖြင့်၊ သင်သည် ယခု သတ်မှတ်နိုင်သည်- cc.check_header('GL/wglew.h'၊ ရှေ့ဆက် - ['#include ',' #ပါဝင်သည် '])
  • အလုပ်လမ်းညွှန်ကို အစားထိုးနိုင်စေရန် "--workdir" အငြင်းအခုံအသစ်ကို ထည့်သွင်းထားသည်။ ဥပမာအားဖြင့်၊ အလုပ်လုပ်သည့်လမ်းညွှန်အစား လက်ရှိလမ်းညွှန်ကိုအသုံးပြုရန်၊ သင်လုပ်ဆောင်နိုင်သည်- meson devenv -C builddir --workdir .
  • အသစ်သော အော်ပရေတာများ "ဝင်" နှင့် "မဝင်ပါ" များသည် array သို့မဟုတ် အဘိဓာန်ရှိ ဒြပ်စင်တစ်ခု၏ ဖြစ်ပျက်မှုအတွက် ယခင်က ရရှိနိုင်သော စစ်ဆေးမှုများနှင့် ဆင်တူသည်၊ string တစ်ခုရှိ စာကြောင်းခွဲတစ်ခု ဖြစ်ပေါ်ခြင်းကို ဆုံးဖြတ်ရန်အတွက် အဆိုပြုထားသည်။ ဥပမာ- fs = import('fs') တွင် 'တစ်ခုခု' ဖြစ်ပါက fs.read('somefile') # True endif
  • ရရှိနိုင်သော compiler သတိပေးချက်အားလုံး၏ output ကိုဖွင့်ရန် "warning-level=everything" option (clang နှင့် MSVC တွင် -Weverything နှင့် /Wall ကိုအသုံးပြုထားပြီး GCC တွင် သီးခြားသတိပေးချက်များပါဝင်သည်၊ clang ရှိ -Weverything mode နှင့် အကြမ်းဖျင်းအားဖြင့် သက်ဆိုင်သည်)။
  • rust.bindgen နည်းလမ်းသည် compiler မှ လုပ်ဆောင်သင့်သော မှီခိုမှုလမ်းကြောင်းများသို့ ဖြတ်သန်းရန်အတွက် "မှီခိုမှု" အငြင်းအခုံကို လုပ်ဆောင်နိုင်စွမ်းကို ဖော်ဆောင်ပေးပါသည်။
  • java.generate_native_headers လုပ်ဆောင်ချက်ကို Meson ၏ ယေဘူယျလုပ်ဆောင်ချက်အမည်ပေးခြင်းပုံစံနှင့် ကိုက်ညီစေရန် java.native_headers ဟု အမည်ပြောင်းထားပါသည်။

source: opennet.ru

မှတ်ချက် Add