From 2ff0e132755c8c6f9230eaa05af284ff33f3518b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 10 May 2005 19:11:00 +0000 Subject: [PATCH] * getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when possible. --- m4/ChangeLog | 5 +++++ m4/getopt.m4 | 25 ++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/m4/ChangeLog b/m4/ChangeLog index f24f5581ef..74f758d9bd 100644 --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,8 @@ +2005-05-10 Derek Price + + * getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when + possible. + 2005-05-10 Simon Josefsson * getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from diff --git a/m4/getopt.m4 b/m4/getopt.m4 index d7bd3191cf..79c699162e 100644 --- a/m4/getopt.m4 +++ b/m4/getopt.m4 @@ -1,4 +1,4 @@ -# getopt.m4 serial 8 +# getopt.m4 serial 9 dnl Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -39,8 +39,27 @@ AC_DEFUN([gl_GETOPT], dnl Solaris 10 getopt doesn't handle `+' as a leading character in an dnl option string (as of 2005-05-05). if test -z "$GETOPT_H"; then - AC_CHECK_DECL([getopt_clip], [GETOPT_H=getopt.h], [], - [#include ]) + AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([#include ], + [[ + char *myargv[3]; + myargv[0] = "conftest"; + myargv[1] = "-+"; + myargv[2] = 0; + return getopt (2, myargv, "+a") != '?'; + ]])], + [gl_cv_func_gnu_getopt=yes], + [gl_cv_func_gnu_getopt=no], + [dnl cross compiling - pessimistically guess based on decls + dnl Solaris 10 getopt doesn't handle `+' as a leading character in an + dnl option string (as of 2005-05-05). + AC_CHECK_DECL([getopt_clip], + [gl_cv_func_gnu_getopt=no], [gl_cv_func_gnu_getopt=yes], + [#include ])])]) + if test "$gl_cv_func_gnu_getopt" = "no"; then + GETOPT_H=getopt.h + fi fi if test -n "$GETOPT_H"; then -- 2.30.2