1

使用 autoconf 启用asprintfstrndupa在 EL5 上使用的正确正确方法是什么?

目前我的configure.ac中有这个:

AC_CHECK_FUNCS([asprintf strndupa],,
   AC_DEFINE([_GNU_SOURCE], [], [Linux requires _GNU_SOURCE for asprintf]))
AC_CHECK_FUNCS([asprintf strndupa uname],, AC_MSG_ERROR([some needed function(s) not found]))

但是 autoconf 正在缓存测试的负面测试结果,所以第二个AC_CHECK_FUNCS失败了。

我可以从第二个测试中排除asprintfstrndupa,但是如果定义_GNU_SOURCE不起作用,我们将不知道失败,直到 make 失败。在 autoconf 中使用这些新的 GNU 扩展的正确方法是什么?

4

1 回答 1

2

AC_USE_SYSTEM_EXTENSIONS在进行任何需要的检查之前调用宏_GNU_SOURCE

于 2013-01-17T15:20:49.647 回答