view m4/posixver.m4 @ 7162:19c2e5121b2f

Add and change modules to make it easier for coreutils to use gnulib-tool. * lib/cycle-check.h: Include <stdint.h> unconditionally, since we now assume the stdint module. Do not include inttypes.h. * lib/fsusage.h: Likewise. * lib/getndelim2.c: Likewise. * lib/human.h: Likewise. * lib/inttostr.h: Likewise. * lib/obstack.c: Likewise. * lib/regex_internal.h: Likewise. * lib/tempname.c: Likewise. * lib/utimecmp.c: Likewise. * lib/xstrtol.h: Likewise. * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT. * lib/strtoimax.c: Adjust to macro name changes in Autoconf, e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT. * lib/xtime.h: Likewise. Remove files that are no longer needed by their respective modules. * m4/obstack.m4: Remove. * m4/strerror_r.m4: Remove. * m4/uint32_t.m4: Remove. * m4/uintptr_t.m4: Remove. * m4/ullong_max.m4: Remove. * m4/xstrtoimax.m4: Remove. * m4/xstrtoumax.m4: Remove. * cycle-check.m4 (gl_CYCLE_CHECK): Do not require gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib dependencies now capture this. * cycle-check.m4 (gl_CYCLE_CHECK): Do not use AC_LIBSOURCES, since gnulib modules now do this. * fsusage.m4 (gl_FSUSAGE): Likewise. * human.m4 (gl_HUMAN): Likewise. * inttostr.m4 (gl_INTTOSTR): Likewise. * xstrtol.m4 (gl_XSTRTOL): Likewise. * filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE. * filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require stdint. * human.m4 (gl_HUMAN): Likewise. * inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise. * mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise. * strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise. * strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise. * xstrtol (gl_XSTRTOL): Likewise. * gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG -> AC_TYPE_LONG_LONG_INT. * strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise. * strtoll.m4 (gl_FUNC_STRTOLL): Likewise. * strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long. * strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise. * human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend on stdbool. * xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove. (gl_PREREQ_XSTRTOUL): Remove. * ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt. * posixver.m4: Fix comment since head -1 now works even in POSIX mode. * modules/backupfile (Files): Remove m4/d-ino.m4. (Depends-on): Add d-ino. * modules/cycle-check (Depends-on): Add stdint. (lib_SOURCES): Add cycle-check.h. * modules/d-ino: New module. * modules/d-type: New module. * modules/error (Files): Remove m4/strerror_r.m4. * modules/filemode (Files): Add m4/st_dm_mode.m4. * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4. (Depends-on): Add stdint. (lib_SOURCES): Add fsusage.h. * modules/getcwd (Files): Remove d-ino.m4. (Depends-on): Add d-ino. * modules/getndelim2 (Depends-on): Add stdint. * modules/glob (Files): Remove m4/d-type.m4. (Depends-on): Add d-type. * modules/host-os: New module. * modules/human (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4. * Depends-on: Add stdint. (lib_SOURCES): Add human.h. * modules/inttostr (Files): Remove m4/intmax_t.m4, m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4. (Depends-on): Add stdint. (EXTRA_DIST): Add inttostr.h. * modules/lchmod: New module. * modules/link-follow: New module. * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4. (Depends-on): Add lchmod. * modules/mkstemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4. (Depends-on): Add stdint. * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4, m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4. (Depends-on): Add stdint. (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK. * modules/perl: New module. * modules/regex (Depends-on): Add stdint. * modules/rmdir-errno: New module. * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4, m4/intmax_t.m4. (Depends-on): Add stdint. * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4. (Depends-on): Add stdint. * modules/unlink-busy: New module. * modules/utimecmp (Depends-on): Add stdint. * modules/uptime: New module. * modules/winsz-ioctl: New module. * modules/winsz-termios: New module. * modules/xnanosleep (Depends-on): Add nanosleep. * modules/ullong_max: Remove. * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4. (configure.ac): Remove gl_XSTRTOIMAX; no action needed now. * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4, m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4. (Depends-on): Add inttypes. (lib_SOURCES): Add xstrtol.h. * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4. (configure.ac): Remove gl_XSTRTOUMAX; no action needed now. * MODULES.html.sh: Move 'assert' into the assert section. Move 'dummy' into the linking section. Remove ullong_max. Add section for compatibility checks for POSIX:2001 functions, and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy, winsz-ioctl, and winsz-termios into it. Add lchmod. Add top-level Misc section and put host-os, perl, and uptime into it.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 21 Aug 2006 06:11:26 +0000
parents fd0ccce602e4
children be9e01d008cb
line wrap: on
line source

# posixver.m4 serial 8
dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 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.

AC_DEFUN([gl_POSIXVER],
[
  AC_LIBSOURCES([posixver.c, posixver.h])
  AC_LIBOBJ([posixver])

  AC_REQUIRE([gl_DEFAULT_POSIX2_VERSION])
])

# Set the default level of POSIX conformance at configure-time.
# Build with `./configure DEFAULT_POSIX2_VERSION=199209 ...' to
# support the older version, thus preserving portability with
# scripts that use sort +1, tail +32, etc.
# Note however, that this breaks tools that might run commands
# like `sort +some-file' that conform with the newer standard.
AC_DEFUN([gl_DEFAULT_POSIX2_VERSION],
[
  AC_MSG_CHECKING([for desired default level of POSIX conformance])
  gl_default_posix2_version=none-specified
  if test -n "$ac_cv_env_DEFAULT_POSIX2_VERSION_set"; then
    gl_default_posix2_version=$ac_cv_env_DEFAULT_POSIX2_VERSION_value
    AC_DEFINE_UNQUOTED(DEFAULT_POSIX2_VERSION,
      $gl_default_posix2_version,
      [Define the default level of POSIX conformance. The value is of
       the form YYYYMM, specifying the year and month the standard was
       adopted. If not defined here, it defaults to the value of
       _POSIX2_VERSION in <unistd.h>. Define to 199209 to default to
       POSIX 1003.2-1992, which makes standard programs like `head',
       `tail', and `sort' accept obsolete options like `+10' and
       `-10'. Define to 200112 to default to POSIX 1003.1-2001, which
       makes these standard programs treat leading-`+' operands as
       file names and require modern usages like `-n 10' instead of
       `-10'. Whether defined here or not, the default can be
       overridden at run time via the _POSIX2_VERSION environment
       variable.])
  fi
  AC_MSG_RESULT($gl_default_posix2_version)
  AC_ARG_VAR(
    [DEFAULT_POSIX2_VERSION],
    [POSIX version to default to; see 'config.hin'.])
])