diff options
Diffstat (limited to 'include/libiberty.h')
-rw-r--r-- | include/libiberty.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/libiberty.h b/include/libiberty.h index 9a536a4a1..476e0165b 100644 --- a/include/libiberty.h +++ b/include/libiberty.h @@ -36,10 +36,17 @@ extern char **dupargv PARAMS ((char **)) ATTRIBUTE_MALLOC; across different systems, sometimes as "char *" and sometimes as "const char *" */ -#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) +/* HAVE_DECL_* is a three-state macro: undefined, 0 or 1. If it is + undefined, we haven't run the autoconf check so provide the + declaration without arguments. If it is 0, we checked and failed + to find the declaration so provide a fully prototyped one. If it + is 1, we found it so don't provide any declaration at all. */ +#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || (defined (HAVE_DECL_BASENAME) && !HAVE_DECL_BASENAME) extern char *basename PARAMS ((const char *)); #else +# if !defined (HAVE_DECL_BASENAME) extern char *basename (); +# endif #endif /* Concatenate an arbitrary number of strings, up to (char *) NULL. |