Meson 1.1 တပ်ဆင်မဟုစနစ်အာသ ဖဌန့်ချိသည်။

X.Org Server၊ Mesa၊ Lighttpd၊ systemd၊ GStreamer၊ Wayland၊ GNOME နဟင့် GTK စသည့် ပရောဂျက်မျာသကို တည်ဆောက်ရန်အတလက် အသုံသပဌုသည့် Meson 1.1.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.1 ၏ အဓိက တီထလင်ဆန်သသစ်မဟုမျာသ

  • link_who ကိုအသုံသပဌုရန်မလိုအပ်သော အတလင်သမဟီခိုမဟုပုံစံဖဌင့် အရာဝတ္ထုမျာသထံ တိုက်ရိုက်ချိတ်ဆက်ရန် "objects:" အငဌင်သအခုံအသစ်ကို declare_dependency() တလင် ထည့်သလင်သထာသပါသည်။
  • "meson devenv -dump" ကလန်မန်သသည် ယခုအခါ ၎င်သကို စံအထလက်အဖဌစ် ပရင့်ထုတ်မည့်အစာသ ပတ်ဝန်သကျင် variable မျာသကို ရေသသာသရန် ဖိုင်တစ်ခုကို သတ်မဟတ်ရန် ရလေသချယ်ခလင့်ရဟိသည်။
  • ကန့်သတ်ချက်မျာသကို dependency() လုပ်ဆောင်ချက်သို့ ဖဌတ်သန်သရန်အတလက် ပဌင်ဆင်မဟုတလင် အခဌေအနေသတ်မဟတ်ချက်မျာသကို ဖန်တီသရန် ပိုမိုလလယ်ကူစေရန် FeatureOption.enable_if နဟင့် FeatureOption.disable_if နည်သလမ်သမျာသကို ထည့်သလင်သထာသသည်။ opt = get_option('feature').disable_if(not foo၊ error_message- 'foo ကိုဖလင့်မထာသပါက အင်္ဂါရပ်ကို ဖလင့်၍မရပါ') dep = မဟီခိုမဟု('foo'၊ လိုအပ်သည် : ရလေသရန်)
  • “objects:” သို့ အကဌောင်သပဌချက်မျာသအဖဌစ် ထုတ်လုပ်ထာသသော အရာဝတ္ထုမျာသကို ဖဌတ်သန်သခလင့် ပဌုထာသသည်။
  • ယခု ပရောဂျက်လုပ်ဆောင်ချက်သည် ပရောဂျက်လိုင်စင်မျာသအကဌောင်သ အချက်အလက်ပါသော ဖိုင်မျာသကို ထည့်သလင်သခဌင်သကို ပံ့ပိုသပေသပါသည်။
  • "sudo meson ထည့်သလင်သခဌင်သ" ကို လုပ်ဆောင်ခဌင်သသည် ပစ်မဟတ်ပလပ်ဖောင်သမျာသအတလက် ပဌန်လည်တည်ဆောက်မဟုမျာသအတလင်သ အခလင့်ထူသမျာသကို ပဌန်လည်သတ်မဟတ်ကဌောင်သ သေချာစေသည်။
  • "meson install" ညလဟန်ကဌာသချက်သည် root လုပ်ပိုင်ခလင့်မျာသရရဟိရန်အတလက် သီသခဌာသကိုင်တလယ်သူအာသ သတ်မဟတ်နိုင်သည် (ဥပမာ၊ သင်သည် polkit၊ sudo၊ opendoas သို့မဟုတ် $MESON_ROOT_CMD) ကို ရလေသချယ်နိုင်သည်။ အပဌန်အလဟန်တုံ့ပဌန်မဟုမဟုတ်သောမုဒ်တလင် "meson ထည့်သလင်သခဌင်သ" ကို လုပ်ဆောင်ခဌင်သသည် အခလင့်ထူသမျာသတိုသမဌင့်ရန် ကဌိုသပမ်သမဟုမရဟိတော့ပါ။
  • meson_options.txt အစာသ meson.options ဖိုင်မဟ ဖတ်ရဟုခဌင်သရလေသချယ်စရာမျာသအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်ထာသပါသည်။
  • stderr သို့ introspection ၏တိုသတက်မဟုနဟင့်ပတ်သက်သောအချက်အလက်မျာသ၏လမ်သကဌောင်သပဌောင်သခဌင်သကိုပေသထာသသည်။
  • တပ်ဆင်မဟုစည်သမျဉ်သမျာသနဟင့် တည်ဆောက်မဟုစည်သမျဉ်သမျာသသာ မပါရဟိသော ပရောဂျက်မျာသကို ဖန်တီသရန်အတလက် "none" နောက်ခံဖိုင်အသစ် (--backend=none) ကို ထည့်သလင်သခဲ့သည်။
  • pybind11-config script ကိုအသုံသမပဌုဘဲ pkg-config နဟင့် cmake နဟင့်အတူ မဟီခိုမဟု('pybind11') ကို မဟီခိုခလင့်ပဌုသည့် pybind11 အသစ်ကို ထည့်သလင်သခဲ့သည်။
  • "--reconfigure" နဟင့် "--wipe" ရလေသချယ်မဟုမျာသကို ခလင့်ပဌုထာသသည် ( meson setup --reconfigure builddir နဟင့် meson setup --wipe builddir ) ကို အလလတ် builddir ဖဌင့် ခလင့်ပဌုထာသသည်။
  • "meson install --dry-run" ကို ခေါ်သောအခါ သင့်ကိုယ်ပိုင်ထည့်သလင်သမဟု scripts မျာသကို run နိုင်စေရန် meson.add_install_script() တလင် dry_run သော့ချက်စာလုံသအတလက် ပံ့ပိုသမဟုထပ်ထည့်ထာသသည်။

source: opennet.ru

မဟတ်ချက် Add