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

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

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

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

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

  • CMake የግንባታ ስክሪፕቶችን ለሚጠቀሙ ነባር ፕሮጀክቶች ግልፅ ግንባታ ድጋፍ ታክሏል። ሜሶን አሁን ከመደበኛ ንኡስ ፕሮጄክቶች ጋር ተመሳሳይ በሆነ የሲኤምኤክ ሞጁል በመጠቀም ቀላል ንዑስ ፕሮጄክቶችን (እንደ ነጠላ ቤተ-መጽሐፍት ያሉ) መገንባት ይችላል (የ CMMake ንዑስ ፕሮጄክቶችን ጨምሮ በንዑስፕሮጀክቶች ማውጫ ውስጥ ሊቀመጥ ይችላል);
  • ለሁሉም ጥቅም ላይ የዋሉ አቀናባሪዎች፣ የመጀመሪያ ደረጃ ሙከራ የሚካተተው ቀላል የፍተሻ ፋይሎችን በመገጣጠም እና በመተግበር በኩል ነው (የጤና ማረጋገጫ)፣ በተጠቃሚ የተገለጹ ባንዲራዎችን ለአጭበርባሪዎች በመሞከር ላይ ብቻ ሳይሆን (ከአሁን በኋላ አሁን ባለው መድረክ ላይ ያሉ አቀናባሪዎችም ይመለከታሉ) .
  • ከምርጫው በፊት የመድረክ ቅድመ ቅጥያ በመጥቀስ በማያያዝ በማያያዝ ጊዜ ጥቅም ላይ የዋሉ የትዕዛዝ መስመር አማራጮችን የመግለጽ ችሎታ ታክሏል። ከዚህ ቀደም የትዕዛዝ መስመር አማራጮች የአገር ውስጥ ግንባታዎችን ብቻ ይሸፍኑ ነበር እና ለማጠናቀር ሊገለጹ አይችሉም። የትእዛዝ መስመር አማራጮች አሁን ተፈጻሚ ይሆናሉ ምንም ይሁን ምን በአገር ውስጥ እየገነቡም ሆነ እየተሻገሩ፣ ቤተኛ እና አቋራጭ ግንባታዎች አንድ አይነት ውጤት እንዲያመጡ በማረጋገጥ፣
  • በርካታ የመስቀል ፋይሎችን ለመዘርዘር በትእዛዝ መስመር ላይ የ"--መስቀል-ፋይል" ባንዲራ ከአንድ ጊዜ በላይ የመግለጽ ችሎታ ታክሏል;
  • ለዊንዶውስ መድረክ (ICL.EXE እና ifort) ለአይሲኤል ኮምፕሌተር (Intel C/C++ Compiler) ድጋፍ ታክሏል;
  • ለሲፒዩ Xtensa (xt-xcc፣ xt-xc++፣ xt-nm) የመጀመሪያ መሣሪያ ስብስብ ታክሏል፤
  • የ"get_variable" ዘዴ ወደ "ጥገኛ" ነገር ተጨምሯል፣ ይህም የአሁኑን የጥገኝነት አይነት (ለምሳሌ፣ dep.get_variable(pkg-config: 'var- ስም'፣ cmake: 'COP_VAR_NAME));
  • አዲስ የዒላማ ስብሰባ አማራጮች ነጋሪ እሴት ታክሏል፣ "link_language"፣ አገናኙን በሚደውሉበት ጊዜ የሚጠቀመውን ቋንቋ በግልፅ ለመግለጽ። ለምሳሌ፣ ዋናው የፎርትራ ፕሮግራም C/C++ ኮድ ሊደውል ይችላል፣ ይህም የፎርትራን ማገናኛ ስራ ላይ መዋል ሲገባ በራስ-ሰር C/C++ን ይመርጣል።
  • የCPPFLAGS ቅድመ ፕሮሰሰር ባንዲራዎች አያያዝ ተለውጧል። ሜሶን ቀደም ሲል CPPFLAGS እና የቋንቋ-ተኮር ስብስብ ባንዲራዎችን (CFLAGS ፣ CXXFLAGS) ለየብቻ ያከማቻል ፣ አሁን እነሱ በማይነጣጠሉ ሁኔታ ተዘጋጅተዋል እና በCPPFLAGS ውስጥ የተዘረዘሩት ባንዲራዎች እነሱን ለሚደግፉ ቋንቋዎች እንደ ሌላ የመጠቅለያ ባንዲራዎች ያገለግላሉ ።
  • የብጁ_ዒላማ እና ብጁ_ዒላማ[i] ውፅዓት አሁን በአገናኝ_ጋር እና በአገናኝ_ሙሉ ኦፕሬሽኖች ውስጥ እንደ ሙግት ሊያገለግል ይችላል።
  • ጀነሬተሮች አሁን የ"ጥገኛዎች" አማራጭን በመጠቀም ተጨማሪ ጥገኛዎችን የመግለጽ ችሎታ አላቸው (ለምሳሌ ጄኔሬተር(ፕሮግራም_ሯጭ፣ ውፅዓት፡ ['@)[ኢሜል የተጠበቀ]'], ይወሰናል: exe));
  • ፍለጋው በስታትስቲክስ የተገናኙ ቤተ-መጻሕፍትን ብቻ እንዲያካትት ለማድረግ የማይንቀሳቀስ አማራጭ ወደ find_library ታክሏል፤
  • ለ python.find_installation ለተወሰነ የፓይዘን ስሪት የተሰጠው የፓይዘን ሞጁል መኖሩን የመወሰን ችሎታ ታክሏል;
  • kconfig ፋይሎችን ለመተንተን አዲስ ሞጁል ያልተረጋጋ-kconfig ታክሏል;
  • ከክርክር ጋር ትእዛዝ የሚወስድ እና በሁሉም የንዑስፕሮጀክት ማውጫዎች ውስጥ የሚያስኬድ አዲስ ትእዛዝ “ንዑስፕሮጀክቶች foreach” ታክሏል።

ምንጭ: opennet.ru

አስተያየት ያክሉ