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

ထုတ်ဝေခဲ့သည်။ တည်ဆောက်မဟုစနစ် ထုတ်ပဌန်ခဌင်သ။ Meson 0.51X.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 မဟီခိုမဟုကိုင်တလယ်ကိရိယာတစ်ခုရဟိသည်။ စည်သဝေသပလဲစည်သမျဉ်သမျာသကို ရိုသရဟင်သသော ဒိုမိန်သ-သက်ဆိုင်ရာဘာသာစကာသဖဌင့် သတ်မဟတ်ထာသသည်၊ အသုံသပဌုသူအတလက် အလလန်ဖတ်ရလလယ်ကူပဌီသ နာသလည်နိုင်သည် (စာရေသဆရာမျာသရည်ရလယ်ထာသသည့်အတိုင်သ၊ ဆော့ဖ်ဝဲရေသသာသသူသည် အနည်သဆုံသအချိန်အတိုင်သအတာတစ်ခုအထိ စည်သမျဉ်သမျာသကို သုံသစလဲသင့်သည်)။

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

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

  • CMake build scripts ကိုသုံသသည့် လက်ရဟိပရောဂျက်မျာသ၏ ပလင့်လင်သမဌင်သာမဟုတည်ဆောက်ခဌင်သအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်ထာသသည်။ Meson သည် စံပရောဂျက်ခလဲမျာသနဟင့်ဆင်တူသော CMake module ကိုအသုံသပဌု၍ ရိုသရဟင်သသောပရောဂျက်ခလဲမျာသ (စာကဌည့်တိုက်တစ်ခုတည်သကဲ့သို့) တိုက်ရိုက်တည်ဆောက်နိုင်သည် (CMake စီမံကိန်သခလဲမျာသအပါအဝင် ပရောဂျက်ခလဲမျာသလမ်သညလဟန်တလင် ထည့်ထာသနိုင်သည်)။
  • အသုံသပဌုထာသသော compilers မျာသအာသလုံသအတလက်၊ ရိုသရဟင်သသောစမ်သသပ်ဖိုင်မျာသကို စုစည်သခဌင်သနဟင့် လုပ်ဆောင်ခဌင်သမဟတဆင့် ပဏာမစမ်သသပ်ခဌင်သကို ထည့်သလင်သထာသပဌီသ cross-compilers အတလက် အသုံသပဌုသူသတ်မဟတ်ထာသသောအလံမျာသကို စမ်သသပ်ခဌင်သအတလက် အကန့်အသတ်မရဟိ (ယခုမဟစ၍ လက်ရဟိပလက်ဖောင်သပေါ်ရဟိ ကလန်ပလိတ်မျာသကိုလည်သ စစ်ဆေသထာသသည်) .
  • ရလေသချယ်မဟုမတိုင်မီ ပလက်ဖောင်သရဟေ့ဆက်တစ်ခုကို သတ်မဟတ်ခဌင်သဖဌင့် ပေါင်သစပ်ထည့်သလင်သခဌင်သဖဌင့် အပဌန်အလဟန်စုစည်သမဟုအတလင်သ အသုံသပဌုသည့် command line ရလေသချယ်မဟုမျာသကို သတ်မဟတ်ရန် စလမ်သရည်ကို ထည့်သလင်သထာသသည်။ ယခင်က၊ command line ရလေသချယ်မဟုမျာသသည် မူရင်သတည်ဆောက်မဟုမျာသကိုသာ အကျုံသဝင်ပဌီသ cross-compilation အတလက် သတ်မဟတ်၍မရပါ။ ဇာတိနဟင့် ပေါင်သစပ်တည်ဆောက်မဟုမျာသသည် တူညီသောရလဒ်မျာသထလက်ပေါ်စေကဌောင်သ သေချာစေမည့် မူရင်သအတိုင်သတည်ဆောက်နေသည်ဖဌစ်စေ သို့မဟုတ် ပေါင်သစပ်ဖလဲ့စည်သသည်ဖဌစ်စေ ကလန်မန်သလိုင်သရလေသချယ်စရာမျာသကို ယခုအသုံသပဌုထာသသည်။
  • ဖိုင်အမျာသအပဌာသကိုစာရင်သပဌုစုရန် command line တလင် “--cross-file” အလံကို တစ်ကဌိမ်ထက်ပို၍ သတ်မဟတ်နိုင်မဟုကို ထည့်သလင်သထာသသည်။
  • Windows ပလပ်ဖောင်သ (ICL.EXE နဟင့် ifort) အတလက် ICL compiler (Intel C/C++ Compiler) အတလက် ပံ့ပိုသမဟု ပေါင်သထည့်ထာသသည်။
  • Xtensa CPUs (xt-xcc, xt-xc++, xt-nm);
  • “get_variable” နည်သလမ်သကို “မဟီခိုမဟု” အရာဝတ္တုတလင် ထည့်သလင်သထာသပဌီသ၊ ၎င်သသည် လက်ရဟိမဟီခိုမဟုအမျိုသအစာသကို ထည့်သလင်သစဉ်သစာသခဌင်သမရဟိဘဲ ကိန်သရဟင်၏တန်ဖိုသကို ရနိုင်စေသည် (ဥပမာ၊ dep.get_variable(pkg-config : 'var- အမည်'၊ cmake : 'COP_VAR_NAME));
  • လင့်ခ်ကိုခေါ်သောအခါအသုံသပဌုသည့်ဘာသာစကာသကို ပဌတ်သာသစလာသတ်မဟတ်ရန် ပစ်မဟတ်စုဝေသမဟုရလေသချယ်စရာမျာသ အကဌောင်သပဌချက်အသစ်တစ်ခုထပ်ထည့်ထာသသည်။ ဥပမာအာသဖဌင့်၊ ပင်မ Fortran ပရိုဂရမ်တစ်ခုသည် C/C++ ကုဒ်ကိုခေါ်ဆိုနိုင်ပဌီသ Fortran linker ကိုအသုံသပဌုသည့်အခါတလင် C/C++ ကို အလိုအလျောက်ရလေသချယ်ပေသမည်ဖဌစ်သည်။
  • CPPFLAGS ၏ ရဟေ့ပရိုဆက်ဆာအလံမျာသကို ပဌောင်သလဲထာသသည်။ Meson သည် ယခင်က CPPFLAGS နဟင့် ဘာသာစကာသအလိုက်စုစည်သမဟုအလံမျာသ (CFLAGS၊ CXXFLAGS) သီသခဌာသစီသိမ်သဆည်သထာသသော်လည်သ ယခုအခါ ၎င်သတို့ကို ခလဲခဌာသ၍မရဘဲ CPPFLAGS တလင်ဖော်ပဌထာသသော အလံမျာသကို ၎င်သတို့ကို ပံ့ပိုသပေသသည့် ဘာသာစကာသမျာသအတလက် စုစည်သမဟုအလံမျာသ၏ အခဌာသအရင်သအမဌစ်အဖဌစ် အသုံသပဌုထာသသည်။
  • custom_target နဟင့် custom_target[i] ၏ output ကို link_with နဟင့် link_whole operations မျာသတလင် အကဌောင်သပဌချက်မျာသအဖဌစ် ယခုအသုံသပဌုနိုင်ပါပဌီ။
  • ယခု Generator မျာသသည် "depends" option ကို အသုံသပဌု၍ နောက်ထပ်မဟီခိုမဟုအာသ သတ်မဟတ်နိုင်စလမ်သရဟိသည် (ဥပမာ၊ generator(program_runner၊ output- ['@)[အီသမေသလ်ကိုကာကလယ်ထာသသည်]'], မဟီခို: exe));
  • ရဟာဖလေမဟုတလင် တည်ငဌိမ်စလာ ချိတ်ဆက်ထာသသော စာကဌည့်တိုက်မျာသသာ ပါဝင်ခလင့်ပဌုရန် find_library တလင် static option တစ်ခု ထပ်ထည့်ထာသသည်။
  • python.find_installation အတလက်၊ Python ၏ သီသခဌာသဗာသရဟင်သတစ်ခုအတလက် ပေသထာသသော Python module တစ်ခု၏ ပါဝင်မဟုကို ဆုံသဖဌတ်နိုင်စလမ်သကို ထည့်သလင်သထာသပါသည်။
  • kconfig ဖိုင်မျာသကိုခလဲခဌမ်သစိတ်ဖဌာရန်အတလက် မတည်ငဌိမ်သော-kconfig မော်ဂျူသအသစ်ကို ပေါင်သထည့်ထာသသည်။
  • အငဌင်သအခုံမျာသပါသော ကလန်မန်သတစ်ခုကို ယူကာ ပရောဂျက်ခလဲလမ်သညလဟန်မျာသအာသလုံသတလင် လုပ်ဆောင်သည့် အမိန့်အသစ်တစ်ခုဖဌစ်သည့် "ပရောဂျက်ခလဲမျာသ ဖော်ဝေသ"၊

source: opennet.ru

မဟတ်ချက် Add