xref: /netbsd-src/external/gpl3/gdb/dist/gnulib/import/m4/arpa_inet_h.m4 (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
1# arpa_inet_h.m4 serial 17
2dnl Copyright (C) 2006, 2008-2022 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl Written by Simon Josefsson and Bruno Haible
8
9AC_DEFUN_ONCE([gl_ARPA_INET_H],
10[
11  dnl Ensure to expand the default settings once only, before all statements
12  dnl that occur in other macros.
13  AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
14
15  AC_CHECK_HEADERS_ONCE([arpa/inet.h])
16  if test $ac_cv_header_arpa_inet_h = yes; then
17    HAVE_ARPA_INET_H=1
18  else
19    HAVE_ARPA_INET_H=0
20  fi
21  AC_SUBST([HAVE_ARPA_INET_H])
22  dnl <arpa/inet.h> is always overridden, because of GNULIB_POSIXCHECK.
23  gl_CHECK_NEXT_HEADERS([arpa/inet.h])
24
25  AC_REQUIRE([gl_FEATURES_H])
26
27  gl_PREREQ_SYS_H_WS2TCPIP
28
29  dnl Check for declarations of anything we want to poison if the
30  dnl corresponding gnulib module is not in use.
31  gl_WARN_ON_USE_PREPARE([[
32/* On some systems, this header is not self-consistent.  */
33#if !(defined __GLIBC__ || defined __UCLIBC__)
34# include <sys/socket.h>
35#endif
36#ifdef __TANDEM
37# include <netdb.h>
38#endif
39#include <arpa/inet.h>
40    ]], [inet_ntop inet_pton])
41])
42
43# gl_ARPA_INET_MODULE_INDICATOR([modulename])
44# sets the shell variable that indicates the presence of the given module
45# to a C preprocessor expression that will evaluate to 1.
46# This macro invocation must not occur in macros that are AC_REQUIREd.
47AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR],
48[
49  dnl Ensure to expand the default settings once only.
50  gl_ARPA_INET_H_REQUIRE_DEFAULTS
51  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
52])
53
54# Initializes the default values for AC_SUBSTed shell variables.
55# This macro must not be AC_REQUIREd.  It must only be invoked, and only
56# outside of macros or in macros that are not AC_REQUIREd.
57AC_DEFUN([gl_ARPA_INET_H_REQUIRE_DEFAULTS],
58[
59  m4_defun(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFAULTS], [
60    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_NTOP])
61    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_PTON])
62  ])
63  m4_require(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFAULTS])
64  AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
65])
66
67AC_DEFUN([gl_ARPA_INET_H_DEFAULTS],
68[
69  dnl Assume proper GNU behavior unless another module says otherwise.
70  HAVE_DECL_INET_NTOP=1;  AC_SUBST([HAVE_DECL_INET_NTOP])
71  HAVE_DECL_INET_PTON=1;  AC_SUBST([HAVE_DECL_INET_PTON])
72  REPLACE_INET_NTOP=0;    AC_SUBST([REPLACE_INET_NTOP])
73  REPLACE_INET_PTON=0;    AC_SUBST([REPLACE_INET_PTON])
74])
75