# DO NOT EDIT! GENERATED AUTOMATICALLY!
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
#
# This file 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 of the License, or
# (at your option) any later version.
#
# This file 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 file.  If not, see <https://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License,
# this file may be distributed as part of a program that
# contains a configuration script generated by Autoconf, under
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
#
# This file represents the compiled summary of the specification in
# gnulib-cache.m4. It lists the computed macro invocations that need
# to be invoked from configure.ac.
# In projects that use version control, this file can be treated like
# other built files.


# This macro should be invoked from ./configure.ac, in the section
# "Checks for programs", right after AC_PROG_CC, and certainly before
# any checks for libraries, header files, types and library functions.
AC_DEFUN([gl_EARLY],
[
  m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace
  m4_pattern_allow([^gl_ES$])dnl a valid locale name
  m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
  m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable

  # Pre-early section.
  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
  AC_REQUIRE([gl_PROG_AR_RANLIB])

  AC_REQUIRE([AM_PROG_CC_C_O])
  # Code from module absolute-header:
  # Code from module accept:
  # Code from module accept-tests:
  # Code from module alloca:
  # Code from module alloca-opt:
  # Code from module alloca-opt-tests:
  # Code from module arpa_inet:
  # Code from module arpa_inet-tests:
  # Code from module assure:
  # Code from module binary-io:
  # Code from module binary-io-tests:
  # Code from module bind:
  # Code from module bind-tests:
  # Code from module btowc:
  # Code from module btowc-tests:
  # Code from module builtin-expect:
  # Code from module c-ctype:
  # Code from module c-ctype-tests:
  # Code from module c-strcase:
  # Code from module c-strcase-tests:
  # Code from module cloexec:
  # Code from module cloexec-tests:
  # Code from module close:
  # Code from module close-tests:
  # Code from module cond:
  # Code from module cond-tests:
  # Code from module connect:
  # Code from module connect-tests:
  # Code from module ctype:
  # Code from module ctype-tests:
  # Code from module dosname:
  # Code from module dup2:
  # Code from module dup2-tests:
  # Code from module environ:
  # Code from module environ-tests:
  # Code from module errno:
  # Code from module errno-tests:
  # Code from module extensions:
  # Code from module extern-inline:
  # Code from module fclose:
  # Code from module fclose-tests:
  # Code from module fcntl:
  # Code from module fcntl-h:
  # Code from module fcntl-h-tests:
  # Code from module fcntl-tests:
  # Code from module fd-hook:
  # Code from module fdopen:
  # Code from module fdopen-tests:
  # Code from module fflush:
  AC_REQUIRE([AC_FUNC_FSEEKO])
  # Code from module fflush-tests:
  # Code from module fgetc-tests:
  # Code from module filename:
  # Code from module flexmember:
  # Code from module float:
  # Code from module float-tests:
  # Code from module fopen:
  # Code from module fopen-tests:
  # Code from module fpieee:
  AC_REQUIRE([gl_FP_IEEE])
  # Code from module fpucw:
  # Code from module fpurge:
  # Code from module fpurge-tests:
  # Code from module fputc-tests:
  # Code from module fread-tests:
  # Code from module freading:
  # Code from module freading-tests:
  # Code from module fseek:
  # Code from module fseek-tests:
  # Code from module fseeko:
  AC_REQUIRE([AC_FUNC_FSEEKO])
  # Code from module fseeko-tests:
  # Code from module fstat:
  # Code from module fstat-tests:
  # Code from module ftell:
  # Code from module ftell-tests:
  # Code from module ftello:
  AC_REQUIRE([AC_FUNC_FSEEKO])
  # Code from module ftello-tests:
  # Code from module ftruncate:
  # Code from module ftruncate-tests:
  # Code from module ftw:
  # Code from module fwrite-tests:
  # Code from module getaddrinfo:
  # Code from module getaddrinfo-tests:
  # Code from module getcwd-lgpl:
  # Code from module getcwd-lgpl-tests:
  # Code from module getdelim:
  # Code from module getdelim-tests:
  # Code from module getdtablesize:
  # Code from module getdtablesize-tests:
  # Code from module gethostname:
  # Code from module gethostname-tests:
  # Code from module getline:
  # Code from module getline-tests:
  # Code from module getpagesize:
  # Code from module getpass:
  # Code from module getsockname:
  # Code from module getsockname-tests:
  # Code from module gettext-h:
  # Code from module gettimeofday:
  # Code from module gettimeofday-tests:
  # Code from module hard-locale:
  # Code from module havelib:
  # Code from module host-cpu-c-abi:
  # Code from module hostent:
  # Code from module ignore-value:
  # Code from module ignore-value-tests:
  # Code from module include_next:
  # Code from module inet_ntop:
  # Code from module inet_ntop-tests:
  # Code from module inet_pton:
  # Code from module inet_pton-tests:
  # Code from module intprops:
  # Code from module intprops-tests:
  # Code from module inttypes:
  # Code from module inttypes-incomplete:
  # Code from module inttypes-tests:
  # Code from module ioctl:
  # Code from module ioctl-tests:
  # Code from module isblank:
  # Code from module isblank-tests:
  # Code from module langinfo:
  # Code from module langinfo-tests:
  # Code from module largefile:
  AC_REQUIRE([AC_SYS_LARGEFILE])
  # Code from module limits-h:
  # Code from module limits-h-tests:
  # Code from module listen:
  # Code from module listen-tests:
  # Code from module localcharset:
  # Code from module localcharset-tests:
  # Code from module locale:
  # Code from module locale-tests:
  # Code from module localeconv:
  # Code from module localeconv-tests:
  # Code from module localename:
  # Code from module localename-tests:
  # Code from module localtime-buffer:
  # Code from module lock:
  # Code from module lock-tests:
  # Code from module lseek:
  # Code from module lseek-tests:
  # Code from module lstat:
  # Code from module lstat-tests:
  # Code from module malloc-posix:
  # Code from module malloca:
  # Code from module malloca-tests:
  # Code from module mbrtowc:
  # Code from module mbrtowc-tests:
  # Code from module mbsinit:
  # Code from module mbsinit-tests:
  # Code from module mbtowc:
  # Code from module memchr:
  # Code from module memchr-tests:
  # Code from module memmem:
  # Code from module memmem-simple:
  # Code from module memmem-tests:
  # Code from module minmax:
  # Code from module mktime:
  # Code from module mktime-internal:
  # Code from module msvc-inval:
  # Code from module msvc-nothrow:
  # Code from module multiarch:
  # Code from module nanosleep:
  # Code from module nanosleep-tests:
  # Code from module netdb:
  # Code from module netdb-tests:
  # Code from module netinet_in:
  # Code from module netinet_in-tests:
  # Code from module nl_langinfo:
  # Code from module nl_langinfo-tests:
  # Code from module open:
  # Code from module open-tests:
  # Code from module pathmax:
  # Code from module pathmax-tests:
  # Code from module perror:
  # Code from module perror-tests:
  # Code from module pipe-posix:
  # Code from module pipe-posix-tests:
  # Code from module poll:
  # Code from module poll-h:
  # Code from module poll-h-tests:
  # Code from module poll-tests:
  # Code from module pthread_sigmask:
  # Code from module pthread_sigmask-tests:
  # Code from module putenv:
  # Code from module raise:
  # Code from module raise-tests:
  # Code from module regex:
  # Code from module regex-tests:
  # Code from module relocatable-lib-lgpl:
  # Code from module same-inode:
  # Code from module select:
  # Code from module select-tests:
  # Code from module servent:
  # Code from module setenv:
  # Code from module setenv-tests:
  # Code from module setlocale:
  # Code from module setlocale-tests:
  # Code from module setsockopt:
  # Code from module setsockopt-tests:
  # Code from module sigaction:
  # Code from module sigaction-tests:
  # Code from module signal-h:
  # Code from module signal-h-tests:
  # Code from module sigprocmask:
  # Code from module sigprocmask-tests:
  # Code from module size_max:
  # Code from module sleep:
  # Code from module sleep-tests:
  # Code from module snippet/_Noreturn:
  # Code from module snippet/arg-nonnull:
  # Code from module snippet/c++defs:
  # Code from module snippet/unused-parameter:
  # Code from module snippet/warn-on-use:
  # Code from module snprintf:
  # Code from module snprintf-tests:
  # Code from module socket:
  # Code from module socketlib:
  # Code from module sockets:
  # Code from module sockets-tests:
  # Code from module socklen:
  # Code from module ssize_t:
  # Code from module stat:
  # Code from module stat-tests:
  # Code from module stat-time:
  # Code from module stat-time-tests:
  # Code from module stdalign:
  # Code from module stdalign-tests:
  # Code from module stdbool:
  # Code from module stdbool-tests:
  # Code from module stddef:
  # Code from module stddef-tests:
  # Code from module stdint:
  # Code from module stdint-tests:
  # Code from module stdio:
  # Code from module stdio-tests:
  # Code from module stdlib:
  # Code from module stdlib-tests:
  # Code from module strcase:
  # Code from module strcasestr:
  # Code from module strcasestr-simple:
  # Code from module strcasestr-tests:
  # Code from module strdup-posix:
  # Code from module streq:
  # Code from module strerror:
  # Code from module strerror-override:
  # Code from module strerror-tests:
  # Code from module strerror_r-posix:
  # Code from module strerror_r-posix-tests:
  # Code from module string:
  # Code from module string-tests:
  # Code from module strings:
  # Code from module strings-tests:
  # Code from module strndup:
  # Code from module strnlen:
  # Code from module strnlen-tests:
  # Code from module strptime:
  # Code from module strsep:
  # Code from module symlink:
  # Code from module symlink-tests:
  # Code from module sys_ioctl:
  # Code from module sys_ioctl-tests:
  # Code from module sys_select:
  # Code from module sys_select-tests:
  # Code from module sys_socket:
  # Code from module sys_socket-tests:
  # Code from module sys_stat:
  # Code from module sys_stat-tests:
  # Code from module sys_time:
  # Code from module sys_time-tests:
  # Code from module sys_types:
  # Code from module sys_types-tests:
  # Code from module sys_uio:
  # Code from module sys_uio-tests:
  # Code from module sys_utsname:
  # Code from module sys_utsname-tests:
  # Code from module test-framework-sh:
  # Code from module test-framework-sh-tests:
  # Code from module thread:
  # Code from module thread-tests:
  # Code from module threadlib:
  gl_THREADLIB_EARLY
  # Code from module time:
  # Code from module time-tests:
  # Code from module time_r:
  # Code from module timegm:
  # Code from module tls:
  # Code from module tls-tests:
  # Code from module uname:
  # Code from module uname-tests:
  # Code from module unistd:
  # Code from module unistd-tests:
  # Code from module unsetenv:
  # Code from module unsetenv-tests:
  # Code from module usleep:
  # Code from module usleep-tests:
  # Code from module vasnprintf:
  # Code from module vasnprintf-tests:
  # Code from module verify:
  # Code from module verify-tests:
  # Code from module vsnprintf:
  # Code from module vsnprintf-tests:
  # Code from module wchar:
  # Code from module wchar-tests:
  # Code from module wcrtomb:
  # Code from module wcrtomb-tests:
  # Code from module wctob:
  # Code from module wctomb:
  # Code from module wctype-h:
  # Code from module wctype-h-tests:
  # Code from module write:
  # Code from module write-tests:
  # Code from module xalloc-oversized:
  # Code from module xsize:
  # Code from module yield:
])

# This macro should be invoked from ./configure.ac, in the section
# "Check for header files, types and library functions".
AC_DEFUN([gl_INIT],
[
  AM_CONDITIONAL([GL_COND_LIBTOOL], [true])
  gl_cond_libtool=true
  gl_m4_base='libmissing/m4'
  m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ]))
  m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS]))
  m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES]))
  m4_pushdef([gl_LIBSOURCES_LIST], [])
  m4_pushdef([gl_LIBSOURCES_DIR], [])
  gl_COMMON
  gl_source_base='libmissing'
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
  if test "$ac_cv_header_winsock2_h" = yes; then
    AC_LIBOBJ([accept])
  fi
  gl_SYS_SOCKET_MODULE_INDICATOR([accept])
changequote(,)dnl
LTALLOCA=`echo "$ALLOCA" | sed -e 's/\.[^.]* /.lo /g;s/\.[^.]*$/.lo/'`
changequote([, ])dnl
AC_SUBST([LTALLOCA])
  gl_FUNC_ALLOCA
  gl_HEADER_ARPA_INET
  AC_PROG_MKDIR_P
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
  if test "$ac_cv_header_winsock2_h" = yes; then
    AC_LIBOBJ([bind])
  fi
  gl_SYS_SOCKET_MODULE_INDICATOR([bind])
  gl_FUNC_BTOWC
  if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
    AC_LIBOBJ([btowc])
    gl_PREREQ_BTOWC
  fi
  gl_WCHAR_MODULE_INDICATOR([btowc])
  gl___BUILTIN_EXPECT
  gl_FUNC_CLOSE
  if test $REPLACE_CLOSE = 1; then
    AC_LIBOBJ([close])
  fi
  gl_UNISTD_MODULE_INDICATOR([close])
  gl_COND
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
  if test "$ac_cv_header_winsock2_h" = yes; then
    AC_LIBOBJ([connect])
  fi
  gl_SYS_SOCKET_MODULE_INDICATOR([connect])
  gl_FUNC_DUP2
  if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
    AC_LIBOBJ([dup2])
    gl_PREREQ_DUP2
  fi
  gl_UNISTD_MODULE_INDICATOR([dup2])
  gl_HEADER_ERRNO_H
  AC_REQUIRE([gl_EXTERN_INLINE])
  gl_FUNC_FCLOSE
  if test $REPLACE_FCLOSE = 1; then
    AC_LIBOBJ([fclose])
  fi
  gl_STDIO_MODULE_INDICATOR([fclose])
  gl_FUNC_FFLUSH
  if test $REPLACE_FFLUSH = 1; then
    AC_LIBOBJ([fflush])
    gl_PREREQ_FFLUSH
  fi
  gl_MODULE_INDICATOR([fflush])
  gl_STDIO_MODULE_INDICATOR([fflush])
  gl_FLOAT_H
  if test $REPLACE_FLOAT_LDBL = 1; then
    AC_LIBOBJ([float])
  fi
  if test $REPLACE_ITOLD = 1; then
    AC_LIBOBJ([itold])
  fi
  gl_FUNC_FOPEN
  if test $REPLACE_FOPEN = 1; then
    AC_LIBOBJ([fopen])
    gl_PREREQ_FOPEN
  fi
  gl_STDIO_MODULE_INDICATOR([fopen])
  gl_FUNC_FPURGE
  if test $HAVE_FPURGE = 0 || test $REPLACE_FPURGE = 1; then
    AC_LIBOBJ([fpurge])
  fi
  gl_STDIO_MODULE_INDICATOR([fpurge])
  gl_FUNC_FREADING
  gl_FUNC_FSEEK
  if test $REPLACE_FSEEK = 1; then
    AC_LIBOBJ([fseek])
  fi
  gl_STDIO_MODULE_INDICATOR([fseek])
  gl_FUNC_FSEEKO
  if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then
    AC_LIBOBJ([fseeko])
    gl_PREREQ_FSEEKO
  fi
  gl_STDIO_MODULE_INDICATOR([fseeko])
  gl_FUNC_FSTAT
  if test $REPLACE_FSTAT = 1; then
    AC_LIBOBJ([fstat])
    case "$host_os" in
      mingw*)
        AC_LIBOBJ([stat-w32])
        ;;
    esac
    gl_PREREQ_FSTAT
  fi
  gl_SYS_STAT_MODULE_INDICATOR([fstat])
  gl_FUNC_FTELL
  if test $REPLACE_FTELL = 1; then
    AC_LIBOBJ([ftell])
  fi
  gl_STDIO_MODULE_INDICATOR([ftell])
  gl_FUNC_FTELLO
  if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then
    AC_LIBOBJ([ftello])
    gl_PREREQ_FTELLO
  fi
  gl_STDIO_MODULE_INDICATOR([ftello])
  gl_FUNC_FTW
  gl_GETADDRINFO
  if test $HAVE_GETADDRINFO = 0; then
    AC_LIBOBJ([getaddrinfo])
  fi
  if test $HAVE_DECL_GAI_STRERROR = 0 || test $REPLACE_GAI_STRERROR = 1; then
    AC_LIBOBJ([gai_strerror])
  fi
  gl_NETDB_MODULE_INDICATOR([getaddrinfo])
  gl_FUNC_GETDELIM
  if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then
    AC_LIBOBJ([getdelim])
    gl_PREREQ_GETDELIM
  fi
  gl_STDIO_MODULE_INDICATOR([getdelim])
  gl_FUNC_GETHOSTNAME
  if test $HAVE_GETHOSTNAME = 0; then
    AC_LIBOBJ([gethostname])
    gl_PREREQ_GETHOSTNAME
  fi
  gl_UNISTD_MODULE_INDICATOR([gethostname])
  gl_FUNC_GETLINE
  if test $REPLACE_GETLINE = 1; then
    AC_LIBOBJ([getline])
    gl_PREREQ_GETLINE
  fi
  gl_STDIO_MODULE_INDICATOR([getline])
  gl_FUNC_GETPASS
  if test $HAVE_GETPASS = 0 || test $REPLACE_GETPASS = 1; then
    AC_LIBOBJ([getpass])
    gl_PREREQ_GETPASS
  fi
  gl_UNISTD_MODULE_INDICATOR([getpass])
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
  if test "$ac_cv_header_winsock2_h" = yes; then
    AC_LIBOBJ([getsockname])
  fi
  gl_SYS_SOCKET_MODULE_INDICATOR([getsockname])
  AC_SUBST([LIBINTL])
  AC_SUBST([LTLIBINTL])
  gl_FUNC_GETTIMEOFDAY
  if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
    AC_LIBOBJ([gettimeofday])
    gl_PREREQ_GETTIMEOFDAY
  fi
  gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
  AC_REQUIRE([gl_HOST_CPU_C_ABI])
  gl_HOSTENT
  gl_FUNC_INET_NTOP
  if test $HAVE_INET_NTOP = 0 || test $REPLACE_INET_NTOP = 1; then
    AC_LIBOBJ([inet_ntop])
    gl_PREREQ_INET_NTOP
  fi
  gl_ARPA_INET_MODULE_INDICATOR([inet_ntop])
  gl_FUNC_INET_PTON
  if test $HAVE_INET_PTON = 0 || test $REPLACE_INET_NTOP = 1; then
    AC_LIBOBJ([inet_pton])
    gl_PREREQ_INET_PTON
  fi
  gl_ARPA_INET_MODULE_INDICATOR([inet_pton])
  gl_FUNC_IOCTL
  if test $HAVE_IOCTL = 0 || test $REPLACE_IOCTL = 1; then
    AC_LIBOBJ([ioctl])
  fi
  gl_SYS_IOCTL_MODULE_INDICATOR([ioctl])
  gl_LANGINFO_H
  AC_REQUIRE([gl_LARGEFILE])
  gl_LIMITS_H
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
  if test "$ac_cv_header_winsock2_h" = yes; then
    AC_LIBOBJ([listen])
  fi
  gl_SYS_SOCKET_MODULE_INDICATOR([listen])
  gl_LOCALCHARSET
  dnl For backward compatibility. Some packages still use this.
  LOCALCHARSET_TESTS_ENVIRONMENT=
  AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
  gl_LOCALE_H
  gl_FUNC_LOCALECONV
  if test $REPLACE_LOCALECONV = 1; then
    AC_LIBOBJ([localeconv])
    gl_PREREQ_LOCALECONV
  fi
  gl_LOCALE_MODULE_INDICATOR([localeconv])
  AC_REQUIRE([gl_LOCALTIME_BUFFER_DEFAULTS])
  AC_LIBOBJ([localtime-buffer])
  gl_LOCK
  gl_MODULE_INDICATOR([lock])
  gl_FUNC_LSEEK
  if test $REPLACE_LSEEK = 1; then
    AC_LIBOBJ([lseek])
  fi
  gl_UNISTD_MODULE_INDICATOR([lseek])
  gl_FUNC_MALLOC_POSIX
  if test $REPLACE_MALLOC = 1; then
    AC_LIBOBJ([malloc])
  fi
  gl_STDLIB_MODULE_INDICATOR([malloc-posix])
  gl_MALLOCA
  gl_FUNC_MBRTOWC
  if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
    AC_LIBOBJ([mbrtowc])
    gl_PREREQ_MBRTOWC
  fi
  gl_WCHAR_MODULE_INDICATOR([mbrtowc])
  gl_FUNC_MBSINIT
  if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
    AC_LIBOBJ([mbsinit])
    gl_PREREQ_MBSINIT
  fi
  gl_WCHAR_MODULE_INDICATOR([mbsinit])
  gl_FUNC_MBTOWC
  if test $REPLACE_MBTOWC = 1; then
    AC_LIBOBJ([mbtowc])
    gl_PREREQ_MBTOWC
  fi
  gl_STDLIB_MODULE_INDICATOR([mbtowc])
  gl_FUNC_MEMCHR
  if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
    AC_LIBOBJ([memchr])
    gl_PREREQ_MEMCHR
  fi
  gl_STRING_MODULE_INDICATOR([memchr])
  gl_FUNC_MEMMEM
  if test $HAVE_MEMMEM = 0 || test $REPLACE_MEMMEM = 1; then
    AC_LIBOBJ([memmem])
  fi
  gl_FUNC_MEMMEM_SIMPLE
  if test $HAVE_MEMMEM = 0 || test $REPLACE_MEMMEM = 1; then
    AC_LIBOBJ([memmem])
  fi
  gl_STRING_MODULE_INDICATOR([memmem])
  gl_MINMAX
  gl_FUNC_MKTIME
  if test $REPLACE_MKTIME = 1; then
    AC_LIBOBJ([mktime])
    gl_PREREQ_MKTIME
  fi
  gl_TIME_MODULE_INDICATOR([mktime])
  gl_FUNC_MKTIME_INTERNAL
  if test $WANT_MKTIME_INTERNAL = 1; then
    AC_LIBOBJ([mktime])
    gl_PREREQ_MKTIME
  fi
  AC_REQUIRE([gl_MSVC_INVAL])
  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
    AC_LIBOBJ([msvc-inval])
  fi
  AC_REQUIRE([gl_MSVC_NOTHROW])
  if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
    AC_LIBOBJ([msvc-nothrow])
  fi
  gl_MODULE_INDICATOR([msvc-nothrow])
  gl_MULTIARCH
  gl_HEADER_NETDB
  gl_HEADER_NETINET_IN
  AC_PROG_MKDIR_P
  gl_FUNC_NL_LANGINFO
  if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
    AC_LIBOBJ([nl_langinfo])
  fi
  gl_LANGINFO_MODULE_INDICATOR([nl_langinfo])
  gl_PATHMAX
  gl_FUNC_PERROR
  if test $REPLACE_PERROR = 1; then
    AC_LIBOBJ([perror])
  fi
  gl_STRING_MODULE_INDICATOR([perror])
  gl_FUNC_POLL
  if test $HAVE_POLL = 0 || test $REPLACE_POLL = 1; then
    AC_LIBOBJ([poll])
    gl_PREREQ_POLL
  fi
  gl_POLL_MODULE_INDICATOR([poll])
  gl_POLL_H
  gl_FUNC_PTHREAD_SIGMASK
  if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then
    AC_LIBOBJ([pthread_sigmask])
    gl_PREREQ_PTHREAD_SIGMASK
  fi
  gl_SIGNAL_MODULE_INDICATOR([pthread_sigmask])
  gl_FUNC_RAISE
  if test $HAVE_RAISE = 0 || test $REPLACE_RAISE = 1; then
    AC_LIBOBJ([raise])
    gl_PREREQ_RAISE
  fi
  gl_SIGNAL_MODULE_INDICATOR([raise])
  gl_REGEX
  if test $ac_use_included_regex = yes; then
    AC_LIBOBJ([regex])
    gl_PREREQ_REGEX
  fi
  gl_RELOCATABLE_LIBRARY
  if test $RELOCATABLE = yes; then
    AC_LIBOBJ([relocatable])
  fi
  gl_FUNC_SELECT
  if test $REPLACE_SELECT = 1; then
    AC_LIBOBJ([select])
  fi
  gl_SYS_SELECT_MODULE_INDICATOR([select])
  gl_SERVENT
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
  if test "$ac_cv_header_winsock2_h" = yes; then
    AC_LIBOBJ([setsockopt])
  fi
  gl_SYS_SOCKET_MODULE_INDICATOR([setsockopt])
  gl_SIGNAL_H
  gl_SIGNALBLOCKING
  if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
    AC_LIBOBJ([sigprocmask])
    gl_PREREQ_SIGPROCMASK
  fi
  gl_SIGNAL_MODULE_INDICATOR([sigprocmask])
  gl_SIZE_MAX
  gl_FUNC_SLEEP
  if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then
    AC_LIBOBJ([sleep])
  fi
  gl_UNISTD_MODULE_INDICATOR([sleep])
  gl_FUNC_SNPRINTF
  gl_STDIO_MODULE_INDICATOR([snprintf])
  gl_MODULE_INDICATOR([snprintf])
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
  if test "$ac_cv_header_winsock2_h" = yes; then
    AC_LIBOBJ([socket])
  fi
  # When this module is used, sockets may actually occur as file descriptors,
  # hence it is worth warning if the modules 'close' and 'ioctl' are not used.
  m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])])
  m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])])
  AC_REQUIRE([gl_PREREQ_SYS_H_WINSOCK2])
  if test "$ac_cv_header_winsock2_h" = yes; then
    UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
    SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=1
  fi
  gl_SYS_SOCKET_MODULE_INDICATOR([socket])
  AC_REQUIRE([gl_SOCKETLIB])
  AC_REQUIRE([gl_SOCKETS])
  gl_TYPE_SOCKLEN_T
  gt_TYPE_SSIZE_T
  gl_FUNC_STAT
  if test $REPLACE_STAT = 1; then
    AC_LIBOBJ([stat])
    case "$host_os" in
      mingw*)
        AC_LIBOBJ([stat-w32])
        ;;
    esac
    gl_PREREQ_STAT
  fi
  gl_SYS_STAT_MODULE_INDICATOR([stat])
  gl_STAT_TIME
  gl_STAT_BIRTHTIME
  gl_STDALIGN_H
  AM_STDBOOL_H
  gl_STDDEF_H
  gl_STDINT_H
  gl_STDIO_H
  gl_STDLIB_H
  gl_STRCASE
  if test $HAVE_STRCASECMP = 0; then
    AC_LIBOBJ([strcasecmp])
    gl_PREREQ_STRCASECMP
  fi
  if test $HAVE_STRNCASECMP = 0; then
    AC_LIBOBJ([strncasecmp])
    gl_PREREQ_STRNCASECMP
  fi
  gl_FUNC_STRCASESTR
  if test $HAVE_STRCASESTR = 0 || test $REPLACE_STRCASESTR = 1; then
    AC_LIBOBJ([strcasestr])
    gl_PREREQ_STRCASESTR
  fi
  gl_FUNC_STRCASESTR_SIMPLE
  if test $HAVE_STRCASESTR = 0 || test $REPLACE_STRCASESTR = 1; then
    AC_LIBOBJ([strcasestr])
    gl_PREREQ_STRCASESTR
  fi
  gl_STRING_MODULE_INDICATOR([strcasestr])
  gl_FUNC_STRDUP_POSIX
  if test $ac_cv_func_strdup = no || test $REPLACE_STRDUP = 1; then
    AC_LIBOBJ([strdup])
    gl_PREREQ_STRDUP
  fi
  gl_STRING_MODULE_INDICATOR([strdup])
  gl_FUNC_STRERROR
  if test $REPLACE_STRERROR = 1; then
    AC_LIBOBJ([strerror])
  fi
  gl_MODULE_INDICATOR([strerror])
  gl_STRING_MODULE_INDICATOR([strerror])
  AC_REQUIRE([gl_HEADER_ERRNO_H])
  AC_REQUIRE([gl_FUNC_STRERROR_0])
  if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
    AC_LIBOBJ([strerror-override])
    gl_PREREQ_SYS_H_WINSOCK2
  fi
  gl_FUNC_STRERROR_R
  if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then
    AC_LIBOBJ([strerror_r])
    gl_PREREQ_STRERROR_R
  fi
  gl_STRING_MODULE_INDICATOR([strerror_r])
  dnl For the modules argp, error.
  gl_MODULE_INDICATOR([strerror_r-posix])
  gl_HEADER_STRING_H
  gl_HEADER_STRINGS_H
  gl_FUNC_STRNDUP
  if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then
    AC_LIBOBJ([strndup])
  fi
  gl_STRING_MODULE_INDICATOR([strndup])
  gl_FUNC_STRNLEN
  if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
    AC_LIBOBJ([strnlen])
    gl_PREREQ_STRNLEN
  fi
  gl_STRING_MODULE_INDICATOR([strnlen])
  gl_FUNC_STRPTIME
  if test $HAVE_STRPTIME = 0; then
    AC_LIBOBJ([strptime])
    gl_PREREQ_STRPTIME
  fi
  gl_TIME_MODULE_INDICATOR([strptime])
  gl_FUNC_STRSEP
  if test $HAVE_STRSEP = 0; then
    AC_LIBOBJ([strsep])
    gl_PREREQ_STRSEP
  fi
  gl_STRING_MODULE_INDICATOR([strsep])
  gl_SYS_IOCTL_H
  AC_PROG_MKDIR_P
  AC_REQUIRE([gl_HEADER_SYS_SELECT])
  AC_PROG_MKDIR_P
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
  AC_PROG_MKDIR_P
  gl_HEADER_SYS_STAT_H
  AC_PROG_MKDIR_P
  gl_HEADER_SYS_TIME_H
  AC_PROG_MKDIR_P
  gl_SYS_TYPES_H
  AC_PROG_MKDIR_P
  gl_HEADER_SYS_UIO
  AC_PROG_MKDIR_P
  gl_SYS_UTSNAME_H
  AC_PROG_MKDIR_P
  gl_THREAD
  gl_THREADLIB
  gl_HEADER_TIME_H
  gl_TIME_R
  if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
    AC_LIBOBJ([time_r])
    gl_PREREQ_TIME_R
  fi
  gl_TIME_MODULE_INDICATOR([time_r])
  gl_FUNC_TIMEGM
  if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then
    AC_LIBOBJ([timegm])
    gl_PREREQ_TIMEGM
  fi
  gl_TIME_MODULE_INDICATOR([timegm])
  gl_TLS
  gl_FUNC_UNAME
  if test $HAVE_UNAME = 0; then
    AC_LIBOBJ([uname])
    gl_PREREQ_UNAME
  fi
  gl_SYS_UTSNAME_MODULE_INDICATOR([uname])
  gl_UNISTD_H
  gl_FUNC_VASNPRINTF
  gl_FUNC_VSNPRINTF
  gl_STDIO_MODULE_INDICATOR([vsnprintf])
  gl_WCHAR_H
  gl_FUNC_WCRTOMB
  if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
    AC_LIBOBJ([wcrtomb])
    gl_PREREQ_WCRTOMB
  fi
  gl_WCHAR_MODULE_INDICATOR([wcrtomb])
  gl_WCTYPE_H
  gl_FUNC_WRITE
  if test $REPLACE_WRITE = 1; then
    AC_LIBOBJ([write])
    gl_PREREQ_WRITE
  fi
  gl_UNISTD_MODULE_INDICATOR([write])
  gl_XSIZE
  # End of code from modules
  m4_ifval(gl_LIBSOURCES_LIST, [
    m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
      for gl_file in ]gl_LIBSOURCES_LIST[ ; do
        if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then
          echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2
          exit 1
        fi
      done])dnl
      m4_if(m4_sysval, [0], [],
        [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
  ])
  m4_popdef([gl_LIBSOURCES_DIR])
  m4_popdef([gl_LIBSOURCES_LIST])
  m4_popdef([AC_LIBSOURCES])
  m4_popdef([AC_REPLACE_FUNCS])
  m4_popdef([AC_LIBOBJ])
  AC_CONFIG_COMMANDS_PRE([
    gl_libobjs=
    gl_ltlibobjs=
    if test -n "$gl_LIBOBJS"; then
      # Remove the extension.
      sed_drop_objext='s/\.o$//;s/\.obj$//'
      for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
        gl_libobjs="$gl_libobjs $i.$ac_objext"
        gl_ltlibobjs="$gl_ltlibobjs $i.lo"
      done
    fi
    AC_SUBST([gl_LIBOBJS], [$gl_libobjs])
    AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs])
  ])
  gltests_libdeps=
  gltests_ltlibdeps=
  m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ]))
  m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS]))
  m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES]))
  m4_pushdef([gltests_LIBSOURCES_LIST], [])
  m4_pushdef([gltests_LIBSOURCES_DIR], [])
  gl_COMMON
  gl_source_base='libmissing/tests'
