summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2004-10-04 04:09:41 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2004-10-04 04:09:41 +0000
commit55fbe6686af907ac025888e290c5b8ef879b5879 (patch)
tree32340229b3778f12901c6b9dd99401212a8d2f23 /m4
parent14f5062c301fcfb23fb265b9352cc2aa952036c9 (diff)
downloadcoreutils-55fbe6686af907ac025888e290c5b8ef879b5879.tar.xz
Sync from gnulib.
Diffstat (limited to 'm4')
-rw-r--r--m4/eoverflow.m466
-rw-r--r--m4/mbswidth.m48
-rw-r--r--m4/vasnprintf.m43
3 files changed, 75 insertions, 2 deletions
diff --git a/m4/eoverflow.m4 b/m4/eoverflow.m4
new file mode 100644
index 000000000..7e6cea3d1
--- /dev/null
+++ b/m4/eoverflow.m4
@@ -0,0 +1,66 @@
+# eoverflow.m4 serial 1
+dnl Copyright (C) 2004 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
+
+dnl From Bruno Haible.
+
+# The EOVERFLOW errno value ought to be defined in <errno.h>, according to
+# POSIX. But some systems (like AIX 3) don't define it, and some systems
+# (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined.
+
+# Define EOVERFLOW as a C macro and as a substituted macro in such a way that
+# 1. on all systems, after inclusion of <errno.h>, EOVERFLOW is usable,
+# 2. on systems where EOVERFLOW is defined elsewhere, we use the same numeric
+# value.
+
+AC_DEFUN([gl_EOVERFLOW],
+[
+ AC_REQUIRE([AC_PROG_CC])dnl
+
+ AC_CACHE_CHECK([for EOVERFLOW], ac_cv_decl_EOVERFLOW, [
+ AC_EGREP_CPP(yes,[
+#include <errno.h>
+#ifdef EOVERFLOW
+yes
+#endif
+ ], have_eoverflow=1)
+ if test -n "$have_eoverflow"; then
+ dnl EOVERFLOW exists in <errno.h>. Don't need to define EOVERFLOW ourselves.
+ ac_cv_decl_EOVERFLOW=yes
+ else
+ AC_EGREP_CPP(yes,[
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef EOVERFLOW
+yes
+#endif
+ ], have_eoverflow=1)
+ if test -n "$have_eoverflow"; then
+ dnl EOVERFLOW exists but is hidden.
+ dnl Define it to the same value.
+ _AC_COMPUTE_INT([EOVERFLOW], ac_cv_decl_EOVERFLOW, [
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug. */
+#include <stdio.h>
+#include <stdlib.h>
+])
+ else
+ dnl EOVERFLOW isn't defined by the system. Define EOVERFLOW ourselves, but
+ dnl don't define it as EINVAL, because snprintf() callers want to
+ dnl distinguish EINVAL and EOVERFLOW.
+ ac_cv_decl_EOVERFLOW=E2BIG
+ fi
+ fi
+ ])
+ if test "$ac_cv_decl_EOVERFLOW" != yes; then
+ AC_DEFINE_UNQUOTED([EOVERFLOW], [$ac_cv_decl_EOVERFLOW],
+ [Define as good substitute value for EOVERFLOW.])
+ EOVERFLOW="$ac_cv_decl_EOVERFLOW"
+ AC_SUBST(EOVERFLOW)
+ fi
+])
diff --git a/m4/mbswidth.m4 b/m4/mbswidth.m4
index f61be107a..ffa6ece3b 100644
--- a/m4/mbswidth.m4
+++ b/m4/mbswidth.m4
@@ -1,4 +1,10 @@
-#serial 11
+# mbswidth.m4 serial 11
+dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
+dnl This file is free software, distributed under the terms of the GNU
+dnl General Public License. As a special exception to the GNU General
+dnl Public License, this file may be distributed as part of a program
+dnl that contains a configuration script generated by Autoconf, under
+dnl the same distribution terms as the rest of that program.
dnl autoconf tests required for use of mbswidth.c
dnl From Bruno Haible.
diff --git a/m4/vasnprintf.m4 b/m4/vasnprintf.m4
index cba4428bf..a116949da 100644
--- a/m4/vasnprintf.m4
+++ b/m4/vasnprintf.m4
@@ -1,4 +1,4 @@
-# vasnprintf.m4 serial 4
+# vasnprintf.m4 serial 5
dnl Copyright (C) 2002-2004 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
@@ -8,6 +8,7 @@ dnl the same distribution terms as the rest of that program.
AC_DEFUN([gl_FUNC_VASNPRINTF],
[
+ AC_REQUIRE([gl_EOVERFLOW])
AC_REPLACE_FUNCS(vasnprintf)
if test $ac_cv_func_vasnprintf = no; then
AC_LIBOBJ(printf-args)