From: Bruno Haible Date: Sat, 3 Mar 2007 19:53:01 +0000 (+0000) Subject: Make it possible to compile strerror.c separately, unconditionally. X-Git-Tag: cvs-readonly~909 X-Git-Url: http://erislabs.net/gitweb/?a=commitdiff_plain;h=8badccbd46d6cbd0f1fa2014e01ce8a7cae2b272;p=gnulib.git Make it possible to compile strerror.c separately, unconditionally. --- diff --git a/ChangeLog b/ChangeLog index 5b669a074..b06c04d28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-03-03 Bruno Haible + * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro. + (gl_FUNC_STRERROR): Nop. + * lib/strerror.c: Compile the file only if !HAVE_STRERROR. + * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro. * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV. diff --git a/lib/strerror.c b/lib/strerror.c index 24e2e1ba7..c8c757f8e 100644 --- a/lib/strerror.c +++ b/lib/strerror.c @@ -1,6 +1,6 @@ /* strerror.c --- ANSI C compatible system error routine - Copyright (C) 1986, 1988, 1989, 1991, 2002, 2003, 2006 Free + 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,6 +21,8 @@ #include +#if !HAVE_STRERROR + /* Don't include , 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,3 +47,5 @@ strerror (int n) else return sys_errlist[n]; } + +#endif /* !HAVE_STRERROR */ diff --git a/m4/strerror.m4 b/m4/strerror.m4 index 32bc7ed39..bbcda3050 100644 --- a/m4/strerror.m4 +++ b/m4/strerror.m4 @@ -1,17 +1,25 @@ -# strerror.m4 serial 2 -dnl Copyright (C) 2002 Free Software Foundation, Inc. +# 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_REPLACE_FUNCS(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], [ :