Commit 47d0c011 authored by Paul Eggert's avatar Paul Eggert

Merge from gnulib.

* m4/getopt.m4: Copy new version from gnulib, incorporating:
getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
parent 711b11e1
2012-06-23 Paul Eggert <eggert@cs.ucla.edu>
Merge from gnulib.
* m4/getopt.m4: Copy new version from gnulib, incorporating:
getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
2012-06-23 Eli Zaretskii <eliz@gnu.org> 2012-06-23 Eli Zaretskii <eliz@gnu.org>
Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu. Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu.
......
# getopt.m4 serial 41 # getopt.m4 serial 42
dnl Copyright (C) 2002-2006, 2008-2012 Free Software Foundation, Inc. dnl Copyright (C) 2002-2006, 2008-2012 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
...@@ -319,6 +319,48 @@ dnl is ambiguous with environment values that contain newlines. ...@@ -319,6 +319,48 @@ dnl is ambiguous with environment values that contain newlines.
]) ])
if test "$gl_cv_func_getopt_gnu" = "no"; then if test "$gl_cv_func_getopt_gnu" = "no"; then
gl_replace_getopt=yes gl_replace_getopt=yes
else
AC_CACHE_CHECK([for working GNU getopt_long function],
[gl_cv_func_getopt_long_gnu],
[AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[#include <getopt.h>
#include <stddef.h>
#include <string.h>
]],
[[static const struct option long_options[] =
{
{ "xtremely-",no_argument, NULL, 1003 },
{ "xtra", no_argument, NULL, 1001 },
{ "xtreme", no_argument, NULL, 1002 },
{ "xtremely", no_argument, NULL, 1003 },
{ NULL, 0, NULL, 0 }
};
/* This code fails on OpenBSD 5.0. */
{
static char program[] = "program";
static char xtremel[] = "--xtremel";
char *argv[] = { program, xtremel, NULL };
int option_index;
optind = 1; opterr = 0;
if (getopt_long (2, argv, "", long_options, &option_index) != 1003)
return 1;
}
return 0;
]])],
[gl_cv_func_getopt_long_gnu=yes],
[gl_cv_func_getopt_long_gnu=no],
[dnl Cross compiling. Guess no on OpenBSD, yes otherwise.
case "$host_os" in
openbsd*) gl_cv_func_getopt_long_gnu="guessing no";;
*) gl_cv_func_getopt_long_gnu="guessing yes";;
esac
])
])
case "$gl_cv_func_getopt_long_gnu" in
*yes) ;;
*) gl_replace_getopt=yes ;;
esac
fi fi
fi fi
]) ])
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment