From df50ee886fe22ffbdd8b9aaad9f82df84001ac5e Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 18 Oct 2007 10:54:37 +0200 Subject: [libreplace] fix the standalone build of libreplace all configure results which are used in replace.h or any system/*.h should be in the in the libreplace *.m4 files! metze (This used to be commit 1eefa0264bb1a304a30ec4c7c6e2392c627ee6a3) --- source3/lib/replace/libreplace.m4 | 39 ++++++++++---------------------- source3/lib/replace/libreplace_macros.m4 | 23 ++++++++++++++++++- 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/source3/lib/replace/libreplace.m4 b/source3/lib/replace/libreplace.m4 index 4bdbf3a504..26b4c3636d 100644 --- a/source3/lib/replace/libreplace.m4 +++ b/source3/lib/replace/libreplace.m4 @@ -137,23 +137,20 @@ if test x"$samba_cv_REPLACE_INET_NTOA" = x"yes"; then AC_DEFINE(REPLACE_INET_NTOA,1,[Whether inet_ntoa should be replaced]) fi -dnl test for struct addrinfo -AC_CACHE_CHECK([for struct addrinfo],samba_cv_HAVE_STRUCT_ADDRINFO,[ -AC_TRY_COMPILE([ +AC_HAVE_TYPE([socklen_t],[#include ]) +AC_HAVE_TYPE([sa_family_t],[#include ]) +AC_HAVE_TYPE([struct addrinfo], [#include ]) +AC_HAVE_TYPE([struct sockaddr], [#include ]) +AC_HAVE_TYPE([struct sockaddr_storage], [ +#include #include -#if STDC_HEADERS -#include -#include -#endif +#include +]) +AC_HAVE_TYPE([struct sockaddr_in6], [ #include -#include ], -[ -struct addrinfo ai; -], -samba_cv_HAVE_STRUCT_ADDRINFO=yes,samba_cv_HAVE_STRUCT_ADDRINFO=no)]) -if test x"$samba_cv_HAVE_STRUCT_ADDRINFO" = x"yes"; then - AC_DEFINE(HAVE_STRUCT_ADDRINFO,1,[Whether the system has struct addrinfo]) -fi +#include +#include +]) dnl test for getaddrinfo/getnameinfo AC_CACHE_CHECK([for getaddrinfo],samba_cv_HAVE_GETADDRINFO,[ @@ -185,18 +182,6 @@ if test x"$samba_cv_HAVE_GETADDRINFO" = x"yes"; then AC_DEFINE(HAVE_GAI_STRERROR,1,[Whether the system has gai_strerror]) fi - -dnl Provided by replace.c: -AC_TRY_COMPILE([ -#include -#if STDC_HEADERS -#include -#include -#endif -#include ], -[socklen_t foo;],, -[AC_DEFINE(socklen_t, int,[Socket length type])]) - AC_CHECK_FUNCS(seteuid setresuid setegid setresgid chroot bzero strerror) AC_CHECK_FUNCS(vsyslog setlinebuf mktime ftruncate chsize rename) AC_CHECK_FUNCS(waitpid strlcpy strlcat initgroups memmove strdup) diff --git a/source3/lib/replace/libreplace_macros.m4 b/source3/lib/replace/libreplace_macros.m4 index f262b9b6eb..da46f6734f 100644 --- a/source3/lib/replace/libreplace_macros.m4 +++ b/source3/lib/replace/libreplace_macros.m4 @@ -314,4 +314,25 @@ AC_DEFUN(LIBREPLACE_PROVIDE_HEADER, ) ]) - +dnl AC_HAVE_TYPE(TYPE,INCLUDES) +AC_DEFUN([AC_HAVE_TYPE], [ +AC_REQUIRE([AC_HEADER_STDC]) +cv=`echo "$1" | sed 'y%./+- %__p__%'` +AC_MSG_CHECKING(for $1) +AC_CACHE_VAL([ac_cv_type_$cv], +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +AC_INCLUDES_DEFAULT +$2]], +[[$1 foo;]])], +[eval "ac_cv_type_$cv=yes"], +[eval "ac_cv_type_$cv=no"]))dnl +ac_foo=`eval echo \\$ac_cv_type_$cv` +AC_MSG_RESULT($ac_foo) +if test "$ac_foo" = yes; then + ac_tr_hdr=HAVE_`echo $1 | sed 'y%abcdefghijklmnopqrstuvwxyz./- %ABCDEFGHIJKLMNOPQRSTUVWXYZ____%'` +if false; then + AC_CHECK_TYPES($1) +fi + AC_DEFINE_UNQUOTED($ac_tr_hdr, 1, [Define if you have type `$1']) +fi +]) -- cgit