Meson គឺជាគម្រោងបង្កើតប្រព័ន្ធអគារជំនាន់ក្រោយដ៏ល្អបំផុតដែលអាចធ្វើទៅបាន។
នេះ។ ការចេញផ្សាយកំណែថ្មីនៃប្រព័ន្ធស្ថាបនា Meson 1.1.0, ដែលត្រូវបានប្រើដើម្បីចងក្រងគម្រោងដ៏ពេញនិយមជាច្រើនដូចជា X.Org, Mesa, systemd, Wayland, GNOME ជាដើម។
គោលដៅអភិវឌ្ឍន៍សំខាន់របស់ Meson គឺផ្តល់នូវដំណើរការចងក្រងដែលមានល្បឿនលឿន រួមផ្សំជាមួយនឹងភាពងាយស្រួល និងភាពងាយស្រួលនៃការប្រើប្រាស់។ ជំនួសឱ្យការធ្វើ ការបង្កើតប្រើប្រអប់ឧបករណ៍ Ninja តាមលំនាំដើម ប៉ុន្តែកម្មវិធីខាងក្រោយផ្សេងទៀតដូចជា xcode និង VisualStudio អាចត្រូវបានប្រើ។
ប្រព័ន្ធមានឧបករណ៍ដោះស្រាយភាពអាស្រ័យឆ្លងវេទិកា inbuiltin ដែលអនុញ្ញាតឱ្យអ្នកប្រើ Meson ដើម្បីបង្កើតកញ្ចប់សម្រាប់ការចែកចាយ។ ច្បាប់នៃការចងក្រងត្រូវបានសរសេរជាភាសាជាក់លាក់នៃដែនសាមញ្ញ អ្នកប្រើប្រាស់អាចអានបាន និងអាចយល់បាន (យោងទៅតាមគំនិតរបស់អ្នកនិពន្ធ អ្នកអភិវឌ្ឍន៍គួរតែចំណាយពេលអប្បបរមានៃច្បាប់ក្នុងការសរសេរ)។
ការចងក្រងឈើឆ្កាងត្រូវបានគាំទ្រ និងការចងក្រងនៅលើប្រព័ន្ធមួយចំនួនធំ និងអ្នកចងក្រងផ្សេងទៀត។ គម្រោងអាចត្រូវបានបង្កើតជាភាសាសរសេរកម្មវិធីជាច្រើន រួមមាន C, C++, Fortran, Java និង Rust ។
វាគួរតែត្រូវបានកត់សម្គាល់ថា គាំទ្ររបៀបបង្កើតបន្ថែមដែលក្នុងនោះមានតែសមាសធាតុដែលទាក់ទងដោយផ្ទាល់ទៅនឹងការផ្លាស់ប្តូរដែលបានធ្វើឡើងចាប់តាំងពីការស្ថាបនាចុងក្រោយត្រូវបានសាងសង់ឡើងវិញ។ Meson អាចត្រូវបានប្រើដើម្បីបង្កើតការបង្កើតដែលអាចធ្វើបានដដែលៗ ដែលការដំណើរការការសាងសង់ក្នុងបរិស្ថានផ្សេងគ្នានាំឱ្យមានការបង្កើតការប្រតិបត្តិដែលដូចគ្នាទាំងស្រុង។
ភាពថ្មីថ្មោងសំខាន់ៗរបស់ Meson 1.1
នៅក្នុងកំណែថ្មីនៃ Meson 1.1 នេះ ការប្រតិបត្តិនៃ «ដំឡើង sudo meson» ធានាការស្ដារឡើងវិញនូវសិទ្ធិ កំឡុងពេលសាងសង់ឡើងវិញសម្រាប់វេទិកាគោលដៅ។
ការផ្លាស់ប្តូរមួយទៀតដែលលេចធ្លោនោះគឺថាពាក្យបញ្ជា«ការដំឡើង meson» ផ្តល់នូវសមត្ថភាពក្នុងការបញ្ជាក់អ្នកបើកបរដាច់ដោយឡែក ដើម្បីទទួលបានសិទ្ធិជា root (ឧទាហរណ៍ អ្នកអាចជ្រើសរើស polkit, sudo, opendoas ឬ $MESON_ROOT_CMD) បូកនឹងដំណើរការ "ការដំឡើង meson» ក្នុងទម្រង់មិនអន្តរកម្ម លែងព្យាយាមបង្កើនសិទ្ធិទៀតហើយ។
បន្ថែមពីលើនេះវាត្រូវបានគេកត់សម្គាល់ផងដែរថាវាត្រូវបានបន្ថែម ផ្នែកខាងក្រោយថ្មី "គ្មាន" (–backend=none) ដើម្បីបង្កើតគម្រោងដែលមានតែច្បាប់ដំឡើង និងគ្មានច្បាប់សាងសង់ ក៏ដូចជា បានបន្ថែមភាពអាស្រ័យថ្មី pybind11 ដើម្បីធ្វើឱ្យភាពអាស្រ័យ ('pybind11') ដំណើរការជាមួយ pkg-config និង cmake ដោយមិនប្រើស្គ្រីប pybind11-config ។
នៃ ការផ្លាស់ប្តូរដ៏សំខាន់ ចំណុចសំខាន់នៃការចេញផ្សាយថ្មីនេះរួមមានដូចខាងក្រោម៖
- បានបន្ថែមអាគុយម៉ង់ថ្មីមួយ "objects:" ដើម្បីប្រកាសពីភាពអាស្រ័យ() ដើម្បីភ្ជាប់វត្ថុដោយផ្ទាល់ទៅ executables ដែលជាភាពអាស្រ័យខាងក្នុងដែលមិនតម្រូវឱ្យមាន link_who ។
- ការបញ្ជូនបន្តដែលបានផ្តល់ឱ្យ stderr ពីលទ្ធផលនៃព័ត៌មានអំពីវឌ្ឍនភាពនៃការត្រួតពិនិត្យ។
- បានបន្ថែមជម្រើសមួយទៅពាក្យបញ្ជា "meson devenv - បោះចោល» ដើម្បីបញ្ជាក់ឯកសារដើម្បីសរសេរអថេរបរិស្ថានទៅ ជំនួសឱ្យការបញ្ជូនវាទៅលទ្ធផលស្តង់ដារ។
- វិធីសាស្រ្តត្រូវបានបន្ថែម FeatureOption.enable_if និង FeatureOption.disable_if ដើម្បីធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការបង្កើតលក្ខខណ្ឌក្នុងការរៀបចំសម្រាប់ការឆ្លងកាត់ប៉ារ៉ាម៉ែត្រទៅកាន់មុខងារ dependency() opt = get_option('feature').disable_if(not foo, error_message: 'មិនអាចបើកមុខងារនៅពេលដែល foo មិនត្រូវបានបើក')
dep = dependency('foo', ទាមទារ : opt) - បានអនុញ្ញាតឱ្យឆ្លងកាត់វត្ថុដែលបានបង្កើតជាអាគុយម៉ង់ "វត្ថុ៖" ។
- មុខងារគម្រោងគាំទ្រការដំឡើងឯកសារដែលមានព័ត៌មានអាជ្ញាប័ណ្ណគម្រោង។
- បានបន្ថែមការគាំទ្រសម្រាប់ការអានជម្រើសឯកសារ meson.options ជំនួសឱ្យ meson_options.txt ។
- ជម្រើស "--កំណត់រចនាសម្ព័ន្ធឡើងវិញ" និង "--លុប" (ការដំឡើង meson - កំណត់រចនាសម្ព័ន្ធ builddir និងការដំឡើង meson ឡើងវិញ - លុប builddir) ត្រូវបានអនុញ្ញាតជាមួយ builddir ទទេ។
- Meson.add_install_script() បានបន្ថែមការគាំទ្រពាក្យគន្លឹះ dry_runដែលអនុញ្ញាតឱ្យអ្នកដំណើរការស្គ្រីបដំឡើងដោយខ្លួនឯងដោយហៅ "meson ដំឡើង - ដំណើរការស្ងួត"។
ជាចុងក្រោយវាមានតម្លៃក្នុងការនិយាយថាកូដរបស់ Meson ត្រូវបានសរសេរនៅក្នុង Python ហើយត្រូវបានផ្តល់អាជ្ញាប័ណ្ណក្រោមអាជ្ញាប័ណ្ណ Apache 2.0 ។ ប្រសិនបើអ្នកចាប់អារម្មណ៍ចង់ដឹងបន្ថែមអំពីវា អ្នកអាចពិគ្រោះព័ត៌មានលម្អិត នៅក្នុងតំណខាងក្រោម។
របៀបដំឡើង Meson នៅលើលីនុច?
សម្រាប់ ចាប់អារម្មណ៍អាចទទួលបាន Mesonពួកគេគួរតែដឹងថាវាមាននៅលើ PyPi ដូច្នេះវាអាចត្រូវបានដំឡើងជាមួយ pip3 ដំឡើង meson.
វាគួរតែត្រូវបានកត់សម្គាល់ថាពាក្យបញ្ជាពិតប្រាកដដែលត្រូវវាយដើម្បីដំឡើង pip អាចប្រែប្រួលរវាងប្រព័ន្ធ ដូច្នេះត្រូវប្រាកដថាប្រើកំណែ Python 3 នៃ pip ។
ទោះបីជាអ្នកចង់បានក៏ដោយ អ្នកអាចដំឡើងវានៅក្នុងមូលដ្ឋានដោយប្រើពាក្យបញ្ជា Python ស្តង់ដារ៖
python3 -m pip install meson