Annotation of embedaddon/libiconv/srcm4/errno_h.m4, revision 1.1.1.1

1.1       misho       1: # errno_h.m4 serial 6
                      2: dnl Copyright (C) 2004, 2006, 2008, 2009 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_ONCE([gl_HEADER_ERRNO_H],
                      8: [
                      9:   AC_REQUIRE([AC_PROG_CC])
                     10:   AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [
                     11:     AC_EGREP_CPP([booboo],[
                     12: #include <errno.h>
                     13: #if !defined ENOMSG
                     14: booboo
                     15: #endif
                     16: #if !defined EIDRM
                     17: booboo
                     18: #endif
                     19: #if !defined ENOLINK
                     20: booboo
                     21: #endif
                     22: #if !defined EPROTO
                     23: booboo
                     24: #endif
                     25: #if !defined EMULTIHOP
                     26: booboo
                     27: #endif
                     28: #if !defined EBADMSG
                     29: booboo
                     30: #endif
                     31: #if !defined EOVERFLOW
                     32: booboo
                     33: #endif
                     34: #if !defined ENOTSUP
                     35: booboo
                     36: #endif
                     37: #if !defined ESTALE
                     38: booboo
                     39: #endif
                     40: #if !defined ECANCELED
                     41: booboo
                     42: #endif
                     43:       ],
                     44:       [gl_cv_header_errno_h_complete=no],
                     45:       [gl_cv_header_errno_h_complete=yes])
                     46:   ])
                     47:   if test $gl_cv_header_errno_h_complete = yes; then
                     48:     ERRNO_H=''
                     49:   else
                     50:     gl_CHECK_NEXT_HEADERS([errno.h])
                     51:     ERRNO_H='errno.h'
                     52:   fi
                     53:   AC_SUBST([ERRNO_H])
                     54:   gl_REPLACE_ERRNO_VALUE([EMULTIHOP])
                     55:   gl_REPLACE_ERRNO_VALUE([ENOLINK])
                     56:   gl_REPLACE_ERRNO_VALUE([EOVERFLOW])
                     57: ])
                     58: 
                     59: # Assuming $1 = EOVERFLOW.
                     60: # The EOVERFLOW errno value ought to be defined in <errno.h>, according to
                     61: # POSIX.  But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and
                     62: # some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined.
                     63: # Check for the value of EOVERFLOW.
                     64: # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE.
                     65: AC_DEFUN([gl_REPLACE_ERRNO_VALUE],
                     66: [
                     67:   if test -n "$ERRNO_H"; then
                     68:     AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [
                     69:       AC_EGREP_CPP([yes],[
                     70: #include <errno.h>
                     71: #ifdef ]$1[
                     72: yes
                     73: #endif
                     74:       ],
                     75:       [gl_cv_header_errno_h_]$1[=yes],
                     76:       [gl_cv_header_errno_h_]$1[=no])
                     77:       if test $gl_cv_header_errno_h_]$1[ = no; then
                     78:         AC_EGREP_CPP([yes],[
                     79: #define _XOPEN_SOURCE_EXTENDED 1
                     80: #include <errno.h>
                     81: #ifdef ]$1[
                     82: yes
                     83: #endif
                     84:           ], [gl_cv_header_errno_h_]$1[=hidden])
                     85:         if test $gl_cv_header_errno_h_]$1[ = hidden; then
                     86:           dnl The macro exists but is hidden.
                     87:           dnl Define it to the same value.
                     88:           AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [
                     89: #define _XOPEN_SOURCE_EXTENDED 1
                     90: #include <errno.h>
                     91: /* The following two lines are a workaround against an autoconf-2.52 bug.  */
                     92: #include <stdio.h>
                     93: #include <stdlib.h>
                     94: ])
                     95:         fi
                     96:       fi
                     97:     ])
                     98:     case $gl_cv_header_errno_h_]$1[ in
                     99:       yes | no)
                    100:         ]$1[_HIDDEN=0; ]$1[_VALUE=
                    101:         ;;
                    102:       *)
                    103:         ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1["
                    104:         ;;
                    105:     esac
                    106:     AC_SUBST($1[_HIDDEN])
                    107:     AC_SUBST($1[_VALUE])
                    108:   fi
                    109: ])
                    110: 
                    111: dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
                    112: dnl Remove this when we can assume autoconf >= 2.61.
                    113: m4_ifdef([AC_COMPUTE_INT], [], [
                    114:   AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
                    115: ])

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