Diff for /embedaddon/libiconv/srcm4/fcntl-o.m4 between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/05/29 09:29:44 version 1.1.1.2, 2021/03/17 13:38:46
Line 1 Line 1
# fcntl-o.m4 serial 3# fcntl-o.m4 serial 6
dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.dnl Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation  dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,  dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.  dnl with or without modifications, as long as this notice is preserved.
   
 dnl Written by Paul Eggert.  dnl Written by Paul Eggert.
   
   AC_PREREQ([2.60])
   
 # Test whether the flags O_NOATIME and O_NOFOLLOW actually work.  # Test whether the flags O_NOATIME and O_NOFOLLOW actually work.
 # Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise.  # Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise.
 # Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise.  # Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise.
 AC_DEFUN([gl_FCNTL_O_FLAGS],  AC_DEFUN([gl_FCNTL_O_FLAGS],
 [  [
   dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.    dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
  dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
  dnl AC_GNU_SOURCE.
  m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
    [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],  AC_CHECK_HEADERS_ONCE([unistd.h])
    [AC_REQUIRE([AC_GNU_SOURCE])])  AC_CHECK_FUNCS_ONCE([symlink])
   AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],    AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
     [AC_RUN_IFELSE(      [AC_RUN_IFELSE(
        [AC_LANG_PROGRAM(         [AC_LANG_PROGRAM(
           [[#include <sys/types.h>            [[#include <sys/types.h>
            #include <sys/stat.h>             #include <sys/stat.h>
           #include <unistd.h>           #if HAVE_UNISTD_H
            # include <unistd.h>
            #else /* on Windows with MSVC */
            # include <io.h>
            # include <stdlib.h>
            # defined sleep(n) _sleep ((n) * 1000)
            #endif
            #include <fcntl.h>             #include <fcntl.h>
            #ifndef O_NOATIME             #ifndef O_NOATIME
             #define O_NOATIME 0              #define O_NOATIME 0
Line 38  AC_DEFUN([gl_FCNTL_O_FLAGS], Line 46  AC_DEFUN([gl_FCNTL_O_FLAGS],
           ]],            ]],
           [[            [[
             int result = !constants;              int result = !constants;
               #if HAVE_SYMLINK
             {              {
               static char const sym[] = "conftest.sym";                static char const sym[] = "conftest.sym";
              if (symlink (".", sym) != 0)              if (symlink ("/dev/null", sym) != 0)
                 result |= 2;                  result |= 2;
               else                else
                 {                  {
                     int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0);
                     if (fd >= 0)
                       {
                         close (fd);
                         result |= 4;
                       }
                   }
                 if (unlink (sym) != 0 || symlink (".", sym) != 0)
                   result |= 2;
                 else
                   {
                   int fd = open (sym, O_RDONLY | O_NOFOLLOW);                    int fd = open (sym, O_RDONLY | O_NOFOLLOW);
                   if (fd >= 0)                    if (fd >= 0)
                     {                      {
Line 53  AC_DEFUN([gl_FCNTL_O_FLAGS], Line 73  AC_DEFUN([gl_FCNTL_O_FLAGS],
                 }                  }
               unlink (sym);                unlink (sym);
             }              }
               #endif
             {              {
               static char const file[] = "confdefs.h";                static char const file[] = "confdefs.h";
               int fd = open (file, O_RDONLY | O_NOATIME);                int fd = open (file, O_RDONLY | O_NOATIME);
Line 94  AC_DEFUN([gl_FCNTL_O_FLAGS], Line 115  AC_DEFUN([gl_FCNTL_O_FLAGS],
         68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(          68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
          *) gl_cv_header_working_fcntl_h='no';;           *) gl_cv_header_working_fcntl_h='no';;
         esac],          esac],
       [gl_cv_header_working_fcntl_h=cross-compiling])])       [case "$host_os" in
                   # Guess 'no' on native Windows.
           mingw*) gl_cv_header_working_fcntl_h='no' ;;
           *)      gl_cv_header_working_fcntl_h=cross-compiling ;;
         esac
        ])
     ])
   
   case $gl_cv_header_working_fcntl_h in #(    case $gl_cv_header_working_fcntl_h in #(
   *O_NOATIME* | no | cross-compiling) ac_val=0;; #(    *O_NOATIME* | no | cross-compiling) ac_val=0;; #(

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>