view m4/getopt.m4 @ 109364:89a16701cde1

Convert old-style definitions * editfns.c (transpose_markers): Convert old-style definition. * emacs.c (abort, shut_down_emacs, fixup_locale) (synchronize_system_time_locale) (synchronize_system_messages_locale, syms_of_emacs): Likewise. * floatfns.c (extract_float, matherr, init_floatfns) (syms_of_floatfns): Likewise. * fns.c (make_hash_table): Likewise. * ftfont.c (ftfont_get_otf, ftfont_otf_features) (ftfont_otf_capability, ftfont_get_glyph_id, ftfont_get_metrics) (ftfont_drive_otf, ftfont_shape_by_flt, ftfont_shape) (ftfont_variation_glyphs): Likewise. * gtkutil.c (xg_create_widget, xg_modify_menubar_widgets): Likewise. * keymap.c (describe_map_tree, describe_map, describe_vector): Likewise. * lread.c (read_filtered_event): Likewise. * minibuf.c (read_minibuf_noninteractive, read_minibuf): Likewise. * process.c (wait_reading_process_output): Likewise. * scroll.c (do_line_insertion_deletion_costs): Likewise. * search.c (search_buffer, boyer_moore): Likewise. * syntax.c (scan_sexps_forward): Likewise. * xdisp.c (try_scrolling): Likewise. * xfaces.c (face_at_buffer_position, face_for_overlay_string) (face_at_string_position): Likewise. * xfns.c (x_default_scroll_bar_color_parameter): Likewise. * xselect.c (x_get_window_property, receive_incremental_selection) (x_get_window_property_as_lisp_data, lisp_data_to_selection_data): Likewise. * xterm.c (x_draw_relief_rect, x_draw_box_rect): Likewise.
author Andreas Schwab <schwab@linux-m68k.org>
date Mon, 12 Jul 2010 19:47:17 +0200
parents 4ad431d8e164
children ef719132ddfa babd014aab81
line wrap: on
line source

# getopt.m4 serial 10
dnl Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.

# The getopt module assume you want GNU getopt, with getopt_long etc,
# rather than vanilla POSIX getopt.  This means your your code should
# always include <getopt.h> for the getopt prototypes.

AC_DEFUN([gl_GETOPT_SUBSTITUTE],
[
  AC_LIBOBJ([getopt])
  AC_LIBOBJ([getopt1])
  gl_GETOPT_SUBSTITUTE_HEADER
  gl_PREREQ_GETOPT
])

AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
[
  GETOPT_H=getopt.h
  AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
    [Define to rpl_ if the getopt replacement functions and variables
     should be used.])
  AC_SUBST([GETOPT_H])
])

AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
[
  GETOPT_H=
  AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h])
  if test -z "$GETOPT_H"; then
    AC_CHECK_FUNCS([getopt_long_only], [], [GETOPT_H=getopt.h])
  fi

  dnl BSD getopt_long uses an incompatible method to reset option processing,
  dnl and (as of 2004-10-15) mishandles optional option-arguments.
  if test -z "$GETOPT_H"; then
    AC_CHECK_DECL([optreset], [GETOPT_H=getopt.h], [], [#include <getopt.h>])
  fi

  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_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt],
      [AC_RUN_IFELSE(
	[AC_LANG_PROGRAM([#include <getopt.h>],
	   [[
	     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 <getopt.h>])])])
    if test "$gl_cv_func_gnu_getopt" = "no"; then
      GETOPT_H=getopt.h
    fi
  fi
])

AC_DEFUN([gl_GETOPT_IFELSE],
[
  AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
  AS_IF([test -n "$GETOPT_H"], [$1], [$2])
])

AC_DEFUN([gl_GETOPT], [gl_GETOPT_IFELSE([gl_GETOPT_SUBSTITUTE])])

# Prerequisites of lib/getopt*.
AC_DEFUN([gl_PREREQ_GETOPT], [:])

ifelse(dnl	Do not change this comment
   arch-tag: 6c64a021-551c-4a7f-9c63-cd7e1ce54707
)dnl