2005-06-24 Pawel Worach <pawel.worach@gmail.com>

	* getopt.h: add further tests for full getopt declaration on
	  various systems.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index a96e917..aed2874 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-24 Pawel Worach <pawel.worach@gmail.com>
+
+	* getopt.h: add further tests for full getopt declaration on
+	  various systems.
+
 2005-06-18 Paul Jakma <paul.jakma@sun.com>
 
 	* memtypes.h: update autobuilt file to match memtypes.c changes
diff --git a/lib/getopt.h b/lib/getopt.h
index 68a9acf..dceb030 100644
--- a/lib/getopt.h
+++ b/lib/getopt.h
@@ -99,10 +99,19 @@
 #define optional_argument	2
 
 #if defined (__STDC__) && __STDC__
-#if defined (__GNU_LIBRARY__) || defined (__EXTENSIONS__)
+#if defined (__GNU_LIBRARY__) \
+    || defined (__EXTENSIONS__) \
+    || defined (_GETOPT_DEFINED_) \
+    || defined (_GETOPT_DECLARED)
 /* Many other libraries have conflicting prototypes for getopt, with
    differences in the consts, in stdlib.h.  To avoid compilation
-   errors, only prototype getopt for the GNU C library.  */
+   errors, only prototype getopt for systems we know have compatible
+   getopt.  
+   glibc: __GNU_LIBRARY__
+   solaris: __EXTENSIONS__
+   OpenBSD: _GETOPT_DEFINED_
+   FreeBSD: _GETOPT_DECLARED 
+ */
 extern int getopt (int argc, char *const *argv, const char *shortopts);
 #else /* not __GNU_LIBRARY__ or __EXTENSIONS__ */
 extern int getopt (void);