extensions.m4 | extensions.m4 | |||
---|---|---|---|---|
# serial 9 -*- Autoconf -*- | # serial 13 -*- Autoconf -*- | |||
# Enable extensions on systems that normally disable them. | # Enable extensions on systems that normally disable them. | |||
# Copyright (C) 2003, 2006-2010 Free Software Foundation, Inc. | # Copyright (C) 2003, 2006-2014 Free Software Foundation, Inc. | |||
# This file is free software; the Free Software Foundation | # This file is free software; the Free Software Foundation | |||
# gives unlimited permission to copy and/or distribute it, | # gives unlimited permission to copy and/or distribute it, | |||
# with or without modifications, as long as this notice is preserved. | # with or without modifications, as long as this notice is preserved. | |||
# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS | # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from git | |||
# Autoconf. Perhaps we can remove this once we can assume Autoconf | # Autoconf. Perhaps we can remove this once we can assume Autoconf | |||
# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly | # 2.70 or later everywhere, but since Autoconf mutates rapidly | |||
# enough in this area it's likely we'll need to redefine | # enough in this area it's likely we'll need to redefine | |||
# AC_USE_SYSTEM_EXTENSIONS for quite some time. | # AC_USE_SYSTEM_EXTENSIONS for quite some time. | |||
# If autoconf reports a warning | # If autoconf reports a warning | |||
# warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS | # warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS | |||
# or warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS | # or warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS | |||
# the fix is | # the fix is | |||
# 1) to ensure that AC_USE_SYSTEM_EXTENSIONS is never directly invoked | # 1) to ensure that AC_USE_SYSTEM_EXTENSIONS is never directly invoked | |||
# but always AC_REQUIREd, | # but always AC_REQUIREd, | |||
# 2) to ensure that for each occurrence of | # 2) to ensure that for each occurrence of | |||
skipping to change at line 33 | skipping to change at line 33 | |||
# or | # or | |||
# AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | # AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | |||
# the corresponding gnulib module description has 'extensions' among | # the corresponding gnulib module description has 'extensions' among | |||
# its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS | # its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS | |||
# invocation occurs in gl_EARLY, not in gl_INIT. | # invocation occurs in gl_EARLY, not in gl_INIT. | |||
# AC_USE_SYSTEM_EXTENSIONS | # AC_USE_SYSTEM_EXTENSIONS | |||
# ------------------------ | # ------------------------ | |||
# Enable extensions on systems that normally disable them, | # Enable extensions on systems that normally disable them, | |||
# typically due to standards-conformance issues. | # typically due to standards-conformance issues. | |||
# | ||||
# Remember that #undef in AH_VERBATIM gets replaced with #define by | # Remember that #undef in AH_VERBATIM gets replaced with #define by | |||
# AC_DEFINE. The goal here is to define all known feature-enabling | # AC_DEFINE. The goal here is to define all known feature-enabling | |||
# macros, then, if reports of conflicts are made, disable macros that | # macros, then, if reports of conflicts are made, disable macros that | |||
# cause problems on some platforms (such as __EXTENSIONS__). | # cause problems on some platforms (such as __EXTENSIONS__). | |||
AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], | AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], | |||
[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl | [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl | |||
AC_BEFORE([$0], [AC_RUN_IFELSE])dnl | AC_BEFORE([$0], [AC_RUN_IFELSE])dnl | |||
AC_REQUIRE([AC_CANONICAL_HOST]) | ||||
AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) | AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) | |||
if test "$MINIX" = yes; then | if test "$MINIX" = yes; then | |||
AC_DEFINE([_POSIX_SOURCE], [1], | AC_DEFINE([_POSIX_SOURCE], [1], | |||
[Define to 1 if you need to in order for `stat' and other | [Define to 1 if you need to in order for 'stat' and other | |||
things to work.]) | things to work.]) | |||
AC_DEFINE([_POSIX_1_SOURCE], [2], | AC_DEFINE([_POSIX_1_SOURCE], [2], | |||
[Define to 2 if the system does not provide POSIX.1 features | [Define to 2 if the system does not provide POSIX.1 features | |||
except with this defined.]) | except with this defined.]) | |||
AC_DEFINE([_MINIX], [1], | AC_DEFINE([_MINIX], [1], | |||
[Define to 1 if on MINIX.]) | [Define to 1 if on MINIX.]) | |||
AC_DEFINE([_NETBSD_SOURCE], [1], | ||||
[Define to 1 to make NetBSD features available. MINIX 3 needs this.] | ||||
) | ||||
fi | fi | |||
dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500 | dnl Use a different key than __EXTENSIONS__, as that name broke existing | |||
, | dnl configure.ac when using autoheader 2.62. | |||
dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already | AH_VERBATIM([USE_SYSTEM_EXTENSIONS], | |||
dnl provided. | ||||
case "$host_os" in | ||||
hpux*) | ||||
AC_DEFINE([_XOPEN_SOURCE], [500], | ||||
[Define to 500 only on HP-UX.]) | ||||
;; | ||||
esac | ||||
AH_VERBATIM([__EXTENSIONS__], | ||||
[/* Enable extensions on AIX 3, Interix. */ | [/* Enable extensions on AIX 3, Interix. */ | |||
#ifndef _ALL_SOURCE | #ifndef _ALL_SOURCE | |||
# undef _ALL_SOURCE | # undef _ALL_SOURCE | |||
#endif | #endif | |||
/* Enable general extensions on OS X. */ | ||||
#ifndef _DARWIN_C_SOURCE | ||||
# undef _DARWIN_C_SOURCE | ||||
#endif | ||||
/* Enable GNU extensions on systems that have them. */ | /* Enable GNU extensions on systems that have them. */ | |||
#ifndef _GNU_SOURCE | #ifndef _GNU_SOURCE | |||
# undef _GNU_SOURCE | # undef _GNU_SOURCE | |||
#endif | #endif | |||
/* Enable threading extensions on Solaris. */ | /* Enable threading extensions on Solaris. */ | |||
#ifndef _POSIX_PTHREAD_SEMANTICS | #ifndef _POSIX_PTHREAD_SEMANTICS | |||
# undef _POSIX_PTHREAD_SEMANTICS | # undef _POSIX_PTHREAD_SEMANTICS | |||
#endif | #endif | |||
/* Enable extensions on HP NonStop. */ | /* Enable extensions on HP NonStop. */ | |||
#ifndef _TANDEM_SOURCE | #ifndef _TANDEM_SOURCE | |||
# undef _TANDEM_SOURCE | # undef _TANDEM_SOURCE | |||
#endif | #endif | |||
/* Enable X/Open extensions if necessary. HP-UX 11.11 defines | ||||
mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of | ||||
whether compiling with -Ae or -D_HPUX_SOURCE=1. */ | ||||
#ifndef _XOPEN_SOURCE | ||||
# undef _XOPEN_SOURCE | ||||
#endif | ||||
/* Enable general extensions on Solaris. */ | /* Enable general extensions on Solaris. */ | |||
#ifndef __EXTENSIONS__ | #ifndef __EXTENSIONS__ | |||
# undef __EXTENSIONS__ | # undef __EXTENSIONS__ | |||
#endif | #endif | |||
]) | ]) | |||
AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], | |||
[ac_cv_safe_to_define___extensions__], | [ac_cv_safe_to_define___extensions__], | |||
[AC_COMPILE_IFELSE( | [AC_COMPILE_IFELSE( | |||
[AC_LANG_PROGRAM([[ | [AC_LANG_PROGRAM([[ | |||
# define __EXTENSIONS__ 1 | # define __EXTENSIONS__ 1 | |||
]AC_INCLUDES_DEFAULT])], | ]AC_INCLUDES_DEFAULT])], | |||
[ac_cv_safe_to_define___extensions__=yes], | [ac_cv_safe_to_define___extensions__=yes], | |||
[ac_cv_safe_to_define___extensions__=no])]) | [ac_cv_safe_to_define___extensions__=no])]) | |||
test $ac_cv_safe_to_define___extensions__ = yes && | test $ac_cv_safe_to_define___extensions__ = yes && | |||
AC_DEFINE([__EXTENSIONS__]) | AC_DEFINE([__EXTENSIONS__]) | |||
AC_DEFINE([_ALL_SOURCE]) | AC_DEFINE([_ALL_SOURCE]) | |||
AC_DEFINE([_DARWIN_C_SOURCE]) | ||||
AC_DEFINE([_GNU_SOURCE]) | AC_DEFINE([_GNU_SOURCE]) | |||
AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) | |||
AC_DEFINE([_TANDEM_SOURCE]) | AC_DEFINE([_TANDEM_SOURCE]) | |||
AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined], | ||||
[ac_cv_should_define__xopen_source], | ||||
[ac_cv_should_define__xopen_source=no | ||||
AC_COMPILE_IFELSE( | ||||
[AC_LANG_PROGRAM([[ | ||||
#include <wchar.h> | ||||
mbstate_t x;]])], | ||||
[], | ||||
[AC_COMPILE_IFELSE( | ||||
[AC_LANG_PROGRAM([[ | ||||
#define _XOPEN_SOURCE 500 | ||||
#include <wchar.h> | ||||
mbstate_t x;]])], | ||||
[ac_cv_should_define__xopen_source=yes])])]) | ||||
test $ac_cv_should_define__xopen_source = yes && | ||||
AC_DEFINE([_XOPEN_SOURCE], [500]) | ||||
])# AC_USE_SYSTEM_EXTENSIONS | ])# AC_USE_SYSTEM_EXTENSIONS | |||
# gl_USE_SYSTEM_EXTENSIONS | # gl_USE_SYSTEM_EXTENSIONS | |||
# ------------------------ | # ------------------------ | |||
# Enable extensions on systems that normally disable them, | # Enable extensions on systems that normally disable them, | |||
# typically due to standards-conformance issues. | # typically due to standards-conformance issues. | |||
AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], | AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], | |||
[ | [ | |||
dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS. | dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS. | |||
dnl gnulib does not need it. But if it gets required by third-party macro s | dnl gnulib does not need it. But if it gets required by third-party macro s | |||
End of changes. 13 change blocks. | ||||
19 lines changed or deleted | 39 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |