மீசன் உருவாக்க அமைப்பு வெளியீடு 1.3

X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME மற்றும் GTK போன்ற திட்டங்களை உருவாக்க பயன்படும் Meson 1.3.0 பில்ட் சிஸ்டத்தின் வெளியீடு வெளியிடப்பட்டது. மீசன் குறியீடு பைத்தானில் எழுதப்பட்டுள்ளது மற்றும் Apache 2.0 உரிமத்தின் கீழ் உரிமம் பெற்றது.

Meson இன் முக்கிய வளர்ச்சி இலக்கு, வசதி மற்றும் பயன்பாட்டின் எளிமையுடன் கூடிய அதிவேக அசெம்பிளி செயல்முறையை வழங்குவதாகும். உருவாக்குவதற்குப் பதிலாக, உருவாக்கமானது இயல்புநிலையாக நிஞ்ஜா கருவித்தொகுப்பைப் பயன்படுத்துகிறது, ஆனால் xcode மற்றும் VisualStudio போன்ற பிற பின்தளங்களையும் பயன்படுத்தலாம். கணினியில் உள்ளமைக்கப்பட்ட மல்டி-பிளாட்ஃபார்ம் சார்பு ஹேண்ட்லர் உள்ளது, இது விநியோகங்களுக்கான தொகுப்புகளை உருவாக்க Meson ஐப் பயன்படுத்த உங்களை அனுமதிக்கிறது. சட்டசபை விதிகள் எளிமைப்படுத்தப்பட்ட டொமைன்-குறிப்பிட்ட மொழியில் அமைக்கப்பட்டுள்ளன, அவை நன்கு படிக்கக்கூடியவை மற்றும் பயனருக்கு புரிந்துகொள்ளக்கூடியவை (ஆசிரியர்களின் யோசனையின்படி, டெவலப்பர் விதிகளை எழுதுவதற்கு குறைந்தபட்ச நேரத்தை செலவிட வேண்டும்).

GCC, Clang, Visual Studio மற்றும் பிற கம்பைலர்களைப் பயன்படுத்தி Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS மற்றும் Windows ஆகியவற்றில் குறுக்கு-தொகுத்தல் மற்றும் உருவாக்குதல் ஆதரிக்கப்படுகிறது. C, C++, Fortran, Java மற்றும் Rust உள்ளிட்ட பல்வேறு நிரலாக்க மொழிகளில் திட்டங்களை உருவாக்க முடியும். ஒரு அதிகரிக்கும் உருவாக்க முறை ஆதரிக்கப்படுகிறது, இதில் கடைசி கட்டத்திலிருந்து செய்யப்பட்ட மாற்றங்களுடன் நேரடியாக தொடர்புடைய கூறுகள் மட்டுமே மீண்டும் கட்டமைக்கப்படுகின்றன. மீசான் மீண்டும் மீண்டும் உருவாக்கக்கூடிய கட்டமைப்பை உருவாக்கப் பயன்படுத்தப்படலாம், அங்கு வெவ்வேறு சூழல்களில் உருவாக்கத்தை இயக்குவது முற்றிலும் ஒரே மாதிரியான இயங்குதளங்களில் விளைகிறது.

