Как вы можете использовать autoconf, чтобы проверить, существует ли член структуры httpd.h typedef
Как мне сделать скрипт autoconf GNU для проверки членов структуры typedef с использованием APXS в качестве компилятора?
Я определил следующие тесты, но результаты не соответствуют ожиданиям...
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
Я надеюсь, что существует уже существующее решение, которое не требует создания пользовательских тестовых сценариев.
1 ответ
AC_CHECK_MEMBER
для компилятора C/C++. Существуют макросы apxs, помогающие настроить компиляцию с помощью apxs. Это не должно быть слишком сложно для перевода AC_CHECK_MEMBER
в макрос, подходящий для apxs.