X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ferror.m4;h=6ea75ac02935f5f817983b072903eb2b6c838f3e;hb=c9ff025783e5374226ffbf7940f40ce7db6852ed;hp=3d9b2b7b678f04e181e03d06cbf772bd7a17f89b;hpb=ee76465ad82c04707c78ff3ed723358217c9e34f;p=gnulib.git diff --git a/m4/error.m4 b/m4/error.m4 index 3d9b2b7b6..6ea75ac02 100644 --- a/m4/error.m4 +++ b/m4/error.m4 @@ -1,12 +1,39 @@ -#serial 3 +#serial 13 -dnl FIXME: put these prerequisite-only *.m4 files in a separate -dnl directory -- otherwise, they'll conflict with existing files. +# Copyright (C) 1996-1998, 2001-2004, 2009-2011 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -dnl These are the prerequisite macros for GNU's error.c file. -AC_DEFUN([jm_PREREQ_ERROR], +AC_DEFUN([gl_ERROR], [ - AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt) - AC_FUNC_STRERROR_R - AC_HEADER_STDC + AC_FUNC_ERROR_AT_LINE + dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]). + gl_PREREQ_ERROR +]) + +# Redefine AC_FUNC_ERROR_AT_LINE, because it is no longer maintained in +# Autoconf. +AC_DEFUN([AC_FUNC_ERROR_AT_LINE], +[ + AC_LIBSOURCES([error.h, error.c])dnl + AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[error_at_line (0, 0, "", 0, "an error occurred");]])], + [ac_cv_lib_error_at_line=yes], + [ac_cv_lib_error_at_line=no])]) + if test $ac_cv_lib_error_at_line = no; then + AC_LIBOBJ([error]) + fi +]) + +# Prerequisites of lib/error.c. +AC_DEFUN([gl_PREREQ_ERROR], +[ + AC_REQUIRE([AC_FUNC_STRERROR_R]) + AC_REQUIRE([AC_C_INLINE]) + : ])