หลังจากแปดปีนับตั้งแต่เวอร์ชัน 2.69 ได้รับการเผยแพร่
เวลาหน่วงที่สำคัญจากรุ่นก่อนหน้าและการเผยแพร่ล่วงหน้าของรุ่นเบต้าเกิดจากการรวมการเปลี่ยนแปลงในสาขา 2.70 ที่อาจทำลายความเข้ากันได้กับสคริปต์ Autoconf ที่มีอยู่ ผู้ใช้ควรทดสอบสคริปต์กับรุ่นที่แนะนำและ
ท่ามกลางการเปลี่ยนแปลง:
- เปิดใช้งานการหลีกเลี่ยงอาร์กิวเมนต์ config.log ในความคิดเห็นส่วนหัว ปรับปรุงความสามารถในการอ่านเอาต์พุต "config.status –config";
- เพิ่มตัวเลือก '--runstatedir' ให้กับสคริปต์กำหนดค่าเพื่อกำหนดเส้นทางไปยังไดเร็กทอรี /run ด้วยไฟล์ pid
- autoreconf ไม่รองรับเวอร์ชันของ automake และ aclocal ที่เผยแพร่ก่อนหน้า 1.8 อีกต่อไป
- ขอแนะนำให้ใช้ printf แทน echo ตอนนี้มาโคร AS_ECHO และ AS_ECHO_N จะถูกแปลงเป็น
'printf "%s\n"' และ 'printf %s' เลิกใช้งานตัวแปรที่ไม่มีเอกสาร $as_echo และ
$as_echo_n แทนที่จะใช้มาโคร AS_ECHO และ AS_ECHO_N - มาโครจำนวนมากมีการเปลี่ยนแปลงเพื่อขยายอาร์กิวเมนต์เพียงครั้งเดียวเพื่อเพิ่มความเร็วในการดำเนินการ autoconf ซึ่งอาจส่งผลต่อความเข้ากันได้กับสคริปต์บางตัวที่ไม่ได้อ้างอิงอาร์กิวเมนต์อย่างถูกต้อง
- มาโครบางตัว เช่น AC_PROG_CC ซึ่งใช้กันทั่วไปตั้งแต่ต้นในสคริปต์กำหนดค่า ได้รับการปรับให้เหมาะสมและไม่มีการเรียกมาโครรองมากนัก การเปลี่ยนแปลงระบุข้อผิดพลาดหลายระดับ โดยทั่วไปเกิดจากการใช้แมโคร AC_REQUIRE
- แมโครที่ยอมรับรายการอาร์กิวเมนต์ที่คั่นด้วยช่องว่างจะขยายตามแต่ละอาร์กิวเมนต์ที่อยู่ในรายการเสมอ
การเปลี่ยนแปลงส่งผลต่อมาโคร AC_CHECK_FILES, AC_CHECK_FUNCS
AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE,
AC_CONFIG_MACRO_DIRS, AC_CONFIG_SUBDIRS และ AC_REPLACE_FUNCS; - เพิ่มมาโครใหม่ AC_C__GENERIC, AC_CONFIG_MACRO_DIRS และ AC_CHECK_INCLUDES_DEFAULT;
- ในมาโคร AC_PROG_CC หากมี คอมไพลเลอร์ที่รองรับ C11 ได้ถูกเลือกแล้ว (โดยย้อนกลับไปเป็น C99 และ C89 หากไม่พบ) และใน AC_PROG_CXX - C++11 ที่มีการย้อนกลับเป็น C++98 มาโคร AC_PROG_CC_STDC, AC_PROG_CC_C89 และ AC_PROG_CC_C99 เลิกใช้แล้ว
ที่มา: opennet.ru