annotate m4/getopt.m4 @ 80402:bc43e42e2fb4

(url-digest-auth): Changed an if so that the interaction between the PROMPT and OVERWRITE arguments can no longer result in the user being queried twice for the same login and password information.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 31 Mar 2008 22:02:24 +0000
parents 4ad431d8e164
children ef719132ddfa babd014aab81
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
64639
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
1 # getopt.m4 serial 10
75249
4ad431d8e164 Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 68639
diff changeset
2 dnl Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
64639
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
3 dnl This file is free software; the Free Software Foundation
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
4 dnl gives unlimited permission to copy and/or distribute it,
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
5 dnl with or without modifications, as long as this notice is preserved.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
6
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
7 # The getopt module assume you want GNU getopt, with getopt_long etc,
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
8 # rather than vanilla POSIX getopt. This means your your code should
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
9 # always include <getopt.h> for the getopt prototypes.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
10
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
11 AC_DEFUN([gl_GETOPT_SUBSTITUTE],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
12 [
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
13 AC_LIBOBJ([getopt])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
14 AC_LIBOBJ([getopt1])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
15 gl_GETOPT_SUBSTITUTE_HEADER
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
16 gl_PREREQ_GETOPT
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
17 ])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
18
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
19 AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
20 [
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
21 GETOPT_H=getopt.h
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
22 AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
23 [Define to rpl_ if the getopt replacement functions and variables
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
24 should be used.])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
25 AC_SUBST([GETOPT_H])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
26 ])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
27
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
28 AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
29 [
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
30 GETOPT_H=
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
31 AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
32 if test -z "$GETOPT_H"; then
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
33 AC_CHECK_FUNCS([getopt_long_only], [], [GETOPT_H=getopt.h])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
34 fi
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
35
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
36 dnl BSD getopt_long uses an incompatible method to reset option processing,
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
37 dnl and (as of 2004-10-15) mishandles optional option-arguments.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
38 if test -z "$GETOPT_H"; then
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
39 AC_CHECK_DECL([optreset], [GETOPT_H=getopt.h], [], [#include <getopt.h>])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
40 fi
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
41
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
42 dnl Solaris 10 getopt doesn't handle `+' as a leading character in an
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
43 dnl option string (as of 2005-05-05).
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
44 if test -z "$GETOPT_H"; then
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
45 AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
46 [AC_RUN_IFELSE(
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
47 [AC_LANG_PROGRAM([#include <getopt.h>],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
48 [[
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
49 char *myargv[3];
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
50 myargv[0] = "conftest";
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
51 myargv[1] = "-+";
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
52 myargv[2] = 0;
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
53 return getopt (2, myargv, "+a") != '?';
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
54 ]])],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
55 [gl_cv_func_gnu_getopt=yes],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
56 [gl_cv_func_gnu_getopt=no],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
57 [dnl cross compiling - pessimistically guess based on decls
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
58 dnl Solaris 10 getopt doesn't handle `+' as a leading character in an
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
59 dnl option string (as of 2005-05-05).
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
60 AC_CHECK_DECL([getopt_clip],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
61 [gl_cv_func_gnu_getopt=no], [gl_cv_func_gnu_getopt=yes],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
62 [#include <getopt.h>])])])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
63 if test "$gl_cv_func_gnu_getopt" = "no"; then
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
64 GETOPT_H=getopt.h
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
65 fi
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
66 fi
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
67 ])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
68
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
69 AC_DEFUN([gl_GETOPT_IFELSE],
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
70 [
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
71 AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
72 AS_IF([test -n "$GETOPT_H"], [$1], [$2])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
73 ])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
74
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
75 AC_DEFUN([gl_GETOPT], [gl_GETOPT_IFELSE([gl_GETOPT_SUBSTITUTE])])
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
76
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
77 # Prerequisites of lib/getopt*.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
78 AC_DEFUN([gl_PREREQ_GETOPT], [:])
64642
6baf27bdd63b Add arch tagline
Miles Bader <miles@gnu.org>
parents: 64639
diff changeset
79
6baf27bdd63b Add arch tagline
Miles Bader <miles@gnu.org>
parents: 64639
diff changeset
80 ifelse(dnl Do not change this comment
6baf27bdd63b Add arch tagline
Miles Bader <miles@gnu.org>
parents: 64639
diff changeset
81 arch-tag: 6c64a021-551c-4a7f-9c63-cd7e1ce54707
6baf27bdd63b Add arch tagline
Miles Bader <miles@gnu.org>
parents: 64639
diff changeset
82 )dnl