மீசன் 1.3 இன் முக்கிய கண்டுபிடிப்புகள்:

  • கம்பைலர் சரிபார்ப்பு முறைகளான compiler.compiles(), compiler.links() மற்றும் compiler.run() ஆகியவற்றில் “worror: true” என்ற விருப்பம் சேர்க்கப்பட்டது, இது கம்பைலர் எச்சரிக்கைகளை பிழைகளாகக் கருதுகிறது (குறியீடு எச்சரிக்கைகள் இல்லாமல் கட்டமைக்கப்பட்டுள்ளதா என்பதைச் சரிபார்க்கப் பயன்படுத்தலாம். )
  • முன்செயலி மூலம் குறியீட்டு வரையறையைச் சரிபார்க்க has_define முறை சேர்க்கப்பட்டது.
  • மேக்ரோ_பெயர் அளவுரு configure_file() செயல்பாட்டில் சேர்க்கப்பட்டுள்ளது, சி மொழியில் மேக்ரோக்களின் பாணியில் வடிவமைக்கப்பட்ட "#include" ("பாதுகாவலர்கள்") மூலம் இரட்டை இணைப்புகளுக்கு மேக்ரோ பாதுகாப்பைச் சேர்க்கிறது (டைனமிக் மூலம் உள்ளமைவு கோப்புகளை உருவாக்குவதை எளிதாக்குகிறது. மேக்ரோ பெயர்கள்).
  • configure_file() - JSON ("output_format: json") இல் புதிய வெளியீட்டு வடிவம் சேர்க்கப்பட்டுள்ளது.
  • c_std மற்றும் cpp_std அளவுருக்களுக்கு மதிப்புகளின் பட்டியலைப் பயன்படுத்துவதற்கான திறனைச் சேர்த்தது (எடுத்துக்காட்டாக, "default_options: 'c_std=gnu11,c11′').
  • கோப்புகளைச் செயலாக்க CustomTarget ஐப் பயன்படுத்தும் தொகுதிக்கூறுகளில், நிஞ்ஜா பயன்பாடு மூலம் செய்திகளின் வெளியீட்டைத் தனிப்பயனாக்கும் திறன் சேர்க்கப்பட்டுள்ளது.
  • build_target "jar" நிராகரிக்கப்பட்டது, அதற்கு பதிலாக "jar()" அழைப்பு பரிந்துரைக்கப்படுகிறது.
  • 'env' அளவுரு, generator.process() முறையில் சூழல் மாறியை அமைக்க, ஜெனரேட்டர் உள்ளீட்டைச் செயலாக்கும்.
  • எக்ஸிகியூட்டபிள்களுடன் தொடர்புடைய பில்ட் டார்கெட் பெயர்களைக் குறிப்பிடும்போது, ​​"எக்ஸிகியூடபிள்('foo', 'main.c', name_suffix: 'bar'))" போன்ற பின்னொட்டுகள் அதே கோப்பகத்தில் கூடுதல் இயங்கக்கூடியவற்றை உருவாக்க அனுமதிக்கப்படும்.
  • Shared_module() க்கு அனுப்பப்பட்ட செயல்பாடுகளின் பட்டியலை வரையறுக்கும் ஒரு டெஃப் கோப்பைப் பயன்படுத்த, செயல்படுத்தக்கூடிய() செயல்பாட்டில் “vs_module_defs” அளவுரு சேர்க்கப்பட்டது.
  • ஃபால்பேக் துணைத் திட்டத்திற்கான இயல்புநிலை விருப்பங்களை அமைக்க find_program() செயல்பாட்டிற்கு 'default_options' அளவுரு சேர்க்கப்பட்டது.
  • fs.relative_to() முறை சேர்க்கப்பட்டது, இது முதல் பாதை இருந்தால், இரண்டாவது வாதத்திற்கு தொடர்புடைய பாதையை வழங்கும். எடுத்துக்காட்டாக, "fs.relative_to('/prefix/lib', '/prefix/bin') == '../lib')".
  • install_data(), install_headers() மற்றும் install_subdir() செயல்பாடுகளில் பின்வரும்_symlinks அளவுரு சேர்க்கப்பட்டது; அமைக்கப்படும் போது, ​​குறியீட்டு இணைப்புகள் பின்பற்றப்படும்.
  • சரத்தை முன்னணி பூஜ்ஜியங்களுடன் அதிகரிக்க, int.to_string() முறையில் “நிரப்பு” அளவுரு சேர்க்கப்பட்டுள்ளது. எடுத்துக்காட்டாக, n=3க்கான செய்தியை(n.to_string(நிரப்பு: 4)) அழைப்பது "004" என்ற சரத்தை உருவாக்கும்.
  • clang-tidy-fix என்ற புதிய இலக்கைச் சேர்த்தது, இது clang-tidy பயன்பாட்டை "-fix" கொடியுடன் இயக்குவதைக் குறிப்பிடுகிறது.
  • அசெம்பிளி இலக்கின் ([PATH_TO_TARGET/]TARGET_NAME.TARGET_SUFFIX[:TARGET_TYPE]) பின்னொட்டை (TARGET_SUFFIX) குறிப்பிடும் திறன் தொகுத்தல் கட்டளையில் சேர்க்கப்பட்டுள்ளது.
  • தொகுப்பு தற்காலிக சேமிப்பிற்கான (துணைத் திட்டங்கள்/தொகுப்பு கேச்) பாதையை மேலெழுதுவதற்கு சூழல் மாறி MESON_PACKAGE_CACHE_DIR சேர்க்கப்பட்டது, எடுத்துக்காட்டாக, பல திட்டங்களில் பகிரப்பட்ட தற்காலிக சேமிப்பைப் பயன்படுத்த உங்களை அனுமதிக்கிறது.
  • தொடர்ச்சியான தற்காலிக சேமிப்பை அழிக்க "meson setup --clearcache" கட்டளை சேர்க்கப்பட்டது.
  • "தேவையான" முக்கிய வார்த்தைக்கான ஆதரவு அனைத்து "has_*" கம்பைலர் சரிபார்ப்பு முறைகளிலும் சேர்க்கப்பட்டுள்ளது, எடுத்துக்காட்டாக, "assert(cc.has_function('some_function'))" என்பதற்கு பதிலாக "cc.has_function('some_function'') என்பதை இப்போது குறிப்பிடலாம். , தேவை: உண்மை)”.
  • பகிர்ந்த_லைப்ரரி(), ஸ்டேடிக்_லைப்ரரி(), லைப்ரரி(), மற்றும் ஷேர்ட்_மாட்யூல்() செயல்பாடுகளில் ஒரு புதிய திறவுச்சொல், rust_abi சேர்க்கப்பட்டுள்ளது, இது கைவிடப்பட்ட rust_crate_type க்குப் பதிலாகப் பயன்படுத்தப்பட வேண்டும்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்