የሜሶን ግንባታ ስርዓት መልቀቂያ 1.1

እንደ X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME እና GTK የመሳሰሉ ፕሮጀክቶችን ለመገንባት የሚያገለግል የሜሶን 1.1.0 የግንባታ ስርዓት መለቀቅ ታትሟል። የሜሶን ኮድ በፓይዘን የተፃፈ ሲሆን በApache 2.0 ፍቃድ ስር ነው።

የሜሶን ቁልፍ የልማት ግብ ከፍተኛ ፍጥነት ያለው የመገጣጠም ሂደት ከምቾት እና ከአጠቃቀም ቀላልነት ጋር ተዳምሮ ማቅረብ ነው። ከመሥራት ይልቅ ግንባታው የ Ninja Toolkitን በነባሪነት ይጠቀማል፣ ነገር ግን እንደ xcode እና VisualStudio ያሉ ሌሎች ደጋፊዎችን መጠቀም ይቻላል። ስርዓቱ አብሮ የተሰራ ባለ ብዙ ፕላትፎርም ጥገኝነት ተቆጣጣሪ አለው ይህም ለስርጭት ፓኬጆችን ለመስራት ሜሶንን ለመጠቀም ያስችላል። የመሰብሰቢያ ደንቦች የሚዘጋጁት በቀላል ጎራ-ተኮር ቋንቋ ነው፣ እነሱ በደንብ ሊነበቡ የሚችሉ እና ለተጠቃሚው ሊረዱት የሚችሉ ናቸው (በደራሲዎቹ ሀሳብ መሰረት ገንቢው ህጎችን በመፃፍ ቢያንስ ጊዜ ማሳለፍ አለበት)።

በሊኑክስ፣ ኢሉሞስ/ሶላሪስ፣ ፍሪቢኤስዲ፣ ኔትቢኤስዲ፣ ድራጎንፍሊ ቢኤስዲ፣ ሃይኩ፣ ማክሮስ እና ዊንዶውስ ጂሲሲ፣ ክላንግ፣ ቪዥዋል ስቱዲዮ እና ሌሎች ኮምፕሌተሮችን በመጠቀም ማጠናቀር እና መገንባት ይደገፋል። C፣ C++፣ Fortran፣ Java እና Rustን ጨምሮ በተለያዩ የፕሮግራም አወጣጥ ቋንቋዎች ፕሮጀክቶችን መገንባት ይቻላል። ከመጨረሻው ግንባታ በኋላ ከተደረጉ ለውጦች ጋር በቀጥታ የሚዛመዱ አካላት ብቻ የሚገነቡበት የመጨመሪያ ግንባታ ሁነታ ይደገፋል። ሜሶን ሊደገሙ የሚችሉ ግንባታዎችን ለማመንጨት ሊያገለግል ይችላል፣ግንባቱን በተለያዩ አካባቢዎች ማካሄድ ሙሉ ለሙሉ ተመሳሳይ ፈጻሚዎች ያስከትላል።

የሜሶን 1.1 ዋና ፈጠራዎች፡-

  • አዲስ የ"ነገሮች፡" ነጋሪ እሴት ወደ ‹Dependency()› ተጨምሯል።
  • የ"meson devenv --dump" ትዕዛዝ የአካባቢ ተለዋዋጮችን ለመፃፍ ፋይልን የመግለጽ አማራጭ ችሎታ አለው፣ ወደ መደበኛ የውጤት ዥረት ከማውጣት ይልቅ።
  • መለኪያዎችን ወደ ጥገኝነት() ተግባር ለማለፍ ቅድመ ሁኔታዎችን ለመፍጠር ቀላል ለማድረግ FeatureOption.enable_if እና FeatureOption.disable_if ዘዴዎች ታክለዋል። opt = get_option('feature') .disable_if( foo አይደለም፣ error_message : 'fo is notactivate ባህሪን ማንቃት አይቻልም') dep = ጥገኝነት('foo'፣ ያስፈልጋል፡ መርጦ)
  • ከ "ዕቃዎች" ክርክሮች መካከል የተፈጠሩ ነገሮችን ማለፍ ይፈቀዳል.
  • የፕሮጀክቱ ተግባር ስለ ፕሮጄክት ፍቃዶች መረጃ ያላቸው ፋይሎችን መጫን ይደግፋል.
  • የ"sudo meson install"ን መፈጸም ለዒላማ መድረኮች እንደገና በሚገነባበት ጊዜ ልዩ መብቶች መጀመራቸውን ያረጋግጣል።
  • የ"meson install" ትዕዛዙ ስር ፍቃዶችን ለማግኘት የተለየ ተቆጣጣሪ የመግለጽ ችሎታን ይሰጣል (ለምሳሌ ፖልኪት ፣ ሱዶ ፣ ኦፕዶስ ወይም $MESON_ROOT_CMD መምረጥ ይችላሉ)። በይነተገናኝ ባልሆነ ሁነታ "meson install" ማስኬድ ከአሁን በኋላ መብቶችን ከፍ ለማድረግ አይሞክርም።
  • ከ meson_options.txt ይልቅ ከ meson.options ፋይል ለንባብ አማራጮች ድጋፍ ታክሏል።
  • ስለ ኢንትሮስፔክሽን ሂደት የመረጃ ውፅዓት ወደ stderr አቅጣጫ አቅጣጫ ቀርቧል።
  • የመጫኛ ደንቦች ብቻ እና ምንም የግንባታ ደንቦች የሌላቸው ፕሮጀክቶችን ለመፍጠር አዲስ "የለም" ጀርባ (--backend= የለም) ታክሏል።
  • ጥገኝነት ('pybind11') በpkg-config እና cmake የ pybind11-config ስክሪፕት ሳይጠቀም ለመስራት አዲስ ጥገኝነት pybind11 ታክሏል።
  • የ"--reconfigure" እና "--wipe" አማራጮች (ሜሶን ማዋቀር --reconfigure builddir እና meson setup --wipe builddir) በባዶ ገንቢ ተፈቅዶላቸዋል።
  • meson.add_install_script() ለደረቅ_run ቁልፍ ቃል ድጋፍ ጨምሯል፣ ይህም "meson install --dry-run" ብለው ሲጠሩ የራስዎን የመጫኛ ስክሪፕቶች እንዲያሄዱ ያስችልዎታል።

ምንጭ: opennet.ru

አስተያየት ያክሉ