最近更改一个函数库里面的函数定义和宏定义等的名字,发现另外一个依赖此库的程序configure无法检测到依赖项
查了半天才发现configure检测依赖的实现方法,好像是写了个小程序,调用库关键的某个定义,
CPPFLAGS="${CPPFLAGS} ${ABC_HALF_FULL_INCLUDE}"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <abc/user.h>
int
main ()
{
#if defined(ABC_POLICY_HALF_FULL)
int foo = 0;
#else
int foo = bar;
#endif
0
;
return 0;
}
_ACEOF
好像编译通过就算检测通过,ABC_POLICY_HALF_FULL宏的名字给我改过了,所以更改后也需要再此更改下宏的名字
O了,哈哈