គោលដៅសំខាន់នៃការអភិវឌ្ឍន៍ Meson គឺដើម្បីផ្តល់នូវល្បឿនខ្ពស់នៃដំណើរការដំឡើងរួមជាមួយនឹងភាពងាយស្រួល និងភាពងាយស្រួលនៃការប្រើប្រាស់។ ជំនួសឱ្យ make utility នោះ default build ប្រើ toolkit
ការចងក្រងឆ្លងកាត់ និងការកសាងនៅលើ Linux, macOS និង Windows ដោយប្រើ GCC, Clang, Visual Studio និងកម្មវិធីចងក្រងផ្សេងទៀតត្រូវបានគាំទ្រ។ វាអាចបង្កើតគម្រោងជាភាសាសរសេរកម្មវិធីផ្សេងៗ រួមមាន C, C++, Fortran, Java និង Rust ។ របៀបបង្កើតបន្ថែមត្រូវបានគាំទ្រ ដែលក្នុងនោះមានតែសមាសធាតុដែលទាក់ទងនឹងការផ្លាស់ប្តូរដោយផ្ទាល់ប៉ុណ្ណោះចាប់តាំងពីការបង្កើតចុងក្រោយត្រូវបានបង្កើតឡើងវិញ។ Meson អាចត្រូវបានប្រើដើម្បីបង្កើតការបង្កើតដែលអាចធ្វើបានដដែលៗ ដែលក្នុងនោះការដំណើរការ build ក្នុងបរិស្ថានផ្សេងគ្នានាំឱ្យបង្កើតឯកសារដែលអាចប្រតិបត្តិបានដូចគ្នាទាំងស្រុង។
សំខាន់
- បានបន្ថែមការគាំទ្រសម្រាប់ការកសាងតម្លាភាពនៃគម្រោងដែលមានស្រាប់ដែលប្រើស្គ្រីបសាងសង់ 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