2013-11-04 5 views
0

APXS를 컴파일러로 사용하여 typedef 구조체 멤버를 테스트하기 위해 GNU autoconf 스크립트를 만드는 방법은 무엇입니까?autoconf를 사용하여 httpd.h 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

이다.

답변

1

AC_CHECK_MEMBER은 C/C++ 컴파일러 용입니다. apxs로 컴파일을 설정하는 데 도움이되는 apxs macros이 있습니다. AC_CHECK_MEMBER을 apxs에 적합한 매크로로 변환하는 것이 너무 어렵지 않아야합니다.

+0

감사합니다.이 솔루션은 알아 내기가 쉽지 않았습니다. tmp_ac_compile = $ ac_compile ac_compile = '$ APXS -c conftest. $ ac_ext' # AC_CHECK_MEMBER는 을 호출합니다. ac_compile = $ tmp_ac_compile –