Ang GNU Autoconf 2.69b ay magagamit upang subukan ang potensyal na paglabag sa mga pagbabago sa compatibility

Pagkaraan ng walong taon mula noong nai-publish ang bersyon 2.69 ipinakita release ng GNU Autoconf 2.69b package, na nagbibigay ng set ng M4 macros para sa paglikha ng mga autoconfiguration script para sa pagbuo ng mga application sa iba't ibang sistemang katulad ng Unix (batay sa inihandang template, nabuo ang "configure" na script). Ang release ay nakaposisyon bilang isang beta na bersyon ng paparating na bersyon 2.70.

Ang makabuluhang time lag mula sa nakaraang release at ang pre-publication ng beta version ay dahil sa pagsasama ng mga pagbabago sa 2.70 branch na maaaring masira ang compatibility sa mga kasalukuyang Autoconf script. Pinapayuhan ang mga user na subukan ang kanilang mga script gamit ang iminungkahing release at ipaalam mga developer kung matukoy ang mga problema.

Kabilang sa mga pagbabago:

  • Pinagana ang pagtakas ng mga argumento ng config.log sa mga komento sa header. Pinahusay na pagiging madaling mabasa ng β€œconfig.status –config” na output;
  • Idinagdag ang opsyong '--runstatedir' sa script ng pag-configure upang matukoy ang landas patungo sa direktoryo ng /run na may mga pid na file;
  • hindi na sinusuportahan ng autoreconf ang mga bersyon ng automake at aclocal na inilabas nang mas maaga kaysa sa 1.8;
  • Inirerekomenda na gumamit ng printf sa halip na echo, ang mga macro na AS_ECHO at AS_ECHO_N ay na-convert na ngayon sa
    'printf "%s\n"' at 'printf %s'. Hindi na ginagamit ang mga undocumented na variable na $as_echo at
    $as_echo_n, sa halip na ang mga macro na AS_ECHO at AS_ECHO_N ang dapat gamitin;

  • Maraming macro ang binago upang palawakin ang mga argumento nang isang beses lang upang mapabilis ang autoconf execution, na maaaring makaapekto sa compatibility sa ilang script na hindi sumipi ng mga argumento nang tama;
  • Ang ilang mga macro, tulad ng AC_PROG_CC, na karaniwang ginagamit nang maaga sa script ng pag-configure, ay na-optimize at hindi na tumatawag ng maraming pangalawang macro. Tinutukoy ng pagbabago ang ilang klase ng mga error, karaniwang sanhi ng paggamit ng AC_REQUIRE macro;
  • Ang mga macro na tumatanggap ng mga listahan ng argumento na pinaghihiwalay ng espasyo ay palaging lumalawak sa bawat nakalistang argumento.
    Ang pagbabago ay nakakaapekto sa mga macro AC_CHECK_FILES, AC_CHECK_FUNCS,
    AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE,
    AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS at AC_REPLACE_FUNCS;

  • Nagdagdag ng mga bagong macro AC_C__GENERIC, AC_CONFIG_MACRO_DIRS at AC_CHECK_INCLUDES_DEFAULT;
  • Sa AC_PROG_CC macro, kung available, ang isang compiler na may suporta sa C11 ay napili na ngayon (na may rollback sa C99 at C89, kung hindi natagpuan), at sa AC_PROG_CXX - C++11 na may rollback sa C++98. Ang mga macro na AC_PROG_CC_STDC, AC_PROG_CC_C89 at AC_PROG_CC_C99 ay hindi na ginagamit.

Pinagmulan: opennet.ru

Magdagdag ng komento