File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libiconv / srcm4 / errno_h.m4
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue May 29 09:29:44 2012 UTC (12 years, 1 month ago) by misho
Branches: libiconv, MAIN
CVS tags: v1_14p0, v1_14, HEAD
libiconv v1.14

    1: # errno_h.m4 serial 10
    2: dnl Copyright (C) 2004, 2006, 2008-2011 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 ENETRESET
   38: booboo
   39: #endif
   40: #if !defined ECONNABORTED
   41: booboo
   42: #endif
   43: #if !defined ESTALE
   44: booboo
   45: #endif
   46: #if !defined EDQUOT
   47: booboo
   48: #endif
   49: #if !defined ECANCELED
   50: booboo
   51: #endif
   52:       ],
   53:       [gl_cv_header_errno_h_complete=no],
   54:       [gl_cv_header_errno_h_complete=yes])
   55:   ])
   56:   if test $gl_cv_header_errno_h_complete = yes; then
   57:     ERRNO_H=''
   58:   else
   59:     gl_NEXT_HEADERS([errno.h])
   60:     ERRNO_H='errno.h'
   61:   fi
   62:   AC_SUBST([ERRNO_H])
   63:   AM_CONDITIONAL([GL_GENERATE_ERRNO_H], [test -n "$ERRNO_H"])
   64:   gl_REPLACE_ERRNO_VALUE([EMULTIHOP])
   65:   gl_REPLACE_ERRNO_VALUE([ENOLINK])
   66:   gl_REPLACE_ERRNO_VALUE([EOVERFLOW])
   67: ])
   68: 
   69: # Assuming $1 = EOVERFLOW.
   70: # The EOVERFLOW errno value ought to be defined in <errno.h>, according to
   71: # POSIX.  But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and
   72: # some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined.
   73: # Check for the value of EOVERFLOW.
   74: # Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE.
   75: AC_DEFUN([gl_REPLACE_ERRNO_VALUE],
   76: [
   77:   if test -n "$ERRNO_H"; then
   78:     AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [
   79:       AC_EGREP_CPP([yes],[
   80: #include <errno.h>
   81: #ifdef ]$1[
   82: yes
   83: #endif
   84:       ],
   85:       [gl_cv_header_errno_h_]$1[=yes],
   86:       [gl_cv_header_errno_h_]$1[=no])
   87:       if test $gl_cv_header_errno_h_]$1[ = no; then
   88:         AC_EGREP_CPP([yes],[
   89: #define _XOPEN_SOURCE_EXTENDED 1
   90: #include <errno.h>
   91: #ifdef ]$1[
   92: yes
   93: #endif
   94:           ], [gl_cv_header_errno_h_]$1[=hidden])
   95:         if test $gl_cv_header_errno_h_]$1[ = hidden; then
   96:           dnl The macro exists but is hidden.
   97:           dnl Define it to the same value.
   98:           AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [
   99: #define _XOPEN_SOURCE_EXTENDED 1
  100: #include <errno.h>
  101: /* The following two lines are a workaround against an autoconf-2.52 bug.  */
  102: #include <stdio.h>
  103: #include <stdlib.h>
  104: ])
  105:         fi
  106:       fi
  107:     ])
  108:     case $gl_cv_header_errno_h_]$1[ in
  109:       yes | no)
  110:         ]$1[_HIDDEN=0; ]$1[_VALUE=
  111:         ;;
  112:       *)
  113:         ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1["
  114:         ;;
  115:     esac
  116:     AC_SUBST($1[_HIDDEN])
  117:     AC_SUBST($1[_VALUE])
  118:   fi
  119: ])
  120: 
  121: dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
  122: dnl Remove this when we can assume autoconf >= 2.61.
  123: m4_ifdef([AC_COMPUTE_INT], [], [
  124:   AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
  125: ])

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