Hash :
4af8d6a0
Author :
Date :
2025-01-17T22:32:58
sys_types-h: Ensure blksize_t and blkcnt_t are defined. * lib/sys_types.in.h (blksize_t, blkcnt_t): New definitions. * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set HAVE_BLKSIZE_T and HAVE_BLKCNT_T. * modules/sys_types-h (Makefile.am): Substitute HAVE_BLKSIZE_T and HAVE_BLKCNT_T. * tests/test-sys_types-h.c: Check that blksize_t and blkcnt_t are defined. Include intprops.h. Check the signedness of various types. * modules/sys_types-h-tests (Depends-on): Add assert-h, intprops. * doc/posix-headers/sys_types.texi: Mention the issues with blksize_t and blkcnt_t.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
Description:
A <sys/types.h> that conforms better to POSIX.
Files:
lib/sys_types.in.h
m4/sys_types_h.m4
m4/off_t.m4
m4/off64_t.m4
m4/pid_t.m4
Depends-on:
gen-header
include_next
ssize_t
configure.ac-early:
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
configure.ac:
gl_SYS_TYPES_H
gl_SYS_TYPES_H_REQUIRE_DEFAULTS
AC_PROG_MKDIR_P
Makefile.am:
BUILT_SOURCES += sys/types.h
# We need the following in order to create <sys/types.h> when the system
# doesn't have one that works with the given compiler.
sys/types.h: sys_types.in.h $(top_builddir)/config.status
$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
$(AM_V_at)$(SED_HEADER_STDOUT) \
-e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_SYS_TYPES_H''@|$(NEXT_SYS_TYPES_H)|g' \
-e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
-e 's|@''HAVE_OFF64_T''@|$(HAVE_OFF64_T)|g' \
-e 's|@''WINDOWS_STAT_INODES''@|$(WINDOWS_STAT_INODES)|g' \
-e 's|@''HAVE_BLKSIZE_T''@|$(HAVE_BLKSIZE_T)|g' \
-e 's|@''HAVE_BLKCNT_T''@|$(HAVE_BLKCNT_T)|g' \
$(srcdir)/sys_types.in.h > $@-t
$(AM_V_at)mv $@-t $@
MOSTLYCLEANFILES += sys/types.h sys/types.h-t
MOSTLYCLEANDIRS += sys
Include:
<sys/types.h>
License:
LGPLv2+
Maintainer:
all