mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-09-08 14:41:47 +00:00
* m4/windows-stat-inodes.m4: New file. * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES. * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES. * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t. (_GL_WINDOWS_STAT_INODES): New macro. * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h. (GetFileInformationByHandleExFunc): New variable. (initialize): Initialize it. (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and st_ino appropriately. * lib/stat.c (rpl_stat): Use the directory entry based approach only as a fallback, because it does not provide st_dev and st_ino values. * modules/fstat (Depends-on): Add 'verify'. * modules/windows-stat-inodes: New file. * doc/windows-stat-inodes.texi: New file. * doc/gnulib.texi: Include it. * doc/posix-headers/sys_stat.texi: Mention the new module.
20 lines
779 B
Plaintext
20 lines
779 B
Plaintext
# windows-stat-inodes.m4 serial 1
|
|
dnl Copyright (C) 2017 Free Software Foundation, Inc.
|
|
dnl This file is free software; the Free Software Foundation
|
|
dnl gives unlimited permission to copy and/or distribute it,
|
|
dnl with or without modifications, as long as this notice is preserved.
|
|
|
|
dnl Enable inode identification in 'struct stat' on native Windows platforms.
|
|
dnl Set WINDOWS_STAT_INODES to
|
|
dnl - 0 -> keep the default (dev_t = 32-bit, ino_t = 16-bit),
|
|
dnl - 1 -> override types normally (dev_t = 32-bit, ino_t = 64-bit),
|
|
dnl - 2 -> override types in an extended way (dev_t = 64-bit, ino_t = 128-bit).
|
|
AC_DEFUN([gl_WINDOWS_STAT_INODES],
|
|
[
|
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
case "$host_os" in
|
|
mingw*) WINDOWS_STAT_INODES=1 ;;
|
|
*) WINDOWS_STAT_INODES=0 ;;
|
|
esac
|
|
])
|