changequote(,)dnl
  gltests_WITNESS=IN_`echo "${PACKAGE-$PACKAGE_TARNAME}" | LC_ALL=C tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | LC_ALL=C sed -e 's/[^A-Z0-9_]/_/g'`_GNULIB_TESTS
changequote([, ])dnl
  AC_SUBST([gltests_WITNESS])
  gl_module_indicator_condition=$gltests_WITNESS
  m4_pushdef([gl_MODULE_INDICATOR_CONDITION], [$gl_module_indicator_condition])
  gt_LOCALE_FR
  gt_LOCALE_FR_UTF8
  gt_LOCALE_FR
  gt_LOCALE_TR_UTF8
  gl_MODULE_INDICATOR_FOR_TESTS([cloexec])
  gl_CTYPE_H
  gl_ENVIRON
  gl_UNISTD_MODULE_INDICATOR([environ])
  gl_FUNC_FCNTL
  if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
    AC_LIBOBJ([fcntl])
  fi
  gl_FCNTL_MODULE_INDICATOR([fcntl])
  gl_FCNTL_H
  gl_FUNC_FDOPEN
  if test $REPLACE_FDOPEN = 1; then
    AC_LIBOBJ([fdopen])
    gl_PREREQ_FDOPEN
  fi
  gl_STDIO_MODULE_INDICATOR([fdopen])
  AC_C_FLEXIBLE_ARRAY_MEMBER
  gl_FUNC_UNGETC_WORKS
  gl_FUNC_UNGETC_WORKS
  gl_FUNC_UNGETC_WORKS
  gl_FUNC_UNGETC_WORKS
  gl_FUNC_FTRUNCATE
  if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then
    AC_LIBOBJ([ftruncate])
    gl_PREREQ_FTRUNCATE
  fi
  gl_UNISTD_MODULE_INDICATOR([ftruncate])
  gl_FUNC_GETCWD_LGPL
  if test $REPLACE_GETCWD = 1; then
    AC_LIBOBJ([getcwd-lgpl])
  fi
  gl_UNISTD_MODULE_INDICATOR([getcwd])
  gl_FUNC_GETDTABLESIZE
  if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then
    AC_LIBOBJ([getdtablesize])
    gl_PREREQ_GETDTABLESIZE
  fi
  gl_UNISTD_MODULE_INDICATOR([getdtablesize])
  gl_FUNC_GETPAGESIZE
  if test $REPLACE_GETPAGESIZE = 1; then
    AC_LIBOBJ([getpagesize])
  fi
  gl_UNISTD_MODULE_INDICATOR([getpagesize])
  AC_C_BIGENDIAN
  AC_C_BIGENDIAN
  gl_INTTYPES_H
  gl_INTTYPES_INCOMPLETE
  gl_FUNC_ISBLANK
  if test $HAVE_ISBLANK = 0; then
    AC_LIBOBJ([isblank])
  fi
  gl_CTYPE_MODULE_INDICATOR([isblank])
  AC_CHECK_FUNCS_ONCE([newlocale])
  gl_LOCALENAME
  AC_CHECK_FUNCS_ONCE([newlocale])
  AC_CHECK_HEADERS_ONCE([semaphore.h])
  gl_FUNC_LSTAT
  if test $REPLACE_LSTAT = 1; then
    AC_LIBOBJ([lstat])
    gl_PREREQ_LSTAT
  fi
  gl_SYS_STAT_MODULE_INDICATOR([lstat])
  gt_LOCALE_FR
  gt_LOCALE_FR_UTF8
  gt_LOCALE_JA
  gt_LOCALE_ZH_CN
  gt_LOCALE_FR_UTF8
  dnl Check for prerequisites for memory fence checks.
  gl_FUNC_MMAP_ANON
  AC_CHECK_HEADERS_ONCE([sys/mman.h])
  AC_CHECK_FUNCS_ONCE([mprotect])
  gl_FUNC_MMAP_ANON
  AC_CHECK_HEADERS_ONCE([sys/mman.h])
  AC_CHECK_FUNCS_ONCE([mprotect])
  AC_CHECK_DECLS_ONCE([alarm])
  gl_FUNC_NANOSLEEP
  if test $HAVE_NANOSLEEP = 0 || test $REPLACE_NANOSLEEP = 1; then
    AC_LIBOBJ([nanosleep])
    gl_PREREQ_NANOSLEEP
  fi
  gl_TIME_MODULE_INDICATOR([nanosleep])
  AC_CHECK_DECLS_ONCE([alarm])
  gt_LOCALE_FR
  gt_LOCALE_FR_UTF8
  gl_FUNC_OPEN
  if test $REPLACE_OPEN = 1; then
    AC_LIBOBJ([open])
    gl_PREREQ_OPEN
  fi
  gl_FCNTL_MODULE_INDICATOR([open])
  gl_FUNC_PIPE
  if test $HAVE_PIPE = 0; then
    AC_LIBOBJ([pipe])
  fi
  gl_UNISTD_MODULE_INDICATOR([pipe])
  AC_CHECK_HEADERS_ONCE([unistd.h sys/wait.h])
  gl_FUNC_PUTENV
  if test $REPLACE_PUTENV = 1; then
    AC_LIBOBJ([putenv])
    gl_PREREQ_PUTENV
  fi
  gl_STDLIB_MODULE_INDICATOR([putenv])
  AC_CHECK_HEADERS_ONCE([sys/wait.h])
  gl_FUNC_SETENV
  if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
    AC_LIBOBJ([setenv])
  fi
  gl_STDLIB_MODULE_INDICATOR([setenv])
  gl_FUNC_SETLOCALE
  if test $REPLACE_SETLOCALE = 1; then
    AC_LIBOBJ([setlocale])
    gl_PREREQ_SETLOCALE
  fi
  gl_LOCALE_MODULE_INDICATOR([setlocale])
  gt_LOCALE_FR
  gt_LOCALE_FR_UTF8
  gt_LOCALE_JA
  gt_LOCALE_ZH_CN
  gl_SIGACTION
  if test $HAVE_SIGACTION = 0; then
    AC_LIBOBJ([sigaction])
    gl_PREREQ_SIGACTION
  fi
  gl_SIGNAL_MODULE_INDICATOR([sigaction])
  AC_CHECK_DECLS_ONCE([alarm])
  AC_REQUIRE([gt_TYPE_WCHAR_T])
  AC_REQUIRE([gt_TYPE_WINT_T])
  AC_CHECK_DECLS_ONCE([alarm])
  dnl Check for prerequisites for memory fence checks.
  gl_FUNC_MMAP_ANON
  AC_CHECK_HEADERS_ONCE([sys/mman.h])
  AC_CHECK_FUNCS_ONCE([mprotect])
  gl_FUNC_SYMLINK
  if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
    AC_LIBOBJ([symlink])
  fi
  gl_UNISTD_MODULE_INDICATOR([symlink])
  AC_CHECK_FUNCS_ONCE([shutdown])
  gl_FUNC_UNSETENV
  if test $HAVE_UNSETENV = 0 || test $REPLACE_UNSETENV = 1; then
    AC_LIBOBJ([unsetenv])
    gl_PREREQ_UNSETENV
  fi
  gl_STDLIB_MODULE_INDICATOR([unsetenv])
  gl_FUNC_USLEEP
  if test $HAVE_USLEEP = 0 || test $REPLACE_USLEEP = 1; then
    AC_LIBOBJ([usleep])
  fi
  gl_UNISTD_MODULE_INDICATOR([usleep])
  gt_LOCALE_FR
  gt_LOCALE_FR_UTF8
  gt_LOCALE_JA
  gt_LOCALE_ZH_CN
  gl_FUNC_WCTOB
  if test $HAVE_WCTOB = 0 || test $REPLACE_WCTOB = 1; then
    AC_LIBOBJ([wctob])
    gl_PREREQ_WCTOB
  fi
  gl_WCHAR_MODULE_INDICATOR([wctob])
  gl_FUNC_WCTOMB
  if test $REPLACE_WCTOMB = 1; then
    AC_LIBOBJ([wctomb])
    gl_PREREQ_WCTOMB
  fi
  gl_STDLIB_MODULE_INDICATOR([wctomb])
  gl_YIELD
  m4_popdef([gl_MODULE_INDICATOR_CONDITION])
  m4_ifval(gltests_LIBSOURCES_LIST, [
    m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ ||
      for gl_file in ]gltests_LIBSOURCES_LIST[ ; do
        if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then
          echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2
          exit 1
        fi
      done])dnl
      m4_if(m4_sysval, [0], [],
        [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
  ])
  m4_popdef([gltests_LIBSOURCES_DIR])
  m4_popdef([gltests_LIBSOURCES_LIST])
  m4_popdef([AC_LIBSOURCES])
  m4_popdef([AC_REPLACE_FUNCS])
  m4_popdef([AC_LIBOBJ])
  AC_CONFIG_COMMANDS_PRE([
    gltests_libobjs=
    gltests_ltlibobjs=
    if test -n "$gltests_LIBOBJS"; then
      # Remove the extension.
      sed_drop_objext='s/\.o$//;s/\.obj$//'
      for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
        gltests_libobjs="$gltests_libobjs $i.$ac_objext"
        gltests_ltlibobjs="$gltests_ltlibobjs $i.lo"
      done
    fi
    AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs])
    AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs])
  ])
  LIBTESTS_LIBDEPS="$gltests_libdeps"
  AC_SUBST([LIBTESTS_LIBDEPS])
])

