autoconf:检测已弃用的函数(在Glibc中)

时间:2016-11-25 05:55:51

标签: glibc autoconf

在GNU libc中是否有一种方法可以让Autotools测试给定的函数?

我一直在使用AC_CHECK_FUNCS(readdir_r)来测试系统是否有readdir_r()。但是现在,由于GNU Libc 2.24,readdir_r()已被弃用,我想在这些系统上使用readdir()

autoconf是否有用于测试给定函数的宏是否已弃用?如果没有,处理这个问题的最佳方法是什么?

我知道有-Wdeprecated-declarations的新GCC会打印警告。但我正在寻找的是在配置时找到弃用的功能,以便我可以使用推荐的功能。

1 个答案:

答案 0 :(得分:1)

不容易,因为AC_CHECK_FUNCS检查该功能在链接时是否可用。你可以做的是使用attribute.m4(比如systemd一起提供),使用CC_CHECK_WERRORCC_CHECK_FLAGS_APPEND-Wdeprecated-declarations,然后使用AC_COMPILE_IFELSE来弄清楚整件事是否汇编。