#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
+# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
-e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
-e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \
-e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \
+ -e 's|@''HAVE_SA_FAMILY_T''@|$(HAVE_SA_FAMILY_T)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/sys_socket.in.h; \
} > $@-t
fi
# We need to check for ws2tcpip.h now.
gl_PREREQ_SYS_H_SOCKET
- AC_CHECK_TYPES([struct sockaddr_storage],,,[
+ AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[
/* sys/types.h is not needed according to POSIX, but the
sys/socket.h in i386-unknown-freebsd4.10 and
powerpc-apple-darwin5.5 required it. */
HAVE_STRUCT_SOCKADDR_STORAGE=0
SYS_SOCKET_H='sys/socket.h'
fi
+ if test $ac_cv_type_sa_family_t = no; then
+ HAVE_SA_FAMILY_T=0
+ SYS_SOCKET_H='sys/socket.h'
+ fi
if test -n "$SYS_SOCKET_H"; then
gl_PREREQ_SYS_H_WINSOCK2
fi
GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT])
GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN])
HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE])
+ HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T])
])
#ifndef _GL_SYS_SOCKET_H
#define _GL_SYS_SOCKET_H
+#if !@HAVE_SA_FAMILY_T@
+typedef unsigned short sa_family_t;
+#endif
+
#if !@HAVE_STRUCT_SOCKADDR_STORAGE@
# include <alignof.h>
/* Code taken from glibc sysdeps/unix/sysv/linux/bits/socket.h on
main ()
{
struct sockaddr_storage x;
+ sa_family_t i;
/* Check some errno values. */
switch (0)
}
x.ss_family = 42;
+ i = 4711;
return 0;
}
-e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
-e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \
-e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|$(HAVE_STRUCT_SOCKADDR_STORAGE)|g' \
+ -e 's|@''HAVE_SA_FAMILY_T''@|$(HAVE_SA_FAMILY_T)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/sys_socket.in.h; \
} > $@-t
fi
# We need to check for ws2tcpip.h now.
gl_PREREQ_SYS_H_SOCKET
- AC_CHECK_TYPES([struct sockaddr_storage],,,[
+ AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[
/* sys/types.h is not needed according to POSIX, but the
sys/socket.h in i386-unknown-freebsd4.10 and
powerpc-apple-darwin5.5 required it. */
HAVE_STRUCT_SOCKADDR_STORAGE=0
SYS_SOCKET_H='sys/socket.h'
fi
+ if test $ac_cv_type_sa_family_t = no; then
+ HAVE_SA_FAMILY_T=0
+ SYS_SOCKET_H='sys/socket.h'
+ fi
if test -n "$SYS_SOCKET_H"; then
gl_PREREQ_SYS_H_WINSOCK2
fi
GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT])
GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN])
HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE])
+ HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T])
])
#ifndef _GL_SYS_SOCKET_H
#define _GL_SYS_SOCKET_H
+#if !@HAVE_SA_FAMILY_T@
+typedef unsigned short sa_family_t;
+#endif
+
#if !@HAVE_STRUCT_SOCKADDR_STORAGE@
# include <alignof.h>
/* Code taken from glibc sysdeps/unix/sysv/linux/bits/socket.h on
main ()
{
struct sockaddr_storage x;
+ sa_family_t i;
/* Check some errno values. */
switch (0)
}
x.ss_family = 42;
+ i = 4711;
return 0;
}
rel-files = $(DIST_ARCHIVES)
-gnulib_dir ?= gnulib
+gnulib_dir ?= $(srcdir)/gnulib
gnulib-version = $$(cd $(gnulib_dir) && git describe)
bootstrap-tools ?= autoconf,automake,gnulib