Home | History | Annotate | Line # | Download | only in m4
      1 # netdb_h.m4 serial 15
      2 dnl Copyright (C) 2008-2022 Free Software Foundation, Inc.
      3 dnl This file is free software; the Free Software Foundation
      4 dnl gives unlimited permission to copy and/or distribute it,
      5 dnl with or without modifications, as long as this notice is preserved.
      6 
      7 AC_DEFUN_ONCE([gl_NETDB_H],
      8 [
      9   AC_REQUIRE([gl_NETDB_H_DEFAULTS])
     10   gl_CHECK_NEXT_HEADERS([netdb.h])
     11   if test $ac_cv_header_netdb_h = yes; then
     12     HAVE_NETDB_H=1
     13   else
     14     HAVE_NETDB_H=0
     15   fi
     16   AC_SUBST([HAVE_NETDB_H])
     17 
     18   dnl Check for declarations of anything we want to poison if the
     19   dnl corresponding gnulib module is not in use.
     20   gl_WARN_ON_USE_PREPARE([[#include <netdb.h>]],
     21     [getaddrinfo freeaddrinfo gai_strerror getnameinfo])
     22 ])
     23 
     24 # gl_NETDB_MODULE_INDICATOR([modulename])
     25 # sets the shell variable that indicates the presence of the given module
     26 # to a C preprocessor expression that will evaluate to 1.
     27 # This macro invocation must not occur in macros that are AC_REQUIREd.
     28 AC_DEFUN([gl_NETDB_MODULE_INDICATOR],
     29 [
     30   dnl Ensure to expand the default settings once only.
     31   gl_NETDB_H_REQUIRE_DEFAULTS
     32   gl_MODULE_INDICATOR_SET_VARIABLE([$1])
     33   dnl Define it also as a C macro, for the benefit of the unit tests.
     34   gl_MODULE_INDICATOR_FOR_TESTS([$1])
     35 ])
     36 
     37 # Initializes the default values for AC_SUBSTed shell variables.
     38 # This macro must not be AC_REQUIREd.  It must only be invoked, and only
     39 # outside of macros or in macros that are not AC_REQUIREd.
     40 AC_DEFUN([gl_NETDB_H_REQUIRE_DEFAULTS],
     41 [
     42   m4_defun(GL_MODULE_INDICATOR_PREFIX[_NETDB_H_MODULE_INDICATOR_DEFAULTS], [
     43     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETADDRINFO])
     44   ])
     45   m4_require(GL_MODULE_INDICATOR_PREFIX[_NETDB_H_MODULE_INDICATOR_DEFAULTS])
     46   AC_REQUIRE([gl_NETDB_H_DEFAULTS])
     47 ])
     48 
     49 AC_DEFUN([gl_NETDB_H_DEFAULTS],
     50 [
     51   dnl Assume proper GNU behavior unless another module says otherwise.
     52   HAVE_STRUCT_ADDRINFO=1;   AC_SUBST([HAVE_STRUCT_ADDRINFO])
     53   HAVE_DECL_FREEADDRINFO=1; AC_SUBST([HAVE_DECL_FREEADDRINFO])
     54   HAVE_DECL_GAI_STRERROR=1; AC_SUBST([HAVE_DECL_GAI_STRERROR])
     55   HAVE_DECL_GETADDRINFO=1;  AC_SUBST([HAVE_DECL_GETADDRINFO])
     56   HAVE_DECL_GETNAMEINFO=1;  AC_SUBST([HAVE_DECL_GETNAMEINFO])
     57   REPLACE_GAI_STRERROR=0;   AC_SUBST([REPLACE_GAI_STRERROR])
     58   REPLACE_GETADDRINFO=0;    AC_SUBST([REPLACE_GETADDRINFO])
     59 ])
     60