# Like AC_LIBOBJ, except that the module name goes
# into gl_LIBOBJS instead of into LIBOBJS.
AC_DEFUN([gl_LIBOBJ], [
  AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl
  gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext"
])

# Like AC_REPLACE_FUNCS, except that the module name goes
# into gl_LIBOBJS instead of into LIBOBJS.
AC_DEFUN([gl_REPLACE_FUNCS], [
  m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl
  AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)])
])

# Like AC_LIBSOURCES, except the directory where the source file is
# expected is derived from the gnulib-tool parameterization,
# and alloca is special cased (for the alloca-opt module).
# We could also entirely rely on EXTRA_lib..._SOURCES.
AC_DEFUN([gl_LIBSOURCES], [
  m4_foreach([_gl_NAME], [$1], [
    m4_if(_gl_NAME, [alloca.c], [], [
      m4_define([gl_LIBSOURCES_DIR], [libmissing])
      m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ])
    ])
  ])
])

# Like AC_LIBOBJ, except that the module name goes
# into gltests_LIBOBJS instead of into LIBOBJS.
AC_DEFUN([gltests_LIBOBJ], [
  AS_LITERAL_IF([$1], [gltests_LIBSOURCES([$1.c])])dnl
  gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext"
])

# Like AC_REPLACE_FUNCS, except that the module name goes
# into gltests_LIBOBJS instead of into LIBOBJS.
AC_DEFUN([gltests_REPLACE_FUNCS], [
  m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl
  AC_CHECK_FUNCS([$1], , [gltests_LIBOBJ($ac_func)])
])

# Like AC_LIBSOURCES, except the directory where the source file is
# expected is derived from the gnulib-tool parameterization,
# and alloca is special cased (for the alloca-opt module).
# We could also entirely rely on EXTRA_lib..._SOURCES.
AC_DEFUN([gltests_LIBSOURCES], [
  m4_foreach([_gl_NAME], [$1], [
    m4_if(_gl_NAME, [alloca.c], [], [
      m4_define([gltests_LIBSOURCES_DIR], [libmissing/tests])
      m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ])
    ])
  ])
])

# This macro records the list of files which have been installed by
# gnulib-tool and may be removed by future gnulib-tool invocations.
AC_DEFUN([gl_FILE_LIST], [
  build-aux/config.rpath
  doc/relocatable.texi
  lib/_Noreturn.h
  lib/accept.c
  lib/alloca.c
  lib/alloca.in.h
  lib/arg-nonnull.h
  lib/arpa_inet.in.h
  lib/asnprintf.c
  lib/assure.h
  lib/bind.c
  lib/btowc.c
  lib/c++defs.h
  lib/c-ctype.c
  lib/c-ctype.h
  lib/close.c
  lib/connect.c
  lib/dup2.c
  lib/errno.in.h
  lib/fclose.c
  lib/fd-hook.c
  lib/fd-hook.h
  lib/fflush.c
  lib/filename.h
  lib/float+.h
  lib/float.c
  lib/float.in.h
  lib/fopen.c
  lib/fpurge.c
  lib/freading.c
  lib/freading.h
  lib/fseek.c
  lib/fseeko.c
  lib/fstat.c
  lib/ftell.c
  lib/ftello.c
  lib/ftw.c
  lib/ftw_.h
  lib/gai_strerror.c
  lib/getaddrinfo.c
  lib/getdelim.c
  lib/gethostname.c
  lib/getline.c
  lib/getpass.c
  lib/getpass.h
  lib/getsockname.c
  lib/gettext.h
  lib/gettimeofday.c
  lib/glthread/cond.c
  lib/glthread/cond.h
  lib/glthread/lock.c
  lib/glthread/lock.h
  lib/glthread/thread.c
  lib/glthread/thread.h
  lib/glthread/threadlib.c
  lib/glthread/tls.c
  lib/glthread/tls.h
  lib/hard-locale.c
  lib/hard-locale.h
  lib/inet_ntop.c
  lib/inet_pton.c
  lib/intprops.h
  lib/ioctl.c
  lib/itold.c
  lib/langinfo.in.h
  lib/limits.in.h
  lib/listen.c
  lib/localcharset.c
  lib/localcharset.h
  lib/locale.in.h
  lib/localeconv.c
  lib/localtime-buffer.c
  lib/localtime-buffer.h
  lib/lseek.c
  lib/malloc.c
  lib/malloca.c
  lib/malloca.h
  lib/mbrtowc.c
  lib/mbsinit.c
  lib/mbtowc-impl.h
  lib/mbtowc.c
  lib/memchr.c
  lib/memchr.valgrind
  lib/memmem.c
  lib/minmax.h
  lib/mktime-internal.h
  lib/mktime.c
  lib/msvc-inval.c
  lib/msvc-inval.h
  lib/msvc-nothrow.c
  lib/msvc-nothrow.h
  lib/netdb.in.h
  lib/netinet_in.in.h
  lib/nl_langinfo.c
  lib/pathmax.h
  lib/perror.c
  lib/poll.c
  lib/poll.in.h
  lib/printf-args.c
  lib/printf-args.h
  lib/printf-parse.c
  lib/printf-parse.h
  lib/pthread_sigmask.c
  lib/raise.c
  lib/regcomp.c
  lib/regex.c
  lib/regex.h
  lib/regex_internal.c
  lib/regex_internal.h
  lib/regexec.c
  lib/relocatable.c
  lib/relocatable.h
  lib/relocatable.valgrind
  lib/select.c
  lib/setsockopt.c
  lib/signal.in.h
  lib/sigprocmask.c
  lib/size_max.h
  lib/sleep.c
  lib/snprintf.c
  lib/socket.c
  lib/sockets.c
  lib/sockets.h
  lib/stat-time.c
  lib/stat-time.h
  lib/stat-w32.c
  lib/stat-w32.h
  lib/stat.c
  lib/stdalign.in.h
  lib/stdbool.in.h
  lib/stddef.in.h
  lib/stdint.in.h
  lib/stdio-impl.h
  lib/stdio.in.h
  lib/stdlib.in.h
  lib/str-two-way.h
  lib/strcasecmp.c
  lib/strcasestr.c
  lib/strdup.c
  lib/streq.h
  lib/strerror-override.c
  lib/strerror-override.h
  lib/strerror.c
  lib/strerror_r.c
  lib/string.in.h
  lib/strings.in.h
  lib/strncasecmp.c
  lib/strndup.c
  lib/strnlen.c
  lib/strptime.c
  lib/strsep.c
  lib/sys_ioctl.in.h
  lib/sys_select.in.h
  lib/sys_socket.c
  lib/sys_socket.in.h
  lib/sys_stat.in.h
  lib/sys_time.in.h
  lib/sys_types.in.h
  lib/sys_uio.in.h
  lib/sys_utsname.in.h
  lib/time.in.h
  lib/time_r.c
  lib/timegm.c
  lib/uname.c
  lib/unistd.c
  lib/unistd.in.h
  lib/unused-parameter.h
  lib/vasnprintf.c
  lib/vasnprintf.h
  lib/verify.h
  lib/vsnprintf.c
  lib/w32sock.h
  lib/warn-on-use.h
  lib/wchar.in.h
  lib/wcrtomb.c
  lib/wctype-h.c
  lib/wctype.in.h
  lib/write.c
  lib/xalloc-oversized.h
  lib/xsize.c
  lib/xsize.h
  m4/00gnulib.m4
  m4/absolute-header.m4
  m4/alloca.m4
  m4/arpa_inet_h.m4
  m4/asm-underscore.m4
  m4/btowc.m4
  m4/builtin-expect.m4
  m4/close.m4
  m4/codeset.m4
  m4/cond.m4
  m4/ctype.m4
  m4/dup2.m4
  m4/eealloc.m4
  m4/environ.m4
  m4/errno_h.m4
  m4/exponentd.m4
  m4/extensions.m4
  m4/extern-inline.m4
  m4/fclose.m4
  m4/fcntl-o.m4
  m4/fcntl.m4
  m4/fcntl_h.m4
  m4/fdopen.m4
  m4/fflush.m4
  m4/flexmember.m4
  m4/float_h.m4
  m4/fopen.m4
  m4/fpieee.m4
  m4/fpurge.m4
  m4/freading.m4
  m4/fseek.m4
  m4/fseeko.m4
  m4/fstat.m4
  m4/ftell.m4
  m4/ftello.m4
  m4/ftruncate.m4
  m4/ftw.m4
  m4/getaddrinfo.m4
  m4/getcwd.m4
  m4/getdelim.m4
  m4/getdtablesize.m4
  m4/gethostname.m4
  m4/getline.m4
  m4/getpagesize.m4
  m4/getpass.m4
  m4/gettimeofday.m4
  m4/glibc21.m4
  m4/gnulib-common.m4
  m4/host-cpu-c-abi.m4
  m4/hostent.m4
  m4/include_next.m4
  m4/inet_ntop.m4
  m4/inet_pton.m4
  m4/intlmacosx.m4
  m4/intmax_t.m4
  m4/inttypes-pri.m4
  m4/inttypes.m4
  m4/inttypes_h.m4
  m4/ioctl.m4
  m4/isblank.m4
  m4/langinfo_h.m4
  m4/largefile.m4
  m4/lcmessage.m4
  m4/lib-ld.m4
  m4/lib-link.m4
  m4/lib-prefix.m4
  m4/limits-h.m4
  m4/localcharset.m4
  m4/locale-fr.m4
  m4/locale-ja.m4
  m4/locale-tr.m4
  m4/locale-zh.m4
  m4/locale_h.m4
  m4/localeconv.m4
  m4/localename.m4
  m4/localtime-buffer.m4
  m4/lock.m4
  m4/longlong.m4
  m4/lseek.m4
  m4/lstat.m4
  m4/malloc.m4
  m4/malloca.m4
  m4/math_h.m4
  m4/mbrtowc.m4
  m4/mbsinit.m4
  m4/mbstate_t.m4
  m4/mbtowc.m4
  m4/memchr.m4
  m4/memmem.m4
  m4/minmax.m4
  m4/mktime.m4
  m4/mmap-anon.m4
  m4/mode_t.m4
  m4/msvc-inval.m4
  m4/msvc-nothrow.m4
  m4/multiarch.m4
  m4/nanosleep.m4
  m4/netdb_h.m4
  m4/netinet_in_h.m4
  m4/nl_langinfo.m4
  m4/off_t.m4
  m4/onceonly.m4
  m4/open-cloexec.m4
  m4/open.m4
  m4/pathmax.m4
  m4/perror.m4
  m4/pipe.m4
  m4/poll.m4
  m4/poll_h.m4
  m4/printf.m4
  m4/pthread_rwlock_rdlock.m4
  m4/pthread_sigmask.m4
  m4/putenv.m4
  m4/raise.m4
  m4/regex.m4
  m4/relocatable-lib.m4
  m4/select.m4
  m4/servent.m4
  m4/setenv.m4
  m4/setlocale.m4
  m4/sigaction.m4
  m4/signal_h.m4
  m4/signalblocking.m4
  m4/size_max.m4
  m4/sleep.m4
  m4/snprintf.m4
  m4/socketlib.m4
  m4/sockets.m4
  m4/socklen.m4
  m4/sockpfaf.m4
  m4/ssize_t.m4
  m4/stat-time.m4
  m4/stat.m4
  m4/stdalign.m4
  m4/stdbool.m4
  m4/stddef_h.m4
  m4/stdint.m4
  m4/stdint_h.m4
  m4/stdio_h.m4
  m4/stdlib_h.m4
  m4/strcase.m4
  m4/strcasestr.m4
  m4/strdup.m4
  m4/strerror.m4
  m4/strerror_r.m4
  m4/string_h.m4
  m4/strings_h.m4
  m4/strndup.m4
  m4/strnlen.m4
  m4/strptime.m4
  m4/strsep.m4
  m4/symlink.m4
  m4/sys_ioctl_h.m4
  m4/sys_select_h.m4
  m4/sys_socket_h.m4
  m4/sys_stat_h.m4
  m4/sys_time_h.m4
  m4/sys_types_h.m4
  m4/sys_uio_h.m4
  m4/sys_utsname_h.m4
  m4/thread.m4
  m4/threadlib.m4
  m4/time_h.m4
  m4/time_r.m4
  m4/timegm.m4
  m4/tls.m4
  m4/tm_gmtoff.m4
  m4/uname.m4
  m4/ungetc.m4
  m4/unistd_h.m4
  m4/usleep.m4
  m4/vasnprintf.m4
  m4/vsnprintf.m4
  m4/warn-on-use.m4
  m4/wchar_h.m4
  m4/wchar_t.m4
  m4/wcrtomb.m4
  m4/wctob.m4
  m4/wctomb.m4
  m4/wctype_h.m4
  m4/wint_t.m4
  m4/write.m4
  m4/xsize.m4
  m4/yield.m4
  tests/init.sh
  tests/macros.h
  tests/nap.h
  tests/null-ptr.h
  tests/signature.h
  tests/test-accept.c
  tests/test-alloca-opt.c
  tests/test-arpa_inet.c
  tests/test-binary-io.c
  tests/test-binary-io.sh
  tests/test-bind.c
  tests/test-btowc.c
  tests/test-btowc1.sh
  tests/test-btowc2.sh
  tests/test-c-ctype.c
  tests/test-c-strcase.sh
  tests/test-c-strcasecmp.c
  tests/test-c-strncasecmp.c
  tests/test-cloexec.c
  tests/test-close.c
  tests/test-cond.c
  tests/test-connect.c
  tests/test-ctype.c
  tests/test-dup2.c
  tests/test-environ.c
  tests/test-errno.c
  tests/test-fclose.c
  tests/test-fcntl-h.c
  tests/test-fcntl.c
  tests/test-fdopen.c
  tests/test-fflush.c
  tests/test-fflush2.c
  tests/test-fflush2.sh
  tests/test-fgetc.c
  tests/test-float.c
  tests/test-fopen.c
  tests/test-fopen.h
  tests/test-fpurge.c
  tests/test-fputc.c
  tests/test-fread.c
  tests/test-freading.c
  tests/test-fseek.c
  tests/test-fseek.sh
  tests/test-fseek2.sh
  tests/test-fseeko.c
  tests/test-fseeko.sh
  tests/test-fseeko2.sh
  tests/test-fseeko3.c
  tests/test-fseeko3.sh
  tests/test-fseeko4.c
  tests/test-fseeko4.sh
  tests/test-fstat.c
  tests/test-ftell.c
  tests/test-ftell.sh
  tests/test-ftell2.sh
  tests/test-ftell3.c
  tests/test-ftello.c
  tests/test-ftello.sh
  tests/test-ftello2.sh
  tests/test-ftello3.c
  tests/test-ftello4.c
  tests/test-ftello4.sh
  tests/test-ftruncate.c
  tests/test-ftruncate.sh
  tests/test-fwrite.c
  tests/test-getaddrinfo.c
  tests/test-getcwd-lgpl.c
  tests/test-getdelim.c
  tests/test-getdtablesize.c
  tests/test-gethostname.c
  tests/test-getline.c
  tests/test-getsockname.c
  tests/test-gettimeofday.c
  tests/test-ignore-value.c
  tests/test-inet_ntop.c
  tests/test-inet_pton.c
  tests/test-init.sh
  tests/test-intprops.c
  tests/test-inttypes.c
  tests/test-ioctl.c
  tests/test-isblank.c
  tests/test-langinfo.c
  tests/test-limits-h.c
  tests/test-listen.c
  tests/test-localcharset.c
  tests/test-locale.c
  tests/test-localeconv.c
  tests/test-localename.c
  tests/test-lock.c
  tests/test-lseek.c
  tests/test-lseek.sh
  tests/test-lstat.c
  tests/test-lstat.h
  tests/test-malloca.c
  tests/test-mbrtowc-w32-1.sh
  tests/test-mbrtowc-w32-2.sh
  tests/test-mbrtowc-w32-3.sh
  tests/test-mbrtowc-w32-4.sh
  tests/test-mbrtowc-w32-5.sh
  tests/test-mbrtowc-w32.c
  tests/test-mbrtowc.c
  tests/test-mbrtowc1.sh
  tests/test-mbrtowc2.sh
  tests/test-mbrtowc3.sh
  tests/test-mbrtowc4.sh
  tests/test-mbrtowc5.sh
  tests/test-mbsinit.c
  tests/test-mbsinit.sh
  tests/test-memchr.c
  tests/test-memmem.c
  tests/test-nanosleep.c
  tests/test-netdb.c
  tests/test-netinet_in.c
  tests/test-nl_langinfo.c
  tests/test-nl_langinfo.sh
  tests/test-once.c
  tests/test-open.c
  tests/test-open.h
  tests/test-pathmax.c
  tests/test-perror.c
  tests/test-perror.sh
  tests/test-perror2.c
  tests/test-pipe.c
  tests/test-poll-h.c
  tests/test-poll.c
  tests/test-pthread_sigmask1.c
  tests/test-pthread_sigmask2.c
  tests/test-raise.c
  tests/test-regex.c
  tests/test-rwlock1.c
  tests/test-select-fd.c
  tests/test-select-in.sh
  tests/test-select-out.sh
  tests/test-select-stdin.c
  tests/test-select.c
  tests/test-select.h
  tests/test-setenv.c
  tests/test-setlocale1.c
  tests/test-setlocale1.sh
  tests/test-setlocale2.c
  tests/test-setlocale2.sh
  tests/test-setsockopt.c
  tests/test-sigaction.c
  tests/test-signal-h.c
  tests/test-sigprocmask.c
  tests/test-sleep.c
  tests/test-snprintf.c
  tests/test-sockets.c
  tests/test-stat-time.c
  tests/test-stat.c
  tests/test-stat.h
  tests/test-stdalign.c
  tests/test-stdbool.c
  tests/test-stddef.c
  tests/test-stdint.c
  tests/test-stdio.c
  tests/test-stdlib.c
  tests/test-strcasestr.c
  tests/test-strerror.c
  tests/test-strerror_r.c
  tests/test-string.c
  tests/test-strings.c
  tests/test-strnlen.c
  tests/test-symlink.c
  tests/test-symlink.h
  tests/test-sys_ioctl.c
  tests/test-sys_select.c
  tests/test-sys_socket.c
  tests/test-sys_stat.c
  tests/test-sys_time.c
  tests/test-sys_types.c
  tests/test-sys_uio.c
  tests/test-sys_utsname.c
  tests/test-sys_wait.h
  tests/test-thread_create.c
  tests/test-thread_self.c
  tests/test-time.c
  tests/test-tls.c
  tests/test-uname.c
  tests/test-unistd.c
  tests/test-unsetenv.c
  tests/test-usleep.c
  tests/test-vasnprintf.c
  tests/test-verify-try.c
  tests/test-verify.c
  tests/test-verify.sh
  tests/test-vsnprintf.c
  tests/test-wchar.c
  tests/test-wcrtomb-w32-1.sh
  tests/test-wcrtomb-w32-2.sh
  tests/test-wcrtomb-w32-3.sh
  tests/test-wcrtomb-w32-4.sh
  tests/test-wcrtomb-w32-5.sh
  tests/test-wcrtomb-w32.c
  tests/test-wcrtomb.c
  tests/test-wcrtomb.sh
  tests/test-wctype-h.c
  tests/test-write.c
  tests/zerosize-ptr.h
  tests=lib/_Noreturn.h
  tests=lib/arg-nonnull.h
  tests=lib/binary-io.c
  tests=lib/binary-io.h
  tests=lib/c++defs.h
  tests=lib/c-strcase.h
  tests=lib/c-strcasecmp.c
  tests=lib/c-strncasecmp.c
  tests=lib/cloexec.c
  tests=lib/cloexec.h
  tests=lib/ctype.in.h
  tests=lib/dosname.h
  tests=lib/fcntl.c
  tests=lib/fcntl.in.h
  tests=lib/fdopen.c
  tests=lib/flexmember.h
  tests=lib/fpucw.h
  tests=lib/ftruncate.c
  tests=lib/getcwd-lgpl.c
  tests=lib/getdtablesize.c
  tests=lib/getpagesize.c
  tests=lib/glthread/yield.h
  tests=lib/ignore-value.h
  tests=lib/inttypes.in.h
  tests=lib/isblank.c
  tests=lib/localename.c
  tests=lib/localename.h
  tests=lib/lstat.c
  tests=lib/nanosleep.c
  tests=lib/open.c
  tests=lib/pipe.c
  tests=lib/putenv.c
  tests=lib/same-inode.h
  tests=lib/setenv.c
  tests=lib/setlocale.c
  tests=lib/sig-handler.c
  tests=lib/sig-handler.h
  tests=lib/sigaction.c
  tests=lib/symlink.c
  tests=lib/unsetenv.c
  tests=lib/unused-parameter.h
  tests=lib/usleep.c
  tests=lib/warn-on-use.h
  tests=lib/wctob.c
  tests=lib/wctomb-impl.h
  tests=lib/wctomb.c
])
