Blame m4/close.m4

Packit 709fb3
# close.m4 serial 9
Packit 709fb3
dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
Packit 709fb3
dnl This file is free software; the Free Software Foundation
Packit 709fb3
dnl gives unlimited permission to copy and/or distribute it,
Packit 709fb3
dnl with or without modifications, as long as this notice is preserved.
Packit 709fb3
Packit 709fb3
AC_DEFUN([gl_FUNC_CLOSE],
Packit 709fb3
[
Packit 709fb3
  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
Packit 709fb3
  m4_ifdef([gl_MSVC_INVAL], [
Packit 709fb3
    AC_REQUIRE([gl_MSVC_INVAL])
Packit 709fb3
    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
Packit 709fb3
      REPLACE_CLOSE=1
Packit 709fb3
    fi
Packit 709fb3
  ])
Packit 709fb3
  m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [
Packit 709fb3
    gl_PREREQ_SYS_H_WINSOCK2
Packit 709fb3
    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
Packit 709fb3
      dnl Even if the 'socket' module is not used here, another part of the
Packit 709fb3
      dnl application may use it and pass file descriptors that refer to
Packit 709fb3
      dnl sockets to the close() function. So enable the support for sockets.
Packit 709fb3
      REPLACE_CLOSE=1
Packit 709fb3
    fi
Packit 709fb3
  ])
Packit 709fb3
  dnl Replace close() for supporting the gnulib-defined fchdir() function,
Packit 709fb3
  dnl to keep fchdir's bookkeeping up-to-date.
Packit 709fb3
  m4_ifdef([gl_FUNC_FCHDIR], [
Packit 709fb3
    if test $REPLACE_CLOSE = 0; then
Packit 709fb3
      gl_TEST_FCHDIR
Packit 709fb3
      if test $HAVE_FCHDIR = 0; then
Packit 709fb3
        REPLACE_CLOSE=1
Packit 709fb3
      fi
Packit 709fb3
    fi
Packit 709fb3
  ])
Packit 709fb3
])