+/* Don't include stdlib.h because some (e.g., Solaris 2.7) declare putenv
+ with a non-const argument. That would conflict with the declaration of
+ rpl_putenv below (due to the #define putenv rpl_putenv from config.h). */
+
+char *malloc ();
+void free ();
+
+#if defined (__GNU_LIBRARY__) || defined (HAVE_STRING_H)
+# include <string.h>
+#endif
+#if defined (__GNU_LIBRARY__) || defined (HAVE_UNISTD_H)
+# include <unistd.h>
+#endif
+
+#if !defined (__GNU_LIBRARY__) && !defined (HAVE_STRCHR)
+# define strchr index
+#endif
+#if !defined (__GNU_LIBRARY__) && !defined (HAVE_MEMCPY)
+# define memcpy(d,s,n) bcopy ((s), (d), (n))
+#endif
+
+#if HAVE_GNU_LD
+# define environ __environ
+#else
+extern char **environ;