మీసన్ బిల్డ్ సిస్టమ్ విడుదల 0.52

ప్రచురించబడింది వ్యవస్థ విడుదలను నిర్మించండి మీసన్ 0.52, ఇది X.Org సర్వర్, మీసా, Lighttpd, systemd, GStreamer, Wayland, GNOME మరియు GTK+ వంటి ప్రాజెక్ట్‌లను రూపొందించడానికి ఉపయోగించబడుతుంది. మీసన్ కోడ్ పైథాన్‌లో వ్రాయబడింది మరియు సరఫరా Apache 2.0 క్రింద లైసెన్స్ పొందింది.

మీసన్ అభివృద్ధి యొక్క ముఖ్య లక్ష్యం ఏమిటంటే, సౌలభ్యం మరియు వాడుకలో సౌలభ్యంతో కలిపి అసెంబ్లీ ప్రక్రియ యొక్క అధిక వేగాన్ని అందించడం. మేక్ యుటిలిటీకి బదులుగా, డిఫాల్ట్ బిల్డ్ టూల్‌కిట్‌ను ఉపయోగిస్తుంది నింజా, కానీ xcode మరియు VisualStudio వంటి ఇతర బ్యాకెండ్‌లను ఉపయోగించడం కూడా సాధ్యమే. సిస్టమ్ అంతర్నిర్మిత బహుళ-ప్లాట్‌ఫారమ్ డిపెండెన్సీ హ్యాండ్లర్‌ను కలిగి ఉంది, ఇది పంపిణీల కోసం ప్యాకేజీలను రూపొందించడానికి మీసన్‌ని ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది. అసెంబ్లీ నియమాలు సరళీకృతమైన డొమైన్-నిర్దిష్ట భాషలో పేర్కొనబడ్డాయి, ఇవి ఎక్కువగా చదవగలిగేవి మరియు వినియోగదారుకు అర్థమయ్యేలా ఉంటాయి (రచయితలు ఉద్దేశించినట్లుగా, డెవలపర్ నియమాలను వ్రాయడానికి కనీస సమయాన్ని వెచ్చించాలి).

మద్దతు ఇచ్చారు GCC, క్లాంగ్, విజువల్ స్టూడియో మరియు ఇతర కంపైలర్‌లను ఉపయోగించి Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS మరియు Windowsపై క్రాస్-కంపైల్ మరియు బిల్డ్. C, C++, Fortran, Java మరియు Rustతో సహా వివిధ ప్రోగ్రామింగ్ భాషలలో ప్రాజెక్ట్‌లను నిర్మించడం సాధ్యమవుతుంది. ఇన్క్రిమెంటల్ బిల్డ్ మోడ్‌కు మద్దతు ఉంది, దీనిలో చివరి బిల్డ్ నుండి చేసిన మార్పులకు నేరుగా సంబంధించిన భాగాలు మాత్రమే పునర్నిర్మించబడతాయి. పునరావృతమయ్యే బిల్డ్‌లను రూపొందించడానికి మీసన్‌ని ఉపయోగించవచ్చు, దీనిలో బిల్డ్‌ను వేర్వేరు వాతావరణాలలో అమలు చేయడం వలన పూర్తిగా ఒకేలాంటి ఎక్జిక్యూటబుల్ ఫైల్‌లు ఉత్పత్తి అవుతాయి.

ప్రధాన ఆవిష్కరణలు మీసన్ 0.52:

  • ఎమ్‌స్క్రిప్టెన్‌ను కంపైలర్‌గా ఉపయోగించి వెబ్‌సెంబ్లీకి ప్రయోగాత్మక మద్దతు జోడించబడింది;
  • Illumos మరియు Solaris ప్లాట్‌ఫారమ్‌లకు మద్దతు గణనీయంగా మెరుగుపరచబడింది మరియు పని స్థితికి తీసుకురాబడింది;
  • సిస్టమ్ గెట్‌టెక్స్ట్ టూల్‌కిట్ ఇన్‌స్టాల్ చేయనట్లయితే గెట్‌టెక్స్ట్-ఆధారిత అంతర్జాతీయీకరణ స్క్రిప్ట్‌లు విస్మరించబడతాయని నిర్ధారిస్తుంది (గతంలో, గెట్‌టెక్స్ట్ లేని సిస్టమ్‌లలో i18n మాడ్యూల్‌ను ఉపయోగిస్తున్నప్పుడు లోపం ప్రదర్శించబడుతుంది);
  • స్టాటిక్ లైబ్రరీలకు మెరుగైన మద్దతు. అన్‌ఇన్‌స్టాల్ చేయబడిన స్టాటిక్ లైబ్రరీలను ఉపయోగిస్తున్నప్పుడు అనేక సమస్యలు పరిష్కరించబడ్డాయి;
  • ఎన్విరాన్మెంట్ వేరియబుల్స్ కేటాయించడానికి నిఘంటువులను ఉపయోగించగల సామర్థ్యాన్ని జోడించారు. ఎన్విరాన్మెంట్()కి కాల్ చేస్తున్నప్పుడు, మొదటి మూలకాన్ని ఇప్పుడు ఎన్విరాన్మెంట్ వేరియబుల్స్ కీ/విలువ రూపంలో నిర్వచించబడే నిఘంటువుగా పేర్కొనవచ్చు. ఈ వేరియబుల్స్ సెట్() పద్ధతి ద్వారా ఒక్కొక్కటిగా సెట్ చేయబడినట్లుగా environment_objectకి బదిలీ చేయబడతాయి. నిఘంటువులను ఇప్పుడు "env" ఆర్గ్యుమెంట్‌కు మద్దతు ఇచ్చే వివిధ ఫంక్షన్‌లకు కూడా పంపవచ్చు;
  • "runtarget alias_target(target_name, dep1, ...)" ఫంక్షన్ జోడించబడింది, ఇది ఎంచుకున్న బిల్డ్ బ్యాకెండ్‌తో పిలవబడే కొత్త మొదటి-స్థాయి నిర్మాణ లక్ష్యాన్ని సృష్టిస్తుంది (ఉదా. "ninja target_name"). ఈ బిల్డ్ టార్గెట్ ఏ ఆదేశాలను అమలు చేయదు, కానీ అన్ని డిపెండెన్సీలు నిర్మించబడిందని నిర్ధారిస్తుంది;
  • "[గుణాలు]" విభాగంలో sys_root సెట్టింగ్ ఉన్నట్లయితే క్రాస్-కంపైలేషన్ సమయంలో PKG_CONFIG_SYSROOT_DIR ఎన్విరాన్మెంట్ వేరియబుల్ యొక్క స్వయంచాలక సెట్టింగ్ ప్రారంభించబడింది;
  • పేర్కొన్న టెస్ట్ స్క్రిప్ట్‌తో GDBని అమలు చేయడానికి "--gdb testname" ఎంపికను పేర్కొన్నప్పుడు GDB డీబగ్గర్‌కు మార్గాన్ని నిర్ణయించడానికి "--gdb-path" ఎంపిక జోడించబడింది;
  • అన్ని సోర్స్ ఫైల్‌లతో ఈ లింటర్‌ను అమలు చేయడానికి క్లాంగ్-టిడీ బిల్డ్ టార్గెట్‌ని ఆటోమేటిక్ డిటెక్షన్ జోడించబడింది. సిస్టమ్‌లో క్లాంగ్-టిడీ అందుబాటులో ఉంటే లక్ష్యం సృష్టించబడుతుంది మరియు ప్రాజెక్ట్ రూట్‌లో “.క్లాంగ్-టిడీ” (లేదా “_క్లాంగ్-టిడీ”) ఫైల్ నిర్వచించబడింది;
  • క్లాంగ్ ఎక్స్‌టెన్షన్‌లో ఉపయోగం కోసం డిపెండెన్సీ('బ్లాక్స్') జోడించబడింది బ్లాక్స్;
  • లింకర్ మరియు కంపైలర్ వీక్షణలు వేరు చేయబడ్డాయి, కంపైలర్‌లు మరియు లింకర్‌ల యొక్క విభిన్న కలయికలను ఉపయోగించడానికి అనుమతిస్తుంది;
  • all_sources() పద్ధతికి అదనంగా SourceSet ఆబ్జెక్ట్‌లకు all_dependencies() పద్ధతిని జోడించారు;
  • run_project_tests.pyలో, ఎంపికగా అమలు చేసే పరీక్షలకు “--only” ఎంపిక జోడించబడింది (ఉదాహరణకు, “python run_project_tests.py —only fortran python3”);
  • find_program() ఫంక్షన్ ఇప్పుడు ప్రోగ్రామ్ యొక్క అవసరమైన సంస్కరణల కోసం మాత్రమే శోధించే సామర్థ్యాన్ని కలిగి ఉంది (“-వెర్షన్” ఎంపికతో ప్రోగ్రామ్‌ను అమలు చేయడం ద్వారా సంస్కరణ నిర్ణయించబడుతుంది);
  • చిహ్నాల ఎగుమతిని నియంత్రించడానికి, vs_module_defs ఎంపిక share_module() ఫంక్షన్‌కి జోడించబడింది, share_library();
  • ఇన్‌పుట్ ఫైల్‌ను పేర్కొనడం కోసం configure_file()కి మద్దతు ఇవ్వడానికి kconfig మాడ్యూల్ విస్తరించబడింది;
  • configure_file() కోసం “కమాండ్:” హ్యాండ్లర్ల కోసం బహుళ ఇన్‌పుట్ ఫైల్‌లను పేర్కొనే సామర్థ్యం జోడించబడింది;
  • ఆర్కైవ్‌ను సృష్టించడానికి “డిస్ట్” కమాండ్ మొదటి-స్థాయి ఆదేశాల వర్గానికి తరలించబడింది (గతంలో కమాండ్ నింజాతో ముడిపడి ఉంది). సృష్టించాల్సిన ఆర్కైవ్‌ల రకాలను నిర్వచించడానికి "--ఫార్మాట్స్" ఎంపిక జోడించబడింది (ఉదాహరణకు,
    "meson dist -formats=xztar,zip").

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి