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

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

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

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

ዋና ፈጠራዎች ሜሰን 0.52:

  • Emscriptenን እንደ ማቀናበሪያ በመጠቀም ለWebassembly ተጨማሪ የሙከራ ድጋፍ;
  • የኢሉሞስ እና የሶላሪስ መድረኮች ድጋፍ በከፍተኛ ሁኔታ ተሻሽሎ ወደ ሥራ ሁኔታ ቀርቧል ።
  • ስርዓቱ Gettext Toolkit ካልተጫነ በጌትቴክስት ላይ የተመሰረቱ አለማቀፋዊ ፅሁፎች ችላ መባሉን ያረጋግጣል (ከዚህ ቀደም i18n ሞጁሉን ያለ ጌትቴክስት ሲጠቀሙ ስህተት ታይቷል)።
  • ለስታቲክ ቤተ-መጻሕፍት የተሻሻለ ድጋፍ። ያልተጫኑ ቋሚ ቤተ-መጻሕፍት ሲጠቀሙ ብዙ ችግሮች ተፈትተዋል;
  • የአካባቢ ተለዋዋጮችን ለመመደብ መዝገበ-ቃላትን የመጠቀም ችሎታ ታክሏል። አካባቢ() ሲደውሉ፣ የመጀመሪያው አካል አሁን የአካባቢ ተለዋዋጮች በቁልፍ/በዋጋ መልክ የተገለጹበት መዝገበ ቃላት ሆኖ ሊገለጽ ይችላል። እነዚህ ተለዋዋጮች በስብስብ() ዘዴ በተናጥል እንደተዘጋጁ ወደ አካባቢ_ነገር ይተላለፋሉ። መዝገበ-ቃላት አሁን ደግሞ የ"env" ክርክርን ወደሚደግፉ የተለያዩ ተግባራት ሊተላለፉ ይችላሉ።
  • በተመረጠው የግንባታ ጀርባ (ለምሳሌ "ኒንጃ ዒላማ_ስም") ተብሎ ሊጠራ የሚችል አዲስ የመጀመሪያ ደረጃ የግንባታ ኢላማ የሚፈጥር "runtarget alias_target(የዒላማ_ስም, dep1, ...)" ታክሏል. ይህ የግንባታ ዒላማ ምንም አይነት ትዕዛዞችን አያሄድም, ነገር ግን ሁሉም ጥገኞች መገንባታቸውን ያረጋግጣል;
  • በ"[ንብረቶች]" ክፍል ውስጥ የsys_root መቼት ካለ በመስቀል-ማጠናቀር ወቅት የPKG_CONFIG_SYSROOT_DIR አካባቢ ተለዋዋጭ አውቶማቲክ ቅንብር ነቅቷል፤
  • በተጠቀሰው የፍተሻ ስክሪፕት ጂዲቢን ለማስኬድ የ"--gdb testname" አማራጭን ሲገልጹ ወደ GDB አራሚ የሚወስደውን መንገድ ለመወሰን "--gdb-path" አማራጭ ታክሏል;
  • ይህን ሊንተር ከሁሉም የምንጭ ፋይሎች ጋር ለማስኬድ የስብስብ-ሥርዓት ግንባታ ኢላማን በራስ-ሰር ማወቂያ ታክሏል። ዒላማው የሚፈጠረው Clang-tidy በሲስተሙ ውስጥ የሚገኝ ከሆነ እና የ".clang-tidy" (ወይም "_clang-tidy") ፋይል በፕሮጀክት ሥር ውስጥ ከተገለጸ;
  • በ Clang ቅጥያ ውስጥ ጥቅም ላይ የሚውል ጥገኛ ('ብሎኮች') ታክሏል። ያግዳል;
  • የአገናኝ እና የማጠናከሪያ እይታዎች ተለያይተዋል, የተለያዩ የአቀነባባሪዎች እና ማገናኛዎች ጥምረት ጥቅም ላይ እንዲውሉ ያስችላቸዋል;
  • ከሁሉም_ምንጮች() ዘዴ በተጨማሪ የሁሉም_ጥገኛዎች() ዘዴ ወደ SourceSet ነገሮች ታክሏል።
  • በ run_project_tests.py ውስጥ፣ ሙከራዎችን ለመምረጥ የ"--only" አማራጭ ታክሏል (ለምሳሌ፣ "python run_project_tests.py —only fortran python3");
  • የ Find_program() ተግባር አሁን የሚፈለጉትን የፕሮግራም ስሪቶች ብቻ የመፈለግ ችሎታ አለው (ስሪቱ የሚወሰነው ፕሮግራሙን በ "-version" አማራጭ በማሄድ ነው)።
  • ምልክቶችን ወደ ውጭ መላክ ለመቆጣጠር የ vs_module_defs አማራጭ ወደ የተጋራ_ሞዱል() ተግባር፣ ከጋራ_ላይብራሪ() ጋር ተመሳሳይነት ላይ ተጨምሯል።
  • የግቤት ፋይልን ለመወሰን የ kconfig ሞጁሉ configure_file ()ን ለመደገፍ ተዘርግቷል፤
  • ለ"ትዕዛዝ:" ተቆጣጣሪዎች ብዙ የግቤት ፋይሎችን የመግለጽ ችሎታ ታክሏል configure_file ();
  • ማህደርን ለመፍጠር የ"ዲስት" ትዕዛዝ ወደ የመጀመሪያ ደረጃ ትዕዛዞች ምድብ ተወስዷል (ከዚህ ቀደም ትዕዛዙ ከኒንጃ ጋር የተያያዘ ነበር)። የሚፈጠሩትን የማህደር አይነቶች ለመወሰን የ"--formats" አማራጭ ታክሏል (ለምሳሌ፡-
    "meson dist -formats=xztar,zip").

ምንጭ: opennet.ru

አስተያየት ያክሉ