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