Annotation of embedaddon/libiconv/srcm4/extensions.m4, revision 1.1.1.2

1.1.1.2 ! misho       1: # serial 10  -*- Autoconf -*-
1.1       misho       2: # Enable extensions on systems that normally disable them.
                      3: 
1.1.1.2 ! misho       4: # Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
1.1       misho       5: # This file is free software; the Free Software Foundation
                      6: # gives unlimited permission to copy and/or distribute it,
                      7: # with or without modifications, as long as this notice is preserved.
                      8: 
                      9: # This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS
                     10: # Autoconf.  Perhaps we can remove this once we can assume Autoconf
                     11: # 2.62 or later everywhere, but since CVS Autoconf mutates rapidly
                     12: # enough in this area it's likely we'll need to redefine
                     13: # AC_USE_SYSTEM_EXTENSIONS for quite some time.
                     14: 
1.1.1.2 ! misho      15: # If autoconf reports a warning
        !            16: #     warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
        !            17: # or  warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS
        !            18: # the fix is
        !            19: #   1) to ensure that AC_USE_SYSTEM_EXTENSIONS is never directly invoked
        !            20: #      but always AC_REQUIREd,
        !            21: #   2) to ensure that for each occurrence of
        !            22: #        AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
        !            23: #      or
        !            24: #        AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
        !            25: #      the corresponding gnulib module description has 'extensions' among
        !            26: #      its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS
        !            27: #      invocation occurs in gl_EARLY, not in gl_INIT.
        !            28: 
1.1       misho      29: # AC_USE_SYSTEM_EXTENSIONS
                     30: # ------------------------
                     31: # Enable extensions on systems that normally disable them,
                     32: # typically due to standards-conformance issues.
                     33: # Remember that #undef in AH_VERBATIM gets replaced with #define by
                     34: # AC_DEFINE.  The goal here is to define all known feature-enabling
                     35: # macros, then, if reports of conflicts are made, disable macros that
                     36: # cause problems on some platforms (such as __EXTENSIONS__).
                     37: AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS],
                     38: [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
                     39: AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
                     40: 
                     41:   AC_REQUIRE([AC_CANONICAL_HOST])
                     42: 
                     43:   AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=])
                     44:   if test "$MINIX" = yes; then
                     45:     AC_DEFINE([_POSIX_SOURCE], [1],
                     46:       [Define to 1 if you need to in order for `stat' and other
                     47:        things to work.])
                     48:     AC_DEFINE([_POSIX_1_SOURCE], [2],
                     49:       [Define to 2 if the system does not provide POSIX.1 features
                     50:        except with this defined.])
                     51:     AC_DEFINE([_MINIX], [1],
                     52:       [Define to 1 if on MINIX.])
                     53:   fi
                     54: 
                     55:   dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500,
                     56:   dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already
                     57:   dnl provided.
                     58:   case "$host_os" in
                     59:     hpux*)
                     60:       AC_DEFINE([_XOPEN_SOURCE], [500],
                     61:         [Define to 500 only on HP-UX.])
                     62:       ;;
                     63:   esac
                     64: 
                     65:   AH_VERBATIM([__EXTENSIONS__],
                     66: [/* Enable extensions on AIX 3, Interix.  */
                     67: #ifndef _ALL_SOURCE
                     68: # undef _ALL_SOURCE
                     69: #endif
1.1.1.2 ! misho      70: /* Enable general extensions on MacOS X.  */
        !            71: #ifndef _DARWIN_C_SOURCE
        !            72: # undef _DARWIN_C_SOURCE
        !            73: #endif
1.1       misho      74: /* Enable GNU extensions on systems that have them.  */
                     75: #ifndef _GNU_SOURCE
                     76: # undef _GNU_SOURCE
                     77: #endif
                     78: /* Enable threading extensions on Solaris.  */
                     79: #ifndef _POSIX_PTHREAD_SEMANTICS
                     80: # undef _POSIX_PTHREAD_SEMANTICS
                     81: #endif
                     82: /* Enable extensions on HP NonStop.  */
                     83: #ifndef _TANDEM_SOURCE
                     84: # undef _TANDEM_SOURCE
                     85: #endif
                     86: /* Enable general extensions on Solaris.  */
                     87: #ifndef __EXTENSIONS__
                     88: # undef __EXTENSIONS__
                     89: #endif
                     90: ])
                     91:   AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
                     92:     [ac_cv_safe_to_define___extensions__],
                     93:     [AC_COMPILE_IFELSE(
                     94:        [AC_LANG_PROGRAM([[
1.1.1.2 ! misho      95: #         define __EXTENSIONS__ 1
        !            96:           ]AC_INCLUDES_DEFAULT])],
1.1       misho      97:        [ac_cv_safe_to_define___extensions__=yes],
                     98:        [ac_cv_safe_to_define___extensions__=no])])
                     99:   test $ac_cv_safe_to_define___extensions__ = yes &&
                    100:     AC_DEFINE([__EXTENSIONS__])
                    101:   AC_DEFINE([_ALL_SOURCE])
1.1.1.2 ! misho     102:   AC_DEFINE([_DARWIN_C_SOURCE])
1.1       misho     103:   AC_DEFINE([_GNU_SOURCE])
                    104:   AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
                    105:   AC_DEFINE([_TANDEM_SOURCE])
                    106: ])# AC_USE_SYSTEM_EXTENSIONS
                    107: 
                    108: # gl_USE_SYSTEM_EXTENSIONS
                    109: # ------------------------
                    110: # Enable extensions on systems that normally disable them,
                    111: # typically due to standards-conformance issues.
                    112: AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS],
                    113: [
                    114:   dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS.
                    115:   dnl gnulib does not need it. But if it gets required by third-party macros
                    116:   dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a
                    117:   dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS".
                    118:   dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE,
                    119:   dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck.
                    120:   AC_REQUIRE([AC_GNU_SOURCE])
                    121: 
                    122:   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
                    123: ])

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>