369ba3fd67b8cfc5bc9a542b029bff38211d0ec5
[gnulib.git] / m4 / posixver.m4
1 # posixver.m4 serial 6
2 dnl Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
6
7 AC_DEFUN([gl_POSIXVER],
8 [
9   AC_LIBSOURCES([posixver.c, posixver.h])
10   AC_LIBOBJ([posixver])
11
12   AC_CHECK_HEADERS_ONCE(unistd.h)
13   AC_REQUIRE([gl_DEFAULT_POSIX2_VERSION])
14 ])
15
16 # Set the default level of POSIX conformance at configure-time.
17 # Build with `./configure DEFAULT_POSIX2_VERSION=199209 ...' to
18 # support the older version, thus preserving portability with
19 # scripts that use sort +1, tail +32, head -1, etc.
20 # Note however, that this breaks tools that might run commands
21 # like `sort +some-file' that conform with the newer standard.
22 AC_DEFUN([gl_DEFAULT_POSIX2_VERSION],
23 [
24   AC_MSG_CHECKING([for desired default level of POSIX conformance])
25   gl_default_posix2_version=none-specified
26   if test -n "$ac_cv_env_DEFAULT_POSIX2_VERSION_set"; then
27     gl_default_posix2_version=$ac_cv_env_DEFAULT_POSIX2_VERSION_value
28     AC_DEFINE_UNQUOTED(DEFAULT_POSIX2_VERSION,
29       $gl_default_posix2_version,
30       [Define the default level of POSIX conformance. The value is of
31        the form YYYYMM, specifying the year and month the standard was
32        adopted. If not defined here, it defaults to the value of
33        _POSIX2_VERSION in <unistd.h>. Define to 199209 to default to
34        POSIX 1003.2-1992, which makes standard programs like `head',
35        `tail', and `sort' accept obsolete options like `+10' and
36        `-10'. Define to 200112 to default to POSIX 1003.1-2001, which
37        makes these standard programs treat leading-`+' operands as
38        file names and require modern usages like `-n 10' instead of
39        `-10'. Whether defined here or not, the default can be
40        overridden at run time via the _POSIX2_VERSION environment
41        variable.])
42   fi
43   AC_MSG_RESULT($gl_default_posix2_version)
44   AC_ARG_VAR(
45     [DEFAULT_POSIX2_VERSION],
46     [POSIX version to default to; see 'config.hin'.])
47 ])