Author: jra Date: 2007-10-03 19:12:39 +0000 (Wed, 03 Oct 2007) New Revision: 25487
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25487 Log: Try fix the build - fix socklen_t and sa_family_t. Jeremy. Modified: branches/SAMBA_3_2/source/configure.in branches/SAMBA_3_2/source/lib/replace/system/network.h branches/SAMBA_3_2_0/source/configure.in branches/SAMBA_3_2_0/source/lib/replace/system/network.h Changeset: Modified: branches/SAMBA_3_2/source/configure.in =================================================================== --- branches/SAMBA_3_2/source/configure.in 2007-10-03 19:08:53 UTC (rev 25486) +++ branches/SAMBA_3_2/source/configure.in 2007-10-03 19:12:39 UTC (rev 25487) @@ -1082,7 +1082,6 @@ AC_CHECK_TYPE(offset_t,loff_t) AC_CHECK_TYPE(ssize_t, int) AC_CHECK_TYPE(wchar_t, unsigned short) -AC_CHECK_TYPE(socklen_t, int) AC_CHECK_TYPE(comparison_fn_t, [AC_DEFINE(HAVE_COMPARISON_FN_T, 1,[Whether or not we have comparison_fn_t])]) @@ -2502,6 +2501,16 @@ AC_DEFINE(HAVE_UT_UT_EXIT,1,[Whether the utmp struct has a property ut_exit]) fi +dnl Look for the IPv6 varient by preference. Many systems have both. +AC_CACHE_CHECK([for ut_addr_v6 in utmp],samba_cv_HAVE_UT_UT_ADDR_V6,[ +AC_TRY_COMPILE([#include <sys/types.h> +#include <utmp.h>], +[struct utmp ut; ut.ut_addr_v6[0] = 0;], +samba_cv_HAVE_UT_UT_ADDR_V6=yes,samba_cv_HAVE_UT_UT_ADDR_V6=no,samba_cv_HAVE_UT_UT_ADDR_V6=cross)]) +if test x"$samba_cv_HAVE_UT_UT_ADDR_V6" = x"yes"; then + AC_DEFINE(HAVE_UT_UT_ADDR_V6,1,[Whether the utmp struct has a property ut_addr_v6]) +fi + AC_CACHE_CHECK([for ut_addr in utmp],samba_cv_HAVE_UT_UT_ADDR,[ AC_TRY_COMPILE([#include <sys/types.h> #include <utmp.h>], @@ -3039,11 +3048,29 @@ SMB_CHECK_SYSCONF(_SC_PAGESIZE) AC_CHECK_FUNCS(getpagesize) +dnl test for socklen_t +AC_CACHE_CHECK([for socklen_t],samba_cv_HAVE_SA_FAMILY_T,[ +AC_TRY_COMPILE([ +#include <sys/types.h> +#include <unistd.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +], +[ +socklen_t foo; +], +samba_cv_HAVE_SOCKLEN_T=yes,samba_cv_HAVE_SOCKLEN_T=no)]) +if test x"$samba_cv_HAVE_SOCKLEN_T" = x"yes"; then + AC_DEFINE(HAVE_SOCKLEN_T,1,[Whether the system has socklen_t]) +fi + dnl test for sa_family_t AC_CACHE_CHECK([for sa_family_t],samba_cv_HAVE_SA_FAMILY_T,[ AC_TRY_COMPILE([ +#include <sys/types.h> +#include <unistd.h> #include <sys/socket.h> -#include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> ], @@ -3158,6 +3185,20 @@ AC_DEFINE(HAVE_IPV6,1,[Whether the system has IPv6 support]) fi +dnl test for struct sockaddr_storage +AC_CACHE_CHECK([for ipv6 support],samba_cv_HAVE_SOCKADDR_STORAGE,[ +AC_TRY_COMPILE([ +#include <sys/socket.h> +#include <sys/types.h>], +[ +struct sockaddr_storage sa_store; +], +samba_cv_HAVE_SOCKADDR_STORAGE=yes,samba_cv_HAVE_SOCKADDR_STORAGE=no)]) +if test x"$samba_cv_HAVE_SOCKADDR_STORAGE" = x"yes"; then + AC_DEFINE(HAVE_SOCKADDR_STORAGE,1,[Whether the system has struct sockaddr_storage]) +fi + + ################################################ # look for a method of setting the effective uid seteuid=no; Modified: branches/SAMBA_3_2/source/lib/replace/system/network.h =================================================================== --- branches/SAMBA_3_2/source/lib/replace/system/network.h 2007-10-03 19:08:53 UTC (rev 25486) +++ branches/SAMBA_3_2/source/lib/replace/system/network.h 2007-10-03 19:12:39 UTC (rev 25487) @@ -118,8 +118,16 @@ #define INET6_ADDRSTRLEN 46 #endif +#ifndef HAVE_SOCKLEN_T +typedef int socklen_t; +#endif + #ifndef HAVE_SA_FAMILY_T typedef unsigned short int sa_family_t; #endif +#ifndef HAVE_SOCKADDR_STORAGE +#define sockaddr_storage sockaddr #endif + +#endif Modified: branches/SAMBA_3_2_0/source/configure.in =================================================================== --- branches/SAMBA_3_2_0/source/configure.in 2007-10-03 19:08:53 UTC (rev 25486) +++ branches/SAMBA_3_2_0/source/configure.in 2007-10-03 19:12:39 UTC (rev 25487) @@ -1006,7 +1006,6 @@ AC_CHECK_TYPE(offset_t,loff_t) AC_CHECK_TYPE(ssize_t, int) AC_CHECK_TYPE(wchar_t, unsigned short) -AC_CHECK_TYPE(socklen_t, int) AC_CHECK_TYPE(comparison_fn_t, [AC_DEFINE(HAVE_COMPARISON_FN_T, 1,[Whether or not we have comparison_fn_t])]) @@ -2390,6 +2389,16 @@ AC_DEFINE(HAVE_UT_UT_EXIT,1,[Whether the utmp struct has a property ut_exit]) fi +dnl Look for the IPv6 varient by preference. Many systems have both. +AC_CACHE_CHECK([for ut_addr_v6 in utmp],samba_cv_HAVE_UT_UT_ADDR_V6,[ +AC_TRY_COMPILE([#include <sys/types.h> +#include <utmp.h>], +[struct utmp ut; ut.ut_addr_v6[0] = 0;], +samba_cv_HAVE_UT_UT_ADDR_V6=yes,samba_cv_HAVE_UT_UT_ADDR_V6=no,samba_cv_HAVE_UT_UT_ADDR_V6=cross)]) +if test x"$samba_cv_HAVE_UT_UT_ADDR_V6" = x"yes"; then + AC_DEFINE(HAVE_UT_UT_ADDR_V6,1,[Whether the utmp struct has a property ut_addr_v6]) +fi + AC_CACHE_CHECK([for ut_addr in utmp],samba_cv_HAVE_UT_UT_ADDR,[ AC_TRY_COMPILE([#include <sys/types.h> #include <utmp.h>], @@ -2919,11 +2928,29 @@ SMB_CHECK_SYSCONF(_SC_PAGESIZE) AC_CHECK_FUNCS(getpagesize) +dnl test for socklen_t +AC_CACHE_CHECK([for socklen_t],samba_cv_HAVE_SA_FAMILY_T,[ +AC_TRY_COMPILE([ +#include <sys/types.h> +#include <unistd.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +], +[ +socklen_t foo; +], +samba_cv_HAVE_SOCKLEN_T=yes,samba_cv_HAVE_SOCKLEN_T=no)]) +if test x"$samba_cv_HAVE_SOCKLEN_T" = x"yes"; then + AC_DEFINE(HAVE_SOCKLEN_T,1,[Whether the system has socklen_t]) +fi + dnl test for sa_family_t AC_CACHE_CHECK([for sa_family_t],samba_cv_HAVE_SA_FAMILY_T,[ AC_TRY_COMPILE([ +#include <sys/types.h> +#include <unistd.h> #include <sys/socket.h> -#include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> ], @@ -3038,6 +3065,20 @@ AC_DEFINE(HAVE_IPV6,1,[Whether the system has IPv6 support]) fi +dnl test for struct sockaddr_storage +AC_CACHE_CHECK([for ipv6 support],samba_cv_HAVE_SOCKADDR_STORAGE,[ +AC_TRY_COMPILE([ +#include <sys/socket.h> +#include <sys/types.h>], +[ +struct sockaddr_storage sa_store; +], +samba_cv_HAVE_SOCKADDR_STORAGE=yes,samba_cv_HAVE_SOCKADDR_STORAGE=no)]) +if test x"$samba_cv_HAVE_SOCKADDR_STORAGE" = x"yes"; then + AC_DEFINE(HAVE_SOCKADDR_STORAGE,1,[Whether the system has struct sockaddr_storage]) +fi + + ################################################ # look for a method of setting the effective uid seteuid=no; Modified: branches/SAMBA_3_2_0/source/lib/replace/system/network.h =================================================================== --- branches/SAMBA_3_2_0/source/lib/replace/system/network.h 2007-10-03 19:08:53 UTC (rev 25486) +++ branches/SAMBA_3_2_0/source/lib/replace/system/network.h 2007-10-03 19:12:39 UTC (rev 25487) @@ -118,8 +118,16 @@ #define INET6_ADDRSTRLEN 46 #endif +#ifndef HAVE_SOCKLEN_T +typedef int socklen_t; +#endif + #ifndef HAVE_SA_FAMILY_T typedef unsigned short int sa_family_t; #endif +#ifndef HAVE_SOCKADDR_STORAGE +#define sockaddr_storage sockaddr #endif + +#endif