GNU Autoconf 2.69b tersedia untuk menguji perubahan kompatibilitas yang berpotensi merusak

Setelah delapan tahun sejak versi 2.69 diterbitkan disajikan rilis paket GNU Autoconf 2.69b, yang menyediakan satu set makro M4 untuk membuat skrip konfigurasi otomatis untuk membangun aplikasi pada berbagai sistem mirip Unix (berdasarkan templat yang disiapkan, skrip β€œkonfigurasi” dibuat). Rilis ini diposisikan sebagai versi beta dari versi 2.70 yang akan datang.

Jeda waktu yang signifikan dari rilis sebelumnya dan pra-publikasi versi beta disebabkan oleh masuknya perubahan pada cabang 2.70 yang berpotensi merusak kompatibilitas dengan skrip Autoconf yang ada. Pengguna disarankan untuk menguji skrip mereka dengan rilis yang disarankan dan memberitahu pengembang jika masalah teridentifikasi.

Diantara perubahannya:

  • Mengaktifkan pelolosan argumen config.log di komentar header. Peningkatan keterbacaan keluaran β€œconfig.status –config”;
  • Menambahkan opsi '--runstatedir' ke skrip konfigurasi untuk menentukan jalur ke direktori /run dengan file pid;
  • autoreconf tidak lagi mendukung versi automake dan aclocal yang dirilis lebih awal dari 1.8;
  • Disarankan untuk menggunakan printf daripada echo, makro AS_ECHO dan AS_ECHO_N sekarang dikonversi ke
    'printf "%s\n"' dan 'printf %s'. Menghentikan penggunaan variabel tidak berdokumen $as_echo dan
    $as_echo_n, sebagai gantinya makro AS_ECHO dan AS_ECHO_N harus digunakan;

  • Banyak makro telah diubah untuk memperluas argumen hanya sekali guna mempercepat eksekusi autoconf, yang mungkin memengaruhi kompatibilitas dengan beberapa skrip yang tidak mengutip argumen dengan benar;
  • Beberapa makro, seperti AC_PROG_CC, yang biasa digunakan di awal skrip konfigurasi, telah dioptimalkan dan tidak lagi memanggil makro sekunder sebanyak itu. Perubahan tersebut mengidentifikasi beberapa kelas kesalahan, biasanya disebabkan oleh penggunaan makro AC_REQUIRE;
  • Makro yang menerima daftar argumen yang dipisahkan spasi kini selalu diperluas seiring dengan setiap argumen yang tercantum.
    Perubahan tersebut mempengaruhi makro AC_CHECK_FILES, AC_CHECK_FUNCS,
    AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE,
    AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS dan AC_REPLACE_FUNCS;

  • Menambahkan makro baru AC_C__GENERIC, AC_CONFIG_MACRO_DIRS dan AC_CHECK_INCLUDES_DEFAULT;
  • Di makro AC_PROG_CC, jika tersedia, kompiler dengan dukungan C11 sekarang dipilih (dengan rollback ke C99 dan C89, jika tidak ditemukan), dan di AC_PROG_CXX - C++11 dengan rollback ke C++98. Makro AC_PROG_CC_STDC, AC_PROG_CC_C89 dan AC_PROG_CC_C99 sudah tidak digunakan lagi.

Sumber: opennet.ru

Tambah komentar