(gl_GETOPT): Detect and reject the incompatible BSD
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 15 Oct 2004 20:01:46 +0000 (20:01 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 15 Oct 2004 20:01:46 +0000 (20:01 +0000)
implementation of getopt_long.

m4/getopt.m4

index 5ab3570..c3cf647 100644 (file)
@@ -1,4 +1,4 @@
-# getopt.m4 serial 3
+# getopt.m4 serial 4
 dnl Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
 dnl This file is free software, distributed under the terms of the GNU
 dnl General Public License.  As a special exception to the GNU General
@@ -38,6 +38,10 @@ AC_DEFUN([gl_GETOPT],
   AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h])
   AC_CHECK_FUNCS([getopt_long_only], [], [GETOPT_H=getopt.h])
 
+  dnl BSD getopt_long uses an incompatible method to reset option processing,
+  dnl and (as of 2004-10-15) mishandles optional option-arguments.
+  AC_CHECK_DECL([optreset], [GETOPT_H=getopt.h], [], [#include <getopt.h>])
+
   if test -n "$GETOPT_H"; then
      gl_GETOPT_SUBSTITUTE
   fi