--- /dev/null
+/* Provide a arpa/inet header file for systems lacking it (read: MinGW)
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ 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)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#ifndef _GL_ARPA_INET_H
+#define _GL_ARPA_INET_H
+
+#if @GNULIB_INET_NTOP@
+# include <inet_ntop.h>
+#elif defined GNULIB_POSIXCHECK
+# undef inet_ntop
+# define inet_ntop(af,src,dst,cnt) \
+ (GL_LINK_WARNING ("inet_ntop doesn't exist on mingw - " \
+ "use gnulib module inet_ntop for portability"), \
+ inet_ntop (af, src, dst, cnt))
+#endif
+
+#if @GNULIB_INET_PTON@
+# include <inet_pton.h>
+#elif defined GNULIB_POSIXCHECK
+# undef inet_pton
+# define inet_pton(af,src,dst) \
+ (GL_LINK_WARNING ("inet_pton doesn't exist on mingw - " \
+ "use gnulib module inet_pton for portability"), \
+ inet_pton (af, src, dst))
+#endif
+
+#endif /* _GL_ARPA_INET_H */
# doesn't have one.
arpa/inet.h:
@MKDIR_P@ arpa
- rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
- echo '#include <sys/socket.h>'; \
- echo '#include <inet_ntop.h>'; \
- echo '#include <inet_pton.h>'; \
+ sed \
+ -e 's|@''GNULIB_INET_NTOP''@|$(GNULIB_INET_NTOP)|g' \
+ -e 's|@''GNULIB_INET_PTON''@|$(GNULIB_INET_PTON)|g' \
+ < $(srcdir)/arpa_inet.in.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += arpa/inet.h arpa/inet.h-t
MOSTLYCLEANDIRS += arpa
+EXTRA_DIST += arpa_inet.in.h
+
## end gnulib module arpa_inet
## begin gnulib module error
-# arpa_inet_h.m4 serial 1
-dnl Copyright (C) 2006 Free Software Foundation, Inc.
+# arpa_inet_h.m4 serial 2
+dnl Copyright (C) 2006, 2008 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_HEADER_ARPA_INET],
[
+ dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+ dnl once only, before all statements that occur in other macros.
+ AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
+
AC_CHECK_HEADERS_ONCE([arpa/inet.h])
if test $ac_cv_header_arpa_inet_h = yes; then
ARPA_INET_H=''
fi
AC_SUBST(ARPA_INET_H)
])
+
+AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR],
+[
+ dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+ AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
+ GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+])
+
+AC_DEFUN([gl_ARPA_INET_H_DEFAULTS],
+[
+ GNULIB_INET_NTOP=0; AC_SUBST([GNULIB_INET_NTOP])
+ GNULIB_INET_PTON=0; AC_SUBST([GNULIB_INET_PTON])
+])
[AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [],
[GNUmakefile=$GNUmakefile])])
gl_INET_NTOP
+ gl_ARPA_INET_MODULE_INDICATOR([inet_ntop])
gl_INET_PTON
+ gl_ARPA_INET_MODULE_INDICATOR([inet_pton])
gl_HEADER_NETINET_IN
AC_PROG_MKDIR_P
gl_FUNC_READLINE
doc/gendocs_template
doc/gpl-3.0.texi
doc/lgpl-2.1.texi
+ lib/arpa_inet.in.h
lib/error.c
lib/error.h
lib/gai_strerror.c
# define ESHUTDOWN WSAESHUTDOWN
# endif
+# if defined _WIN32 || defined __WIN32__
+# define setsockopt(a,b,c,d,e) setsockopt(a,b,c,(const void*)(d),e)
+# endif
+
#endif /* HAVE_SYS_SOCKET_H */
#endif /* _GL_SYS_SOCKET_H */