如何使用APXS作为编译器使GNU autoconf脚本测试typedef结构成员?
我已经定义了以下测试,但结果并不是我所期待的......
AC_CHECK_MEMBER(struct conn_rec.remote_ip, define 'USE_CON_REC_REMOTE_IP',,[#include "httpd.h"]);
AC_CHECK_MEMBER(struct conn_rec.client_ip, define 'USE_CON_REC_CLIENT_IP',,[#include "httpd.h"]);
AC_CHECK_MEMBER(struct conn_rec.remote_addr, define 'USE_CON_REC_REMOTE_ADDR',,[#include "httpd.h"]);
所有这些测试都返回“否”,即使我知道第一次测试和最后一次测试应该返回“是”。我怀疑这可能是因为这些是typedef而不是结构,和/或因为autoconf没有使用APXS来运行测试。
完整代码位于https://github.com/rritoch/PikeVM/blob/master/root/boot/system-1.1/apache/configure.ac
我希望有一个预先存在的解决方案,不需要制作自定义测试脚本。
答案 0 :(得分:1)
AC_CHECK_MEMBER
用于C / C ++编译器。有apxs macros来帮助设置apxs的编译。将AC_CHECK_MEMBER
翻译成适合apxs的宏应该不会太难。