2000-07-19 H.J. Lu <hjl@gnu.org>
[deliverable/binutils-gdb.git] / include / libiberty.h
index 9a536a4a19410ef5544b707d278e2fdda3ca320b..476e0165b3eed5206e7045ee3e1a2b6f5460936b 100644 (file)
@@ -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.
This page took 0.023921 seconds and 4 git commands to generate.