ការចេញផ្សាយប្រព័ន្ធសាងសង់ Meson 0.51

បោះពុម្ពផ្សាយ ការចេញផ្សាយប្រព័ន្ធ Meson 0.51ដែលត្រូវបានប្រើដើម្បីសាងសង់គម្រោងដូចជា X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME និង GTK+។ កូដ Meson ត្រូវបានសរសេរជា Python និង ផ្គត់ផ្គង់ មានអាជ្ញាប័ណ្ណក្រោម Apache 2.0 ។

គោលដៅសំខាន់នៃការអភិវឌ្ឍន៍ Meson គឺដើម្បីផ្តល់នូវល្បឿនខ្ពស់នៃដំណើរការដំឡើងរួមជាមួយនឹងភាពងាយស្រួល និងភាពងាយស្រួលនៃការប្រើប្រាស់។ ជំនួសឱ្យ make utility នោះ default build ប្រើ toolkit និនចាប៉ុន្តែវាក៏អាចប្រើ backends ផ្សេងទៀតដូចជា xcode និង VisualStudio ផងដែរ។ ប្រព័ន្ធនេះមានឧបករណ៍ដោះស្រាយភាពអាស្រ័យពហុវេទិកាដែលភ្ជាប់មកជាមួយដែលអនុញ្ញាតឱ្យអ្នកប្រើ Meson ដើម្បីបង្កើតកញ្ចប់សម្រាប់ការចែកចាយ។ ច្បាប់នៃសភាត្រូវបានបញ្ជាក់ជាភាសាជាក់លាក់ជាក់លាក់នៃដែនសាមញ្ញ អាចអានបាន និងអាចយល់បានសម្រាប់អ្នកប្រើប្រាស់ (តាមការចង់បានដោយអ្នកនិពន្ធ អ្នកអភិវឌ្ឍន៍គួរតែចំណាយពេលអប្បបរមានៃច្បាប់ក្នុងការសរសេរ)។

ការចងក្រងឆ្លងកាត់ និងការកសាងនៅលើ Linux, macOS និង Windows ដោយប្រើ GCC, Clang, Visual Studio និងកម្មវិធីចងក្រងផ្សេងទៀតត្រូវបានគាំទ្រ។ វាអាចបង្កើតគម្រោងជាភាសាសរសេរកម្មវិធីផ្សេងៗ រួមមាន C, C++, Fortran, Java និង Rust ។ របៀប​បង្កើត​បន្ថែម​ត្រូវ​បាន​គាំទ្រ ដែល​ក្នុង​នោះ​មាន​តែ​សមាសធាតុ​ដែល​ទាក់ទង​នឹង​ការ​ផ្លាស់​ប្តូរ​ដោយ​ផ្ទាល់​ប៉ុណ្ណោះ​ចាប់តាំងពី​ការ​បង្កើត​ចុងក្រោយ​ត្រូវ​បាន​បង្កើត​ឡើង​វិញ។ Meson អាច​ត្រូវ​បាន​ប្រើ​ដើម្បី​បង្កើត​ការ​បង្កើត​ដែល​អាច​ធ្វើ​បាន​ដដែលៗ ដែល​ក្នុង​នោះ​ការ​ដំណើរការ​ build ក្នុង​បរិស្ថាន​ផ្សេង​គ្នា​នាំ​ឱ្យ​បង្កើត​ឯកសារ​ដែល​អាច​ប្រតិបត្តិ​បាន​ដូចគ្នា​ទាំងស្រុង។

