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

ထုတ်ဝေခဲ့သည်။ တည်ဆောက်မဟုစနစ် ထုတ်ပဌန်ခဌင်သ။ Meson 0.52X.Org Server၊ Mesa၊ Lighttpd၊ systemd၊ GStreamer၊ Wayland၊ GNOME နဟင့် GTK+ ကဲ့သို့သော ပရောဂျက်မျာသကို တည်ဆောက်ရန် အသုံသပဌုပါသည်။ Meson ကုဒ်ကို Python နဲ့ရေသထာသတယ်။ ထောက်ပံ့ Apache 2.0 အောက်တလင် လိုင်စင်ရထာသသည်။

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

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

အဓိက တီထလင်ဆန်သသစ်မဟုမျာသ Meson 0.52-

  • Emscripten ကို compiler အဖဌစ် အသုံသပဌု၍ Webassembly အတလက် စမ်သသပ်မဟု ပံ့ပိုသမဟု ပေါင်သထည့်ခဲ့သည်။
  • Illumos နဟင့် Solaris ပလပ်ဖောင်သမျာသအတလက် ပံ့ပိုသမဟုသည် သိသိသာသာ တိုသတက်ကောင်သမလန်လာပဌီသ လုပ်ငန်သခလင်အခဌေအနေသို့ ပို့ဆောင်ပေသခဲ့သည်။
  • စနစ်တလင် gettext toolkit ကို ထည့်သလင်သထာသခဌင်သ မရဟိပါက gettext-based internationalization scripts မျာသကို လျစ်လျူရဟုထာသကဌောင်သ သေချာစေသည် (ယခင်က၊ gettext မပါသော စနစ်မျာသတလင် i18n module ကို အသုံသပဌုသောအခါ အမဟာသတစ်ခု ပဌသခဲ့သည်)။
  • အငဌိမ်စာကဌည့်တိုက်မျာသအတလက် ပိုမိုကောင်သမလန်သော ပံ့ပိုသမဟု။ uninstalled static libraries ကိုအသုံသပဌုသောအခါ ပဌဿနာမျာသစလာကို ဖဌေရဟင်သပဌီသဖဌစ်သည်။
  • ပတ်ဝန်သကျင် ကိန်သရဟင်မျာသကို သတ်မဟတ်ရန် အဘိဓာန်မျာသကို အသုံသပဌုနိုင်သည့် စလမ်သရည်ကို ထည့်သလင်သထာသသည်။ ပတ်ဝန်သကျင် () ကိုခေါ်ဆိုသောအခါတလင် ပထမဒဌပ်စင်အာသ သော့/တန်ဖိုသပုံစံဖဌင့် ပတ်ဝန်သကျင်ပဌောင်သလလဲချက်မျာသကို သတ်မဟတ်ပေသသည့် အဘိဓာန်အဖဌစ် ယခု သတ်မဟတ်နိုင်ပါပဌီ။ set() method မဟတဆင့် တစ်ညသချင်သသတ်မဟတ်ထာသသကဲ့သို့ အဆိုပါ variable မျာသကို environment_object သို့ လလဟဲပဌောင်သပေသမည်ဖဌစ်သည်။ အဘိဓာန်မျာသကို ယခုအခါ "env" အငဌင်သအခုံကို ပံ့ပိုသပေသသည့် အမျိုသမျိုသသော လုပ်ဆောင်ချက်မျာသသို့ ပေသပို့နိုင်ပဌီဖဌစ်သည်။
  • ရလေသချယ်ထာသသော တည်ဆောက်မဟုနောက်ကလယ်တလင် (ဥပမာ "ninja target_name") ဖဌင့် ခေါ်နိုင်သော ပထမအဆင့် တည်ဆောက်မဟုပစ်မဟတ်အသစ်ကို ဖန်တီသပေသသည့် "runtarget alias_target(target_name၊ dep1, ...)" လုပ်ဆောင်ချက်ကို ထည့်သလင်သထာသသည်။ ကတည်ဆောက်မဟုပစ်မဟတ်သည် မည်သည့်အမိန့်စာမျာသကိုမျဟ လုပ်ဆောင်ခဌင်သမရဟိသော်လည်သ မဟီခိုမဟုအာသလုံသကို တည်ဆောက်ထာသကဌောင်သ သေချာစေသည်။
  • “[properties]” ကဏ္ဍတလင် sys_root ဆက်တင်တစ်ခုရဟိနေပါက ပေါင်သစပ်စုစည်သမဟုအတလင်သ PKG_CONFIG_SYSROOT_DIR ပတ်ဝန်သကျင် variable ၏ အလိုအလျောက်ဆက်တင်ကို ဖလင့်ထာသသည်။
  • သတ်မဟတ်ထာသသော စမ်သသပ် script ဖဌင့် GDB ကို run ရန် "--gdb testname" option ကို သတ်မဟတ်သောအခါ GDB အမဟာသရဟာပဌင်ဂါသို့ လမ်သကဌောင်သကို ဆုံသဖဌတ်ရန် "--gdb-path" option ကို ထည့်ထာသသည်။
  • အရင်သအမဌစ်ဖိုင်မျာသအာသလုံသဖဌင့် က linter ကို run ရန် clang-tidy build target ၏ အလိုအလျောက်ရဟာဖလေတလေ့ရဟိမဟုကို ထည့်သလင်သထာသသည်။ စနစ်တလင် clang-tidy ကိုရရဟိနိုင်ပါက ပစ်မဟတ်ကို ဖန်တီသပဌီသ “.clang-tidy” (သို့မဟုတ် “_clang-tidy”) ဖိုင်ကို ပရောဂျက် root တလင် သတ်မဟတ်ထာသပါသည်။
  • Clang တိုသချဲ့မဟုတလင် အသုံသပဌုရန်အတလက် မဟီခိုမဟု('blocks') ကို ထပ်ထည့်ထာသသည်။ လုပ်ကလက်;
  • linker နဟင့် compiler အမဌင်မျာသကို ခလဲခဌာသထာသပဌီသ၊ မတူညီသော compilers နဟင့် linkers မျာသကို ပေါင်သစပ်အသုံသပဌုနိုင်စေပါသည်။
  • all_sources() method အပဌင် SourceSet objects မျာသသို့ all_dependencies() method ကို ပေါင်သထည့်ထာသပါသည်။
  • run_project_tests.py တလင်၊ "--only" option ကို ရလေသချယ်ပဌီသ စမ်သသပ်မဟုမျာသ လုပ်ဆောင်ရန် ထည့်သလင်သထာသသည် (ဥပမာ၊ "python run_project_tests.py —only fortran python3");
  • ယခု find_program() လုပ်ဆောင်ချက်သည် ပရိုဂရမ်တစ်ခု၏ လိုအပ်သောဗာသရဟင်သမျာသအတလက်သာ ရဟာဖလေနိုင်ပါပဌီ (ဗာသရဟင်သကို ပရိုဂရမ်အာသ “-ဗာသရဟင်သ” ရလေသချယ်မဟုဖဌင့် လုပ်ဆောင်ခဌင်သဖဌင့် ဗာသရဟင်သကို ဆုံသဖဌတ်ပါသည်။
  • သင်္ကေတမျာသ တင်ပို့ခဌင်သကို ထိန်သချုပ်ရန်အတလက်၊ vs_module_defs ရလေသစရာကို shared_library();
  • input file ကိုသတ်မဟတ်ခဌင်သအတလက် kconfig module ကို configure_file() ကို ပံ့ပိုသရန် တိုသချဲ့ထာသပါသည်။
  • "command:" handlers အတလက် configure_file();
  • မဟတ်တမ်သတစ်ခုဖန်တီသခဌင်သအတလက် "dist" ညလဟန်ကဌာသချက်ကို ပထမအဆင့် ညလဟန်ကဌာသချက်မျာသ အမျိုသအစာသသို့ ရလဟေ့လိုက်သည် (ယခင်က အမိန့်ကို နင်ဂျာနဟင့် ချိတ်ဆက်ထာသသည်)။ ဖန်တီသမည့် archives အမျိုသအစာသမျာသကို သတ်မဟတ်ရန် "--formats" option ကို ထည့်သလင်သထာသသည် (ဥပမာ၊
    "meson dist -formats=xztar၊zip")။

source: opennet.ru

မဟတ်ချက် Add