Likewise for strerror. 2007-03-03 Bruno Haible <[EMAIL PROTECTED]>
* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro. (gl_FUNC_STRERROR): Nop. * lib/strerror.c: Compile the file only if !HAVE_STRERROR. *** m4/strerror.m4 23 Jan 2005 08:06:57 -0000 1.3 --- m4/strerror.m4 3 Mar 2007 19:44:35 -0000 *************** *** 1,17 **** ! # strerror.m4 serial 2 ! dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRERROR], [ ! AC_REPLACE_FUNCS(strerror) if test $ac_cv_func_strerror = no; then gl_PREREQ_STRERROR fi ]) # Prerequisites of lib/strerror.c. AC_DEFUN([gl_PREREQ_STRERROR], [ : --- 1,25 ---- ! # strerror.m4 serial 3 ! dnl Copyright (C) 2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRERROR], [ ! AC_CHECK_FUNCS_ONCE([strerror]) if test $ac_cv_func_strerror = no; then + AC_LIBOBJ([strerror]) gl_PREREQ_STRERROR fi ]) + # Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ). + AC_DEFUN([gl_FUNC_STRERROR_SEPARATE], + [ + AC_CHECK_FUNCS_ONCE([strerror]) + gl_PREREQ_STRERROR + ]) + # Prerequisites of lib/strerror.c. AC_DEFUN([gl_PREREQ_STRERROR], [ : *** lib/strerror.c 13 Sep 2006 22:38:14 -0000 1.5 --- lib/strerror.c 3 Mar 2007 19:44:35 -0000 *************** *** 1,6 **** /* strerror.c --- ANSI C compatible system error routine ! Copyright (C) 1986, 1988, 1989, 1991, 2002, 2003, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify --- 1,6 ---- /* strerror.c --- ANSI C compatible system error routine ! Copyright (C) 1986, 1988, 1989, 1991, 2002, 2003, 2006, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify *************** *** 21,26 **** --- 21,28 ---- #include <limits.h> + #if !HAVE_STRERROR + /* Don't include <stdio.h>, since it may or may not declare sys_errlist and its declarations may collide with ours. Just declare the stuff that we need directly. Standard hosted C89 *************** *** 45,47 **** --- 47,51 ---- else return sys_errlist[n]; } + + #endif /* !HAVE_STRERROR */