សំខាន់ ការច្នៃប្រឌិត Meson 0.51៖

  • បានបន្ថែមការគាំទ្រសម្រាប់ការកសាងតម្លាភាពនៃគម្រោងដែលមានស្រាប់ដែលប្រើស្គ្រីបសាងសង់ CMake ។ ឥឡូវនេះ Meson អាចបង្កើតគម្រោងរងសាមញ្ញដោយផ្ទាល់ (ដូចជាបណ្ណាល័យតែមួយ) ដោយប្រើម៉ូឌុល CMake ស្រដៀងនឹងគម្រោងរងស្តង់ដារ (រួមទាំងគម្រោងរង CMake អាចត្រូវបានដាក់ក្នុងបញ្ជីគម្រោងរង);
  • សម្រាប់អ្នកចងក្រងដែលបានប្រើទាំងអស់ ការធ្វើតេស្តបឋមត្រូវបានរួមបញ្ចូលតាមរយៈការជួបប្រជុំគ្នា និងការប្រតិបត្តិឯកសារសាកល្បងសាមញ្ញ (ការត្រួតពិនិត្យអនាម័យ) មិនកំណត់ចំពោះការធ្វើតេស្តទង់ដែលបញ្ជាក់ដោយអ្នកប្រើប្រាស់សម្រាប់អ្នកចងក្រងឆ្លងទេ (ចាប់ពីពេលនេះតទៅ កម្មវិធីចងក្រងដែលមានដើមកំណើតនៅលើវេទិកាបច្ចុប្បន្នក៏ត្រូវបានពិនិត្យផងដែរ) .
  • បានបន្ថែមសមត្ថភាពក្នុងការកំណត់ជម្រើសបន្ទាត់ពាក្យបញ្ជាដែលបានប្រើកំឡុងពេលការចងក្រងឆ្លងកាត់ ដោយមានការចងភ្ជាប់ដោយបញ្ជាក់បុព្វបទវេទិកាមុនជម្រើស។ ពីមុន ជម្រើសបន្ទាត់ពាក្យបញ្ជាគ្របដណ្តប់តែការស្ថាបនាដើមប៉ុណ្ណោះ ហើយមិនអាចបញ្ជាក់សម្រាប់ការចងក្រងឆ្លងបានទេ។ ឥឡូវនេះជម្រើសបន្ទាត់ពាក្យបញ្ជាត្រូវបានអនុវត្តដោយមិនគិតពីថាតើអ្នកកំពុងបង្កើតដើមកំណើត ឬចងក្រងឆ្លងទេ ដោយធានាថាការស្ថាបនាដើម និងសំណង់ឆ្លងបង្កើតលទ្ធផលដូចគ្នាបេះបិទ។
  • បានបន្ថែមសមត្ថភាពក្នុងការបញ្ជាក់ទង់ "--cross-file" ច្រើនជាងម្តងនៅលើបន្ទាត់ពាក្យបញ្ជាដើម្បីរាយបញ្ជីឯកសារឆ្លងច្រើន;
  • បានបន្ថែមការគាំទ្រសម្រាប់កម្មវិធីចងក្រង ICL (Intel C/C++ Compiler) សម្រាប់ប្រព័ន្ធប្រតិបត្តិការ Windows (ICL.EXE និង ifort);
  • បានបន្ថែមការគាំទ្រកញ្ចប់ឧបករណ៍ដំបូងសម្រាប់ CPU Xtensa (xt-xcc, xt-xc++, xt-nm);
  • វិធីសាស្ត្រ "get_variable" ត្រូវបានបន្ថែមទៅវត្ថុ "ភាពអាស្រ័យ" ដែលអនុញ្ញាតឱ្យអ្នកទទួលបានតម្លៃនៃអថេរដោយមិនគិតពីប្រភេទនៃភាពអាស្រ័យបច្ចុប្បន្ន (ឧទាហរណ៍ dep.get_variable(pkg-config : 'var- ឈ្មោះ', cmake : 'COP_VAR_NAME));
  • បានបន្ថែមអាគុយម៉ង់ជម្រើសការជួបប្រជុំគោលដៅថ្មី "link_language" ដើម្បីបញ្ជាក់យ៉ាងច្បាស់អំពីភាសាដែលបានប្រើនៅពេលហៅអ្នកភ្ជាប់។ ឧទាហរណ៍ កម្មវិធី Fortran សំខាន់អាចហៅកូដ C/C ++ ដែលនឹងជ្រើសរើស C/C ++ ដោយស្វ័យប្រវត្តិ នៅពេលដែលកម្មវិធីភ្ជាប់ Fortran គួរតែត្រូវបានប្រើ។
  • ការដោះស្រាយទង់របស់ឧបករណ៍ដំណើរការមុន CPPFLAGS ត្រូវបានផ្លាស់ប្តូរ។ ខណៈពេលដែល Meson ពីមុនបានរក្សាទុក CPPFLAGS និងទង់ចងក្រងភាសាជាក់លាក់ (CFLAGS, CXXFLAGS) ដោយឡែកពីគ្នា ឥឡូវនេះពួកវាត្រូវបានដំណើរការដោយឡែកពីគ្នា ហើយទង់ដែលបានរាយក្នុង CPPFLAGS ត្រូវបានប្រើជាប្រភពផ្សេងទៀតនៃទង់ចងក្រងសម្រាប់ភាសាដែលគាំទ្រពួកគេ។
  • លទ្ធផលនៃ custom_target និង custom_target[i] ឥឡូវនេះអាចត្រូវបានប្រើជាអាគុយម៉ង់នៅក្នុងប្រតិបត្តិការ link_with និង link_whole;
  • ម៉ាស៊ីនភ្លើងឥឡូវនេះមានសមត្ថភាពក្នុងការបញ្ជាក់ភាពអាស្រ័យបន្ថែមដោយប្រើជម្រើស "អាស្រ័យ" (ឧទាហរណ៍ ម៉ាស៊ីនភ្លើង(program_runner លទ្ធផល៖ ['@[អ៊ីមែលការពារ]'], អាស្រ័យ៖ exe));
  • បានបន្ថែមជម្រើសឋិតិវន្តមួយទៅ find_library ដើម្បីអនុញ្ញាតឱ្យការស្វែងរករួមបញ្ចូលតែបណ្ណាល័យដែលភ្ជាប់គ្នាដោយឋិតិវន្ត។
  • សម្រាប់ python.find_installation សមត្ថភាពក្នុងការកំណត់វត្តមាននៃម៉ូឌុល Python ដែលបានផ្តល់ឱ្យសម្រាប់កំណែជាក់លាក់នៃ Python ត្រូវបានបន្ថែម។
  • បានបន្ថែមម៉ូឌុលថ្មី unstable-kconfig សម្រាប់ញែកឯកសារ kconfig;
  • បានបន្ថែមពាក្យបញ្ជាថ្មី "គម្រោងរងការផ្សព្វផ្សាយ" ដែលយកពាក្យបញ្ជាជាមួយអាគុយម៉ង់ ហើយដំណើរការវានៅក្នុងថតគម្រោងរងទាំងអស់;

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់