diff --git a/src/configure.in b/src/configure.in
index 1cdb14760675f9f441663b6ccd74976144b84651..89bbaaa81fe0154f4d109be968b91c5b335e20e0 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -582,6 +582,7 @@ AC_CHECK_HEADERS(dld.h)
 AC_CHECK_HEADERS(endian.h)
 AC_CHECK_HEADERS(float.h)
 AC_CHECK_HEADERS(fp_class.h)
+AC_CHECK_HEADERS(getopt.h)
 AC_CHECK_HEADERS(history.h)
 AC_CHECK_HEADERS(ieeefp.h)
 AC_CHECK_HEADERS(limits.h)
diff --git a/src/include/config.h.in b/src/include/config.h.in
index 6bb03462c83b0e85b212b634ef112d715d6d6e59..5bf092c222035fa2d0f48b2bfaf26deb610b65e5 100644
--- a/src/include/config.h.in
+++ b/src/include/config.h.in
@@ -235,6 +235,9 @@
 /* Set to 1 if you have <fp_class.h> */
 #undef HAVE_FP_CLASS_H
 
+/* Set to 1 if you have <fp_class.h> */
+#undef HAVE_GETOPT
+
 /* Set to 1 if you have <history.h> */
 #undef HAVE_HISTORY_H
 
diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c
index 968293aaf654da29b290ecd932cc28549f811f02..7d1978c8341dbfc73fe6d81ce2be7c59991e2848 100644
--- a/src/interfaces/ecpg/preproc/ecpg.c
+++ b/src/interfaces/ecpg/preproc/ecpg.c
@@ -4,7 +4,9 @@
 
 #include "postgres.h"
 
+#ifdef HAVE_GETOPT_H
 #include <getopt.h>
+#endif
 #include <unistd.h>
 extern int	optind;
 extern char *optarg;