+/* If __GNU_LIBRARY__ is not already defined, either we are being used
+ standalone, or this is the first header included in the source file.
+ If we are being used with glibc, we need to include <features.h>, but
+ that does not exist if we are standalone. So: if __GNU_LIBRARY__ is
+ not defined, include <stdlib.h>, which will pull in <features.h> for us
+ if it's from glibc (and will declare getopt). Fall back on <ctype.h> if
+ <stdlib.h> might not exist. (Why ctype.h? It's guaranteed to exist and it
+ doesn't flood the namespace with stuff the way some other headers do.) */
+#if !defined __GNU_LIBRARY__
+# if HAVE_STDLIB_H || STDC_HEADERS
+# include <stdlib.h>
+# else
+# include <ctype.h>
+# endif
+#endif
+