Как вы можете использовать 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.

Другие вопросы по тегам