-# include <stdio.h>
-# include <stdarg.h>
-static inline int asprintf (char **strp, const char *fmt, ...)
-{
- va_list ap;
- int ret;
- va_start (ap, fmt);
- ret = vasprintf (strp, fmt, ap);
- va_end (ap);
- return ret;
-}
+int asprintf (char **, const char *, ...);
+#endif
+
+#ifndef HAVE_FLOCKFILE
+void flockfile (FILE *);
+int ftrylockfile (FILE *);
+void funlockfile (FILE *);
+int getc_unlocked (FILE *);
+int getchar_unlocked (void);
+int putc_unlocked (int, FILE *);
+int putchar_unlocked (int);
+#endif
+
+#ifndef HAVE_GETDELIM
+ssize_t getdelim (char **, size_t *, int, FILE *);
+ssize_t getline (char **, size_t *, FILE *);
+#endif
+
+#ifndef HAVE_REWIND
+void rewind (FILE *);
+#endif
+
+#ifndef HAVE_VASPRINTF
+int vasprintf (char **, const char *, va_list);
+#endif
+
+/* string.h */
+#ifndef HAVE_STRCASECMP
+int strcasecmp (const char *, const char *);
+#endif
+
+#ifndef HAVE_STRCASESTR
+char *strcasestr (const char *, const char *);
+#endif
+
+#ifndef HAVE_STRDUP
+char *strdup (const char *);
+#endif
+
+#ifndef HAVE_STRVERSCMP
+int strverscmp (const char *, const char *);