如何使用 APXS 作为编译器制作 GNU autoconf 脚本来测试类型定义结构成员?
我已经定义了以下测试,但结果不是我所期望的......
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"]);
所有这些测试都返回"否",即使我知道第一个测试和最后一个测试应该返回"是"。我怀疑这可能是因为这些是 typedefs 而不是结构,和/或因为 autoconf 没有使用 APXS 来运行测试。
完整代码在 https://github.com/rritoch/PikeVM/blob/master/root/boot/system-1.1/apache/configure.ac
我希望有一个预先存在的解决方案,不需要制作自定义测试脚本。
AC_CHECK_MEMBER
用于C/C++编译器。有一些 apxs 宏可以帮助使用 apxs 设置编译。 将AC_CHECK_MEMBER
转换为适合 apxs 的宏应该不会太难。