# This file is part of Autoconf. -*- Autoconf -*-
# Parameterizing and creating config.status.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# As a special exception, the Free Software Foundation gives unlimited
# permission to copy, distribute and modify the configure scripts that
#
# They are output via an *unquoted* here-doc. As a consequence $var
# will be output as the value of VAR. This is typically used by
-# `configure' to give `config,.status' some variables it needs to run
-# the COMMANDS. At the difference of `COMMANDS', the INIT-CMDS are
+# `configure' to give `config.status' some variables it needs to run
+# the COMMANDS. At the difference of COMMANDS, the INIT-CMDS are
# always run.
#
#
-# Some uniformity exists around here, please respect it!
-#
-# A macro named AC_CONFIG_FOOS has three args: the `TAG...' (or
-# `FILE...' when it applies), the `COMMANDS' and the `INIT-CMDS'. It
-# first checks that TAG was not registered elsewhere thanks to
-# AC_CONFIG_UNIQUE. Then it registers `TAG...' in AC_LIST_FOOS, and for
-# each `TAG', a special line in AC_LIST_FOOS_COMMANDS which is used in
-# `config.status' like this:
-#
-# case $ac_tag in
-# AC_LIST_FOOS_COMMANDS
-# esac
-#
-# Finally, the `INIT-CMDS' are dumped into a special diversion, via
-# `_AC_CONFIG_COMMANDS_INIT'. While `COMMANDS' are output once per TAG,
-# `INIT-CMDS' are dumped only once per call to AC_CONFIG_FOOS.
-#
-# It also leave the TAG in the shell variable ac_config_foo which contains
-# those which will actually be executed. In other words:
-#
-# if false; then
-# AC_CONFIG_FOOS(bar, [touch bar])
-# fi
-#
-# will not create bar.
-#
-# AC_CONFIG_FOOS can be called several times (with different TAGs of
-# course).
-#
-# Because these macros should not output anything, there should be `dnl'
-# everywhere. A pain my friend, a pain. So instead in each macro we
-# divert(-1) and restore the diversion at the end.
-#
-#
# Honorable members of this family are AC_CONFIG_FILES,
# AC_CONFIG_HEADERS, AC_CONFIG_LINKS and AC_CONFIG_COMMANDS. Bad boys
# are AC_LINK_FILES, AC_OUTPUT_COMMANDS and AC_OUTPUT when used with
## Auxiliary macros. ##
## ------------------ ##
-# _AC_SRCPATHS(BUILD-DIR-NAME)
-# ----------------------------
+# _AC_SRCDIRS(BUILD-DIR-NAME)
+# ---------------------------
# Inputs:
# - BUILD-DIR-NAME is `top-build -> build' and `top-src -> src'
# - `$srcdir' is `top-build -> top-src'
#
-# Ouputs:
+# Outputs:
# - `ac_builddir' is `.', for symmetry only.
-# - `ac_top_builddir' is `build -> top_build'.
+# - `ac_top_builddir_sub' is `build -> top_build'.
+# This is used for @top_builddir@.
+# - `ac_top_build_prefix' is `build -> top_build'.
# If not empty, has a trailing slash.
# - `ac_srcdir' is `build -> src'.
# - `ac_top_srcdir' is `build -> top-src'.
-#
-# and `ac_abs_builddir' etc., the absolute paths.
-m4_define([_AC_SRCPATHS],
+# and `ac_abs_builddir' etc., the absolute directory names.
+m4_define([_AC_SRCDIRS],
[ac_builddir=.
-if test $1 != .; then
+case $1 in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
ac_dir_suffix=/`echo $1 | sed 's,^\.[[\\/]],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[[^\\/]]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[[^\\/]]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
case $srcdir in
- .) # No --srcdir option. We are building in place.
+ .) # We are building in place.
ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [[\\/]]* | ?:[[\\/]]* ) # Absolute path.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [[\\/]]* | ?:[[\\/]]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+])# _AC_SRCDIRS
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-AS_SET_CATFILE([ac_abs_builddir], [`pwd`], [$1])
-AS_SET_CATFILE([ac_abs_top_builddir],
- [$ac_abs_builddir], [${ac_top_builddir}.])
-AS_SET_CATFILE([ac_abs_srcdir], [$ac_abs_builddir], [$ac_srcdir])
-AS_SET_CATFILE([ac_abs_top_srcdir], [$ac_abs_builddir], [$ac_top_srcdir])
-])# _AC_SRCPATHS
+## ---------------------- ##
+## Registering the tags. ##
+## ---------------------- ##
-## ------------------------------------- ##
-## Ensuring the uniqueness of the tags. ##
-## ------------------------------------- ##
-# AC_CONFIG_IF_MEMBER(DEST, LIST-NAME, ACTION-IF-TRUE, ACTION-IF-FALSE)
-# ----------------------------------------------------------------
-# If DEST is member of LIST-NAME, expand to ACTION-IF-TRUE, else
-# ACTION-IF-FALSE.
-#
-# LIST is an AC_CONFIG list, i.e., a list of DEST[:SOURCE], separated
-# with spaces.
+# _AC_CONFIG_COMMANDS_INIT([INIT-COMMANDS])
+# -----------------------------------------
#
-# FIXME: This macro is badly designed, but I'm not guilty: m4 is. There
-# is just no way to simply compare two strings in m4, but to use pattern
-# matching. The big problem is then that the active characters should
-# be quoted. Currently `+*.' are quoted.
-m4_define([AC_CONFIG_IF_MEMBER],
-[m4_bmatch(m4_defn([$2]), [\(^\| \)]m4_re_escape([$1])[\([: ]\|$\)],
- [$3], [$4])])
+# Register INIT-COMMANDS as command pasted *unquoted* in
+# `config.status'. This is typically used to pass variables from
+# `configure' to `config.status'. Note that $[1] is not over quoted as
+# was the case in AC_OUTPUT_COMMANDS.
+m4_define([_AC_CONFIG_COMMANDS_INIT],
+[m4_ifval([$1],
+ [m4_append([_AC_OUTPUT_COMMANDS_INIT],
+ [$1
+])])])
# AC_FILE_DEPENDENCY_TRACE(DEST, SOURCE1, [SOURCE2...])
# -----------------------------------------------------
# This macro does nothing, it's a hook to be read with `autoconf --trace'.
+#
# It announces DEST depends upon the SOURCE1 etc.
m4_define([AC_FILE_DEPENDENCY_TRACE], [])
-# _AC_CONFIG_DEPENDENCY(DEST, [SOURCE1], [SOURCE2...])
-# ----------------------------------------------------
+# _AC_FILE_DEPENDENCY_TRACE_COLON(DEST:SOURCE1[:SOURCE2...])
+# ----------------------------------------------------------
+# Declare that DEST depends upon SOURCE1 etc.
+#
+m4_define([_AC_FILE_DEPENDENCY_TRACE_COLON],
+[AC_FILE_DEPENDENCY_TRACE(m4_bpatsubst([$1], [:], [,]))dnl
+])
+
+
+# _AC_CONFIG_DEPENDENCY(MODE, DEST[:SOURCE1...])
+# ---------------------------------------------
+# MODE is `FILES', `HEADERS', or `LINKS'.
+#
# Be sure that a missing dependency is expressed as a dependency upon
-# `DEST.in'.
+# `DEST.in' (except with config links).
+#
m4_define([_AC_CONFIG_DEPENDENCY],
-[m4_ifval([$2],
- [AC_FILE_DEPENDENCY_TRACE($@)],
- [AC_FILE_DEPENDENCY_TRACE([$1], [$1.in])])])
+[_AC_FILE_DEPENDENCY_TRACE_COLON([$2]_AC_CONFIG_DEPENDENCY_DEFAULT($@))dnl
+])
-# _AC_CONFIG_DEPENDENCIES(DEST[:SOURCE1[:SOURCE2...]]...)
-# -------------------------------------------------------
-# Declare the DESTs depend upon their SOURCE1 etc.
-m4_define([_AC_CONFIG_DEPENDENCIES],
-[AC_FOREACH([AC_File], [$1],
- [_AC_CONFIG_DEPENDENCY(m4_bpatsubst(AC_File, [:], [,]))])dnl
+# _AC_CONFIG_DEPENDENCY_DEFAULT(MODE, DEST[:SOURCE1...])
+# ------------------------------------------------------
+# Expand to `:DEST.in' if appropriate, or to empty string otherwise.
+#
+# More detailed edscription:
+# If the tag contains `:', expand to nothing.
+# Otherwise, for a config file or header, add `:DEST.in'.
+# For config link, DEST.in is not appropriate:
+# - if the tag is literal, complain.
+# - otherwise, just expand to nothing and proceed with fingers crossed.
+# (We get to this case from the obsolete AC_LINK_FILES, for example.)
+#
+m4_define([_AC_CONFIG_DEPENDENCY_DEFAULT],
+[m4_bmatch([$2], [:], [],
+ [m4_if([$1], [LINKS],
+ [AS_LITERAL_IF([$2], [AC_FATAL([Invalid AC_CONFIG_LINKS tag: `$2'])])],
+ [:$2.in])])dnl
])
-# _AC_CONFIG_UNIQUE(DEST[:SOURCE]...)
-# -----------------------------------
+# _AC_CONFIG_UNIQUE(MODE, DEST)
+# -----------------------------
+# MODE is `FILES', `HEADERS', `LINKS', `COMMANDS', or `SUBDIRS'.
#
-# Verify that there is no double definition of an output file
-# (precisely, guarantees there is no common elements between
-# CONFIG_HEADERS, CONFIG_FILES, CONFIG_LINKS, and CONFIG_SUBDIRS).
+# Verify that there is no double definition of an output file.
#
-# Note that this macro does not check if the list $[1] itself
-# contains doubles.
m4_define([_AC_CONFIG_UNIQUE],
-[AC_FOREACH([AC_File], [$1],
-[m4_pushdef([AC_Dest], m4_bpatsubst(AC_File, [:.*]))dnl
- AC_CONFIG_IF_MEMBER(AC_Dest, [AC_LIST_HEADERS],
- [AC_FATAL(`AC_Dest' [is already registered with AC_CONFIG_HEADERS.])])dnl
- AC_CONFIG_IF_MEMBER(AC_Dest, [AC_LIST_LINKS],
- [AC_FATAL(`AC_Dest' [is already registered with AC_CONFIG_LINKS.])])dnl
- AC_CONFIG_IF_MEMBER(AC_Dest, [_AC_LIST_SUBDIRS],
- [AC_FATAL(`AC_Dest' [is already registered with AC_CONFIG_SUBDIRS.])])dnl
- AC_CONFIG_IF_MEMBER(AC_Dest, [AC_LIST_COMMANDS],
- [AC_FATAL(`AC_Dest' [is already registered with AC_CONFIG_COMMANDS.])])dnl
- AC_CONFIG_IF_MEMBER(AC_Dest, [AC_LIST_FILES],
- [AC_FATAL(`AC_Dest' [is already registered with AC_CONFIG_FILES.])])dnl
-m4_popdef([AC_Dest])])dnl
+[m4_ifdef([_AC_SEEN_TAG($2)],
+ [AC_FATAL([`$2' is already registered with AC_CONFIG_]m4_defn([_AC_SEEN_TAG($2)]).)],
+ [m4_define([_AC_SEEN_TAG($2)], [$1])])dnl
])
-
-## ------------------------ ##
-## Configuration commands. ##
-## ------------------------ ##
+# _AC_CONFIG_FOOS(MODE, TAGS..., [COMMANDS], [INIT-CMDS])
+# -------------------------------------------------------
+# MODE is `FILES', `HEADERS', `LINKS', or `COMMANDS'.
+#
+# Associate the COMMANDS to each TAG, i.e., when config.status creates TAG,
+# run COMMANDS afterwards. (This is done in _AC_CONFIG_REGISTER_DEST.)
+#
+# For COMMANDS, do not m4_normalize TAGS before adding it to ac_config_commands.
+# This historical difference allows macro calls in TAGS.
+#
+m4_define([_AC_CONFIG_FOOS],
+[m4_foreach_w([AC_File], [$2],
+ [_AC_CONFIG_REGISTER([$1], m4_defn([AC_File]), [$3])])dnl
+m4_define([_AC_SEEN_CONFIG(ANY)])dnl
+m4_define([_AC_SEEN_CONFIG($1)])dnl
+_AC_CONFIG_COMMANDS_INIT([$4])dnl
+ac_config_[]m4_tolower([$1])="$ac_config_[]m4_tolower([$1]) dnl
+m4_if([$1], [COMMANDS], [$2], [m4_normalize([$2])])"
+])
-# _AC_CONFIG_COMMANDS_INIT([INIT-COMMANDS])
-# -----------------------------------------
+# _AC_CONFIG_REGISTER(MODE, TAG, [COMMANDS])
+# ------------------------------------------
+# MODE is `FILES', `HEADERS', `LINKS', or `COMMANDS'.
#
-# Register INIT-COMMANDS as command pasted *unquoted* in
-# `config.status'. This is typically used to pass variables from
-# `configure' to `config.status'. Note that $[1] is not over quoted as
-# was the case in AC_OUTPUT_COMMANDS.
-m4_define([_AC_CONFIG_COMMANDS_INIT],
-[m4_ifval([$1],
- [m4_append([_AC_OUTPUT_COMMANDS_INIT],
- [$1
-])])])
+m4_define([_AC_CONFIG_REGISTER],
+[m4_if([$1], [COMMANDS],
+ [],
+ [_AC_CONFIG_DEPENDENCY([$1], [$2])])dnl
+_AC_CONFIG_REGISTER_DEST([$1], [$2], m4_bpatsubst([[$2]], [:.*\(.\)$], [\1]), [$3])dnl
+])
-# Initialize.
-m4_define([_AC_OUTPUT_COMMANDS_INIT])
-
-
-# _AC_CONFIG_COMMAND(NAME, [COMMANDS])
-# ------------------------------------
-# See below.
-m4_define([_AC_CONFIG_COMMAND],
-[_AC_CONFIG_UNIQUE([$1])dnl
-m4_append([AC_LIST_COMMANDS], [ $1])dnl
-m4_ifval([$2],
-[m4_append([AC_LIST_COMMANDS_COMMANDS],
-[ ]m4_bpatsubst([$1], [:.*])[ ) $2 ;;
+
+# _AC_CONFIG_REGISTER_DEST(MODE, TAG, DEST, [COMMANDS])
+# -----------------------------------------------------
+# MODE is `FILES', `HEADERS', `LINKS', or `COMMANDS'.
+# TAG is in the form DEST[:SOURCE...].
+# Thus parameter $3 is the first part of $2.
+#
+# With CONFIG_LINKS, reject DEST=., because it is makes it hard for ./config.status
+# to guess the links to establish (`./config.status .').
+#
+# Save the name of the first config header to AH_HEADER.
+#
+m4_define([_AC_CONFIG_REGISTER_DEST],
+[_AC_CONFIG_UNIQUE([$1], [$3])dnl
+m4_if([$1 $3], [LINKS .],
+ [AC_FATAL([invalid destination of a config link: `.'])])dnl
+m4_if([$1], [HEADERS],
+ [m4_define_default([AH_HEADER], [$3])])dnl
+dnl
+dnl Recognize TAG as an argument to config.status:
+dnl
+m4_append([_AC_LIST_TAGS],
+[ "$3") CONFIG_$1="$CONFIG_$1 $2" ;;
+])dnl
+dnl
+dnl Register the associated commands, if any:
+dnl
+m4_ifval([$4],
+[m4_append([_AC_LIST_TAG_COMMANDS],
+[ "$3":]m4_bpatsubst([$1], [^\(.\).*$], [\1])[) $4 ;;
])])dnl
-])
+])# _AC_CONFIG_REGISTER_DEST
-# AC_CONFIG_COMMANDS(NAME...,[COMMANDS], [INIT-CMDS])
-# ---------------------------------------------------
+
+
+
+## --------------------- ##
+## Configuration files. ##
+## --------------------- ##
+
+
+# AC_CONFIG_FILES(FILE..., [COMMANDS], [INIT-CMDS])
+# -------------------------------------------------
+# Specify output files, i.e., files that are configured with AC_SUBST.
#
-# Specify additional commands to be run by config.status. This
-# commands must be associated with a NAME, which should be thought
-# as the name of a file the COMMANDS create.
-AC_DEFUN([AC_CONFIG_COMMANDS],
-[AC_FOREACH([AC_Name], [$1], [_AC_CONFIG_COMMAND(m4_defn([AC_Name]), [$2])])dnl
-_AC_CONFIG_COMMANDS_INIT([$3])dnl
-ac_config_commands="$ac_config_commands $1"
-])
+AC_DEFUN([AC_CONFIG_FILES], [_AC_CONFIG_FOOS([FILES], $@)])
-# Initialize the lists.
-m4_define([AC_LIST_COMMANDS])
-m4_define([AC_LIST_COMMANDS_COMMANDS])
+# _AC_SED_CMD_LIMIT
+# -----------------
+# Evaluate to an m4 number equal to the maximum number of commands to put
+# in any single sed program, not counting ":" commands.
+#
+# Some seds have small command number limits, like on Digital OSF/1 and HP-UX.
+m4_define([_AC_SED_CMD_LIMIT],
+dnl One cannot portably go further than 99 commands because of HP-UX.
+[99])
-# AC_OUTPUT_COMMANDS(EXTRA-CMDS, INIT-CMDS)
-# -----------------------------------------
+
+# _AC_OUTPUT_FILES_PREPARE
+# ------------------------
+# Create the sed scripts needed for CONFIG_FILES.
+# Support multiline substitutions and make sure that the substitutions are
+# not evaluated recursively.
+# The intention is to have readable config.status and configure, even
+# though this m4 code might be scaring.
#
-# Add additional commands for AC_OUTPUT to put into config.status.
+# This code was written by Dan Manthey.
#
-# This macro is an obsolete version of AC_CONFIG_COMMANDS. The only
-# difficulty in mapping AC_OUTPUT_COMMANDS to AC_CONFIG_COMMANDS is
-# to give a unique key. The scheme we have chosen is `default-1',
-# `default-2' etc. for each call.
+# This macro is expanded inside a here document. If the here document is
+# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
#
-# Unfortunately this scheme is fragile: bad things might happen
-# if you update an included file and configure.ac: you might have
-# clashes :( On the other hand, I'd like to avoid weird keys (e.g.,
-# depending upon __file__ or the pid).
-AU_DEFUN([AC_OUTPUT_COMMANDS],
-[m4_define([_AC_OUTPUT_COMMANDS_CNT], m4_incr(_AC_OUTPUT_COMMANDS_CNT))dnl
-dnl Double quoted since that was the case in the original macro.
-AC_CONFIG_COMMANDS([default-]_AC_OUTPUT_COMMANDS_CNT, [[$1]], [[$2]])dnl
-])
+m4_define([_AC_OUTPUT_FILES_PREPARE],
+[#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+dnl ... and define _AC_SED_CMDS, the pipeline which executes them.
+m4_define([_AC_SED_CMDS], [])dnl
-# Initialize.
-AU_DEFUN([_AC_OUTPUT_COMMANDS_CNT], 0)
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+_ACEOF
-# AC_CONFIG_COMMANDS_PRE(CMDS)
-# ----------------------------
-# Commands to run right before config.status is created. Accumulates.
-AC_DEFUN([AC_CONFIG_COMMANDS_PRE],
-[m4_append([AC_OUTPUT_COMMANDS_PRE], [$1
-])])
+m4_pushdef([_AC_SED_FRAG_NUM], 0)dnl Fragment number.
+m4_pushdef([_AC_SED_CMD_NUM], 2)dnl Num of commands in current frag so far.
+m4_pushdef([_AC_SED_DELIM_NUM], 0)dnl Expected number of delimiters in file.
+m4_pushdef([_AC_SED_FRAG], [])dnl The constant part of the current fragment.
+dnl
+m4_ifdef([_AC_SUBST_FILES],
+[# Create sed commands to just substitute file output variables.
+
+m4_foreach_w([_AC_Var], m4_defn([_AC_SUBST_FILES]),
+[dnl End fragments at beginning of loop so that last fragment is not ended.
+m4_if(m4_eval(_AC_SED_CMD_NUM + 3 > _AC_SED_CMD_LIMIT), 1,
+[dnl Fragment is full and not the last one, so no need for the final un-escape.
+dnl Increment fragment number.
+m4_define([_AC_SED_FRAG_NUM], m4_incr(_AC_SED_FRAG_NUM))dnl
+dnl Record that this fragment will need to be used.
+m4_define([_AC_SED_CMDS],
+ m4_defn([_AC_SED_CMDS])[| sed -f "$tmp/subs-]_AC_SED_FRAG_NUM[.sed" ])dnl
+[cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-]_AC_SED_FRAG_NUM[.sed" <<\CEOF
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+]m4_defn([_AC_SED_FRAG])dnl
+[CEOF
+_ACEOF
+]m4_define([_AC_SED_CMD_NUM], 2)m4_define([_AC_SED_FRAG])dnl
+])dnl Last fragment ended.
+m4_define([_AC_SED_CMD_NUM], m4_eval(_AC_SED_CMD_NUM + 3))dnl
+m4_define([_AC_SED_FRAG],
+m4_defn([_AC_SED_FRAG])dnl
+[/^[ ]*@]_AC_Var[@[ ]*$/{
+r $]_AC_Var[
+d
+}
+])dnl
+])dnl
+# Remaining file output variables are in a fragment that also has non-file
+# output varibles.
-# AC_OUTPUT_COMMANDS_PRE
-# ----------------------
-# A *variable* in which we append all the actions that must be
-# performed before *creating* config.status. For a start, clean
-# up all the LIBOBJ mess.
-m4_define([AC_OUTPUT_COMMANDS_PRE],
-[_AC_LIBOBJS_NORMALIZE()
])
+dnl
+m4_define([_AC_SED_FRAG], [
+]m4_defn([_AC_SED_FRAG]))dnl
+m4_foreach_w([_AC_Var],
+m4_ifdef([_AC_SUBST_VARS], [m4_defn([_AC_SUBST_VARS]) ])[@END@],
+[m4_if(_AC_SED_DELIM_NUM, 0,
+[m4_if(_AC_Var, [@END@],
+[dnl The whole of the last fragment would be the final deletion of `|#_!!_#|'.
+m4_define([_AC_SED_CMDS], m4_defn([_AC_SED_CMDS])[| sed 's/|#_!!_#|//g' ])],
+[
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+])])dnl
+m4_if(_AC_Var, [@END@],
+ [m4_if(m4_eval(_AC_SED_CMD_NUM + 2 <= _AC_SED_CMD_LIMIT), 1,
+ [m4_define([_AC_SED_FRAG], [ end]m4_defn([_AC_SED_FRAG]))])],
+[m4_define([_AC_SED_CMD_NUM], m4_incr(_AC_SED_CMD_NUM))dnl
+m4_define([_AC_SED_DELIM_NUM], m4_incr(_AC_SED_DELIM_NUM))dnl
+_AC_Var!$_AC_Var$ac_delim
+])dnl
+m4_if(_AC_SED_CMD_LIMIT,
+ m4_if(_AC_Var, [@END@], m4_if(_AC_SED_CMD_NUM, 2, 2, _AC_SED_CMD_LIMIT), _AC_SED_CMD_NUM),
+[_ACEOF
+
+dnl Do not use grep on conf$$subs.sed, since AIX grep has a line length limit.
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = _AC_SED_DELIM_NUM; then
+ break
+ elif $ac_last_try; then
+ AC_MSG_ERROR([could not make $CONFIG_STATUS])
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+dnl Similarly, avoid grep here too.
+ac_eof=`sed -n '/^CEOF[[0-9]]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
-# AC_CONFIG_COMMANDS_POST(CMDS)
-# -----------------------------
-# Commands to run after config.status was created. Accumulates.
-AC_DEFUN([AC_CONFIG_COMMANDS_POST],
-[m4_append([AC_OUTPUT_COMMANDS_POST], [$1
-])])
+dnl Increment fragment number.
+m4_define([_AC_SED_FRAG_NUM], m4_incr(_AC_SED_FRAG_NUM))dnl
+dnl Record that this fragment will need to be used.
+m4_define([_AC_SED_CMDS],
+m4_defn([_AC_SED_CMDS])[| sed -f "$tmp/subs-]_AC_SED_FRAG_NUM[.sed" ])dnl
+[cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-]_AC_SED_FRAG_NUM[.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b]m4_defn([_AC_SED_FRAG])dnl
+[_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+]m4_if(_AC_Var, [@END@],
+[m4_if(m4_eval(_AC_SED_CMD_NUM + 2 > _AC_SED_CMD_LIMIT), 1,
+[m4_define([_AC_SED_CMDS], m4_defn([_AC_SED_CMDS])[| sed 's/|#_!!_#|//g' ])],
+[[:end
+s/|#_!!_#|//g
+]])])dnl
+CEOF$ac_eof
+_ACEOF
+m4_define([_AC_SED_FRAG], [
+])m4_define([_AC_SED_DELIM_NUM], 0)m4_define([_AC_SED_CMD_NUM], 2)dnl
-# Initialize.
-m4_define([AC_OUTPUT_COMMANDS_POST])
+])])dnl
+dnl
+m4_popdef([_AC_SED_FRAG_NUM])dnl
+m4_popdef([_AC_SED_CMD_NUM])dnl
+m4_popdef([_AC_SED_DELIM_NUM])dnl
+m4_popdef([_AC_SED_FRAG])dnl
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub=['/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}']
+fi
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
-# _AC_OUTPUT_COMMANDS
-# -------------------
-# This is a subroutine of AC_OUTPUT, in charge of issuing the code
-# related to AC_CONFIG_COMMANDS.
-#
-# It has to send itself into $CONFIG_STATUS (eg, via here documents).
-# Upon exit, no here document shall be opened.
-m4_define([_AC_OUTPUT_COMMANDS],
-[cat >>$CONFIG_STATUS <<\_ACEOF
+])# _AC_OUTPUT_FILES_PREPARE
+
+# _AC_OUTPUT_FILE
+# ---------------
+# Do the variable substitutions to create the Makefiles or whatever.
#
-# CONFIG_COMMANDS section.
+# This macro is expanded inside a here document. If the here document is
+# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[[^:]]*:,,'`
- ac_dir=`AS_DIRNAME(["$ac_dest"])`
- AS_MKDIR_P(["$ac_dir"])
- _AC_SRCPATHS(["$ac_dir"])
+m4_define([_AC_OUTPUT_FILE],
+[
+ #
+ # CONFIG_FILE
+ #
- AC_MSG_NOTICE([executing $ac_dest commands])
-dnl Some shells don't like empty case/esac
-m4_ifset([AC_LIST_COMMANDS_COMMANDS],
-[ case $ac_dest in
-AC_LIST_COMMANDS_COMMANDS()dnl
+AC_PROVIDE_IFELSE([AC_PROG_INSTALL],
+[ case $INSTALL in
+ [[\\/$]]* | ?:[[\\/]]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
])dnl
-done
+AC_PROVIDE_IFELSE([AC_PROG_MKDIR_P],
+[ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [[\\/$]]* | ?:[[\\/]]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+])dnl
+_ACEOF
+
+m4_ifndef([AC_DATAROOTDIR_CHECKED],
+[cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+m4_define([_AC_datarootdir_vars],
+ [datadir, docdir, infodir, localedir, mandir])
+case `sed -n '/datarootdir/ {
+ p
+ q
+}
+m4_foreach([_AC_Var], m4_defn([_AC_datarootdir_vars]),
+ [/@_AC_Var@/p
+])' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@[]m4_join([@*|*@], _AC_datarootdir_vars)@*)
+ AC_MSG_WARN([$ac_file_inputs seems to ignore the --datarootdir setting])
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ ac_datarootdir_hack='
+ m4_foreach([_AC_Var], m4_defn([_AC_datarootdir_vars]),
+ [s&@_AC_Var@&$_AC_Var&g
+ ])dnl
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
_ACEOF
-])# _AC_OUTPUT_COMMANDS
+])dnl
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+[/@[a-zA-Z_][a-zA-Z_0-9]*@/!b]
+dnl configure_input is a somewhat special, so we don't call AC_SUBST_TRACE.
+s&@configure_input@&$configure_input&;t t
+dnl During the transition period, this is a special case:
+s&@top_builddir@&$ac_top_builddir_sub&;t t[]AC_SUBST_TRACE([top_builddir])
+m4_foreach([_AC_Var], [srcdir, abs_srcdir, top_srcdir, abs_top_srcdir,
+ builddir, abs_builddir,
+ abs_top_builddir]AC_PROVIDE_IFELSE([AC_PROG_INSTALL], [[, INSTALL]])AC_PROVIDE_IFELSE([AC_PROG_MKDIR_P], [[, MKDIR_P]]),
+ [s&@_AC_Var@&$ac_[]_AC_Var&;t t[]AC_SUBST_TRACE(_AC_Var)
+])dnl
+m4_ifndef([AC_DATAROOTDIR_CHECKED], [$ac_datarootdir_hack
+])dnl
+" $ac_file_inputs m4_defn([_AC_SED_CMDS])>$tmp/out
+
+m4_ifndef([AC_DATAROOTDIR_CHECKED],
+[test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[[ ]]*datarootdir[[ ]]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ AC_MSG_WARN([$ac_file contains a reference to the variable `datarootdir'
+which seems to be undefined. Please make sure it is defined.])
+])dnl
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+ esac
+dnl This would break Makefile dependencies:
+dnl if diff $ac_file "$tmp/out" >/dev/null 2>&1; then
+dnl echo "$ac_file is unchanged"
+dnl else
+dnl rm -f $ac_file; mv "$tmp/out" $ac_file
+dnl fi
+])# _AC_OUTPUT_FILE
## ----------------------- ##
-# _AC_CONFIG_HEADER(HEADER, [COMMANDS])
-# -------------------------------------
-# See below.
-m4_define([_AC_CONFIG_HEADER],
-[_AC_CONFIG_UNIQUE([$1])dnl
-m4_append([AC_LIST_HEADERS], [ $1])dnl
-_AC_CONFIG_DEPENDENCIES([$1])dnl
-dnl Register the commands
-m4_ifval([$2],
-[m4_append([AC_LIST_HEADERS_COMMANDS],
-[ ]m4_bpatsubst([$1], [:.*])[ ) $2 ;;
-])])dnl
-])
-
-
# AC_CONFIG_HEADERS(HEADERS..., [COMMANDS], [INIT-CMDS])
# ------------------------------------------------------
# Specify that the HEADERS are to be created by instantiation of the
-# AC_DEFINEs. Associate the COMMANDS to the HEADERS. This macro
-# accumulates if called several times.
+# AC_DEFINEs.
#
-# The commands are stored in a growing string AC_LIST_HEADERS_COMMANDS
-# which should be used like this:
-#
-# case $ac_file in
-# AC_LIST_HEADERS_COMMANDS
-# esac
-AC_DEFUN([AC_CONFIG_HEADERS],
-[AC_FOREACH([AC_File], [$1], [_AC_CONFIG_HEADER(m4_defn([AC_File]), [$2])])dnl
-_AC_CONFIG_COMMANDS_INIT([$3])dnl
-ac_config_headers="$ac_config_headers m4_normalize([$1])"
-])
-
-# Initialize to empty. It is much easier and uniform to have a config
-# list expand to empty when undefined, instead of special casing when
-# not defined (since in this case, AC_CONFIG_FOO expands to AC_CONFIG_FOO).
-m4_define([AC_LIST_HEADERS])
-m4_define([AC_LIST_HEADERS_COMMANDS])
+AC_DEFUN([AC_CONFIG_HEADERS], [_AC_CONFIG_FOOS([HEADERS], $@)])
# AC_CONFIG_HEADER(HEADER-TO-CREATE ...)
[AC_CONFIG_HEADERS([$1])])
-# _AC_OUTPUT_HEADERS
-# ------------------
+# _AC_OUTPUT_HEADER
+# -----------------
#
# Output the code which instantiates the `config.h' files from their
# `config.h.in'.
#
-# This is a subroutine of _AC_OUTPUT_CONFIG_STATUS. It has to send
-# itself into $CONFIG_STATUS (eg, via here documents). Upon exit, no
-# here document shall be opened.
-#
+# This macro is expanded inside a here document. If the here document is
+# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
#
-# The code produced used to be extremely costly: there are was a
-# single sed script (n lines) handling both `#define' templates,
-# `#undef' templates with trailing space, and `#undef' templates
-# without trailing spaces. The full script was run on each of the m
-# lines of `config.h.in', i.e., about n x m.
-#
-# Now there are two scripts: `conftest.defines' for the `#define'
-# templates, and `conftest.undef' for the `#undef' templates.
-#
-# Optimization 1. It is incredibly costly to run two `#undef'
-# scripts, so just remove trailing spaces first. Removes about a
-# third of the cost.
-#
-# Optimization 2. Since `#define' are rare and obsoleted,
-# `conftest.defines' is built and run only if grep says there are
-# `#define'. Improves by at least a factor 2, since in addition we
-# avoid the cost of *producing* the sed script.
-#
-# Optimization 3. In each script, first check that the current input
-# line is a template. This avoids running the full sed script on
-# empty lines and comments (divides the cost by about 3 since each
-# template chunk is typically a comment, a template, an empty line).
-#
-# Optimization 4. Once a substitution performed, since there can be
-# only one per line, immediately restart the script on the next input
-# line (using the `t' sed instruction). Divides by about 2.
-# *Note:* In the case of the AC_SUBST sed script (_AC_OUTPUT_FILES)
-# this optimization cannot be applied as is, because there can be
-# several substitutions per line.
-#
-#
-# The result is about, hm, ... times blah... plus.... Ahem. The
-# result is about much faster.
-m4_define([_AC_OUTPUT_HEADERS],
-[cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-dnl Double quote for the `[ ]' and `define'.
-[ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t']
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[[^:]]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[[^:]]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && AC_MSG_NOTICE([creating $ac_file])
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [[\\/$]]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || AC_MSG_ERROR([cannot find input file: $f])
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- AC_MSG_ERROR([cannot find input file: $f])
- fi;;
- esac
- done` || AS_EXIT([1])
- # Remove the trailing spaces.
- sed 's/[[ ]]*$//' $ac_file_inputs >$tmp/in
-
+m4_define([_AC_OUTPUT_HEADER],
+[
+ #
+ # CONFIG_HEADER
+ #
_ACEOF
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-dnl Double quote for `[ ]' and `define'.
-[s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end]
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status. If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless. But do not sort them, since the last
+# AC_DEFINE must be honored.
+dnl
+dnl Quote, for `[ ]' and `define'.
+[ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
+ac_dB='\\)[ (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,']
+dnl ac_dD used to contain `;t' at the end, but that was both slow and incorrect.
+dnl 1) Since the script must be broken into chunks containing 100 commands,
+dnl the extra command meant extra calls to sed.
+dnl 2) The code was incorrect: in the unusual case where a symbol has multiple
+dnl different AC_DEFINEs, the last one should be honored.
+dnl
+dnl ac_dB works because every line has a space appended. ac_dD reinserts
+dnl the space, because some symbol may have been AC_DEFINEd several times.
+dnl
+dnl The first use of ac_dA has a space prepended, so that the second
+dnl use does not match the initial 's' of $ac_dA.
+[
+uniq confdefs.h |
+ sed -n '
+ t rset
+ :rset
+ s/^[ ]*#[ ]*define[ ][ ]*//
+ t ok
+ d
+ :ok
+ s/[\\&,]/\\&/g
+ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+ ' >>conftest.defines
+]
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments. This is necessary, for
# example, in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-[s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,]
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep ["^[ ]*#[ ]*define"] $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+[s,^[ #]*u.*,/* & */,]' >>conftest.defines
+
+# Break up conftest.defines:
+dnl If we cared only about not exceeding line count limits, we would use this:
+dnl ac_max_sed_lines=m4_eval(_AC_SED_CMD_LIMIT - 3)
+dnl But in practice this can generate scripts that contain too many bytes;
+dnl and this can cause obscure 'sed' failures, e.g.,
+dnl http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00127.html
+dnl So instead, we use the following, which is about half the size we'd like:
+ac_max_sed_lines=50
+dnl In the future, let's use awk or sh instead of sed to do substitutions,
+dnl since we have so many problems with sed.
+
+# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo ['/^[ ]*#[ ]*define/!b'] >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+ # Write a here document:
+ dnl Quote, for the `[ ]' and `define'.
+[ cat >>$CONFIG_STATUS <<_ACEOF
+ # First, check the format of the line:
+ cat >"\$tmp/defines.sed" <<\\CEOF
+/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
+/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
+b
+:def
+_ACEOF]
+ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+ grep . conftest.tail >/dev/null || break
rm -f conftest.defines
mv conftest.tail conftest.defines
done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo ['/^[ ]*#[ ]*undef/!b'] >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
+rm -f conftest.defines conftest.tail
dnl Now back to your regularly scheduled config.status.
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+ echo "/* $configure_input */" >"$tmp/config.h"
+ cat "$ac_result" >>"$tmp/config.h"
+ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
AC_MSG_NOTICE([$ac_file is unchanged])
else
- ac_dir=`AS_DIRNAME(["$ac_file"])`
- AS_MKDIR_P(["$ac_dir"])
rm -f $ac_file
- mv $tmp/config.h $ac_file
+ mv "$tmp/config.h" $ac_file
fi
else
- cat $tmp/config.h
- rm -f $tmp/config.h
+ echo "/* $configure_input */"
+ cat "$ac_result"
fi
+ rm -f "$tmp/out[12]"
dnl If running for Automake, be ready to perform additional
dnl commands to set up the timestamp files.
m4_ifdef([_AC_AM_CONFIG_HEADER_HOOK],
[_AC_AM_CONFIG_HEADER_HOOK([$ac_file])
])dnl
-m4_ifset([AC_LIST_HEADERS_COMMANDS],
-[ # Run the commands associated with the file.
- case $ac_file in
-AC_LIST_HEADERS_COMMANDS()dnl
- esac
-])dnl
-done
-_ACEOF
-])# _AC_OUTPUT_HEADERS
+])# _AC_OUTPUT_HEADER
## --------------------- ##
-# _AC_CONFIG_LINK(DEST:SOURCE, [COMMANDS])
-# ----------------------------------------
-# See below.
-m4_define([_AC_CONFIG_LINK],
-[_AC_CONFIG_UNIQUE([$1])dnl
-m4_append([AC_LIST_LINKS], [ $1])dnl
-_AC_CONFIG_DEPENDENCIES([$1])dnl
-m4_bmatch([$1], [^\.:\| \.:], [m4_fatal([$0: invalid destination: `.'])])dnl
-dnl Register the commands
-m4_ifval([$2],
-[m4_append([AC_LIST_LINKS_COMMANDS],
-[ ]m4_bpatsubst([$1], [:.*])[ ) $2 ;;
-])])dnl
-])
-
# AC_CONFIG_LINKS(DEST:SOURCE..., [COMMANDS], [INIT-CMDS])
# --------------------------------------------------------
# Specify that config.status should establish a (symbolic if possible)
# link from TOP_SRCDIR/SOURCE to TOP_SRCDIR/DEST.
# Reject DEST=., because it is makes it hard for ./config.status
# to guess the links to establish (`./config.status .').
-AC_DEFUN([AC_CONFIG_LINKS],
-[AC_FOREACH([AC_File], [$1], [_AC_CONFIG_LINK(m4_defn([AC_File]), [$2])])dnl
-_AC_CONFIG_COMMANDS_INIT([$3])dnl
-ac_config_links="$ac_config_links m4_normalize([$1])"
-])
-
-
-# Initialize the list.
-m4_define([AC_LIST_LINKS])
-m4_define([AC_LIST_LINKS_COMMANDS])
+#
+AC_DEFUN([AC_CONFIG_LINKS], [_AC_CONFIG_FOOS([LINKS], $@)])
# AC_LINK_FILES(SOURCE..., DEST...)
# interest in creating config links with literal values, no special
# mechanism is implemented to handle them.
#
-# _AC_LINK_CNT is used to be robust to multiple calls.
+# _AC_LINK_FILES_CNT is used to be robust to multiple calls.
AU_DEFUN([AC_LINK_FILES],
[m4_if($#, 2, ,
[m4_fatal([$0: incorrect number of arguments])])dnl
+m4_define_default([_AC_LINK_FILES_CNT], 0)dnl
m4_define([_AC_LINK_FILES_CNT], m4_incr(_AC_LINK_FILES_CNT))dnl
ac_sources="$1"
ac_dests="$2"
done
AC_CONFIG_LINKS($[ac_config_links_]_AC_LINK_FILES_CNT)dnl
],
-[
- It is technically impossible to `autoupdate' cleanly from AC_LINK_FILES
- to AC_CONFIG_FILES. `autoupdate' provides a functional but inelegant
- update, you should probably tune the result yourself.])# AC_LINK_FILES
+[It is technically impossible to `autoupdate' cleanly from AC_LINK_FILES
+to AC_CONFIG_LINKS. `autoupdate' provides a functional but inelegant
+update, you should probably tune the result yourself.])# AC_LINK_FILES
-# Initialize.
-AU_DEFUN([_AC_LINK_FILES_CNT], 0)
-
-# _AC_OUTPUT_LINKS
-# ----------------
-# This is a subroutine of AC_OUTPUT.
-#
-# It has to send itself into $CONFIG_STATUS (eg, via here documents).
-# Upon exit, no here document shall be opened.
-m4_define([_AC_OUTPUT_LINKS],
-[cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_LINKS section.
-#
-
-dnl Here we use : instead of .. because if AC_LINK_FILES was used
-dnl with empty parameters (as in gettext.m4), then we obtain here
-dnl `:', which we want to skip. So let's keep a single exception: `:'.
-for ac_file in : $CONFIG_LINKS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[[^:]]*:,,'`
+# _AC_OUTPUT_LINK
+# ---------------
+# This macro is expanded inside a here document. If the here document is
+# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+m4_define([_AC_OUTPUT_LINK],
+[
+ #
+ # CONFIG_LINK
+ #
- AC_MSG_NOTICE([linking $srcdir/$ac_source to $ac_dest])
+ AC_MSG_NOTICE([linking $srcdir/$ac_source to $ac_file])
- if test ! -r $srcdir/$ac_source; then
+ if test ! -r "$srcdir/$ac_source"; then
AC_MSG_ERROR([$srcdir/$ac_source: file not found])
fi
- rm -f $ac_dest
-
- # Make relative symlinks.
- ac_dest_dir=`AS_DIRNAME(["$ac_dest"])`
- AS_MKDIR_P(["$ac_dest_dir"])
- _AC_SRCPATHS(["$ac_dest_dir"])
+ rm -f "$ac_file"
+ # Try a relative symlink, then a hard link, then a copy.
case $srcdir in
[[\\/$]]* | ?:[[\\/]]* ) ac_rel_source=$srcdir/$ac_source ;;
- *) ac_rel_source=$ac_top_builddir$srcdir/$ac_source ;;
+ *) ac_rel_source=$ac_top_build_prefix$srcdir/$ac_source ;;
esac
+ ln -s "$ac_rel_source" "$ac_file" 2>/dev/null ||
+ ln "$srcdir/$ac_source" "$ac_file" 2>/dev/null ||
+ cp -p "$srcdir/$ac_source" "$ac_file" ||
+ AC_MSG_ERROR([cannot link or copy $srcdir/$ac_source to $ac_file])
+])# _AC_OUTPUT_LINK
- # Try a symlink, then a hard link, then a copy.
- ln -s $ac_rel_source $ac_dest 2>/dev/null ||
- ln $srcdir/$ac_source $ac_dest 2>/dev/null ||
- cp -p $srcdir/$ac_source $ac_dest ||
- AC_MSG_ERROR([cannot link or copy $srcdir/$ac_source to $ac_dest])
-m4_ifset([AC_LIST_LINKS_COMMANDS],
-[ # Run the commands associated with the file.
- case $ac_file in
-AC_LIST_LINKS_COMMANDS()dnl
- esac
-])dnl
-done
-_ACEOF
-])# _AC_OUTPUT_LINKS
+## ------------------------ ##
+## Configuration commands. ##
+## ------------------------ ##
-## --------------------- ##
-## Configuration files. ##
-## --------------------- ##
+# AC_CONFIG_COMMANDS(NAME...,[COMMANDS], [INIT-CMDS])
+# ---------------------------------------------------
+#
+# Specify additional commands to be run by config.status. This
+# commands must be associated with a NAME, which should be thought
+# as the name of a file the COMMANDS create.
+#
+AC_DEFUN([AC_CONFIG_COMMANDS], [_AC_CONFIG_FOOS([COMMANDS], $@)])
-# _AC_CONFIG_FILE(FILE..., [COMMANDS])
-# ------------------------------------
-# See below.
-m4_define([_AC_CONFIG_FILE],
-[_AC_CONFIG_UNIQUE([$1])dnl
-m4_append([AC_LIST_FILES], [ $1])dnl
-_AC_CONFIG_DEPENDENCIES([$1])dnl
-dnl Register the commands.
-m4_ifval([$2],
-[m4_append([AC_LIST_FILES_COMMANDS],
-[ ]m4_bpatsubst([$1], [:.*])[ ) $2 ;;
-])])dnl
-])
-# AC_CONFIG_FILES(FILE..., [COMMANDS], [INIT-CMDS])
-# -------------------------------------------------
-# Specify output files, as with AC_OUTPUT, i.e., files that are
-# configured with AC_SUBST. Associate the COMMANDS to each FILE,
-# i.e., when config.status creates FILE, run COMMANDS afterwards.
+# AC_OUTPUT_COMMANDS(EXTRA-CMDS, INIT-CMDS)
+# -----------------------------------------
#
-# The commands are stored in a growing string AC_LIST_FILES_COMMANDS
-# which should be used like this:
+# Add additional commands for AC_OUTPUT to put into config.status.
#
-# case $ac_file in
-# AC_LIST_FILES_COMMANDS
-# esac
-AC_DEFUN([AC_CONFIG_FILES],
-[AC_FOREACH([AC_File], [$1], [_AC_CONFIG_FILE(m4_defn([AC_File]), [$2])])dnl
-_AC_CONFIG_COMMANDS_INIT([$3])dnl
-ac_config_files="$ac_config_files m4_normalize([$1])"
+# This macro is an obsolete version of AC_CONFIG_COMMANDS. The only
+# difficulty in mapping AC_OUTPUT_COMMANDS to AC_CONFIG_COMMANDS is
+# to give a unique key. The scheme we have chosen is `default-1',
+# `default-2' etc. for each call.
+#
+# Unfortunately this scheme is fragile: bad things might happen
+# if you update an included file and configure.ac: you might have
+# clashes :( On the other hand, I'd like to avoid weird keys (e.g.,
+# depending upon __file__ or the pid).
+AU_DEFUN([AC_OUTPUT_COMMANDS],
+[m4_define_default([_AC_OUTPUT_COMMANDS_CNT], 0)dnl
+m4_define([_AC_OUTPUT_COMMANDS_CNT], m4_incr(_AC_OUTPUT_COMMANDS_CNT))dnl
+dnl Double quoted since that was the case in the original macro.
+AC_CONFIG_COMMANDS([default-]_AC_OUTPUT_COMMANDS_CNT, [[$1]], [[$2]])dnl
])
-# Initialize the lists.
-m4_define([AC_LIST_FILES])
-m4_define([AC_LIST_FILES_COMMANDS])
-
+# _AC_OUTPUT_COMMAND
+# ------------------
+# This macro is expanded inside a here document. If the here document is
+# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+m4_define([_AC_OUTPUT_COMMAND],
+[ AC_MSG_NOTICE([executing $ac_file commands])
+])
-# _AC_OUTPUT_FILES
-# ----------------
-# Do the variable substitutions to create the Makefiles or whatever.
-# This is a subroutine of AC_OUTPUT.
-#
-# It has to send itself into $CONFIG_STATUS (eg, via here documents).
-# Upon exit, no here document shall be opened.
-m4_define([_AC_OUTPUT_FILES],
-[cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
-dnl Please, pay attention that this sed code depends a lot on the shape
-dnl of the sed commands issued by AC_SUBST. So if you change one, change
-dnl the other too.
-[ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF]
-dnl These here document variables are unquoted when configure runs
-dnl but quoted when config.status runs, so variables are expanded once.
-dnl Insert the sed substitutions of variables.
-m4_ifdef([_AC_SUBST_VARS],
- [AC_FOREACH([AC_Var], m4_defn([_AC_SUBST_VARS]),
-[s,@AC_Var@,$AC_Var,;t t
-])])dnl
-m4_ifdef([_AC_SUBST_FILES],
- [AC_FOREACH([AC_Var], m4_defn([_AC_SUBST_FILES]),
-[/@AC_Var@/r $AC_Var
-s,@AC_Var@,,;t t
-])])dnl
-CEOF
-_ACEOF
+## -------------------------------------- ##
+## Pre- and post-config.status commands. ##
+## -------------------------------------- ##
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
-dnl One cannot portably go further than 100 commands because of HP-UX.
-dnl Here, there are 2 cmd per line, and two cmd are added later.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo [':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b'] && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[[^:]]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[[^:]]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
+# AC_CONFIG_COMMANDS_PRE(CMDS)
+# ----------------------------
+# Commands to run right before config.status is created. Accumulates.
+AC_DEFUN([AC_CONFIG_COMMANDS_PRE],
+[m4_append([AC_OUTPUT_COMMANDS_PRE], [$1
+])])
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`AS_DIRNAME(["$ac_file"])`
- AS_MKDIR_P(["$ac_dir"])
- _AC_SRCPATHS(["$ac_dir"])
-AC_PROVIDE_IFELSE([AC_PROG_INSTALL],
-[ case $INSTALL in
- [[\\/$]]* | ?:[[\\/]]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-])dnl
+# AC_OUTPUT_COMMANDS_PRE
+# ----------------------
+# A *variable* in which we append all the actions that must be
+# performed before *creating* config.status. For a start, clean
+# up all the LIBOBJ mess.
+m4_define([AC_OUTPUT_COMMANDS_PRE],
+[_AC_LIBOBJS_NORMALIZE
+])
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [[\\/$]]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || AC_MSG_ERROR([cannot find input file: $f])
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- AC_MSG_ERROR([cannot find input file: $f])
- fi;;
- esac
- done` || AS_EXIT([1])
- if test x"$ac_file" != x-; then
- AC_MSG_NOTICE([creating $ac_file])
- rm -f "$ac_file"
- fi
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-dnl Neutralize VPATH when `$srcdir' = `.'.
- sed "$ac_vpsub
-dnl Shell code in configure.ac might set extrasub.
-dnl FIXME: do we really want to maintain this feature?
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-[/@[a-zA-Z_][a-zA-Z_0-9]*@/!b]
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-AC_PROVIDE_IFELSE([AC_PROG_INSTALL], [s,@INSTALL@,$ac_INSTALL,;t t
-])dnl
-dnl The parens around the eval prevent an "illegal io" in Ultrix sh.
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
-dnl This would break Makefile dependencies.
-dnl if diff $ac_file $tmp/out >/dev/null 2>&1; then
-dnl echo "$ac_file is unchanged"
-dnl else
-dnl rm -f $ac_file
-dnl mv $tmp/out $ac_file
-dnl fi
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
+# AC_CONFIG_COMMANDS_POST(CMDS)
+# -----------------------------
+# Commands to run after config.status was created. Accumulates.
+AC_DEFUN([AC_CONFIG_COMMANDS_POST],
+[m4_append([AC_OUTPUT_COMMANDS_POST], [$1
+])])
-m4_ifset([AC_LIST_FILES_COMMANDS],
-[ # Run the commands associated with the file.
- case $ac_file in
-AC_LIST_FILES_COMMANDS()dnl
- esac
-])dnl
-done
-_ACEOF
-])# _AC_OUTPUT_FILES
+# Initialize.
+m4_define([AC_OUTPUT_COMMANDS_POST])
# AC_CONFIG_SUBDIRS(DIR ...)
# --------------------------
# We define two variables:
-# - ac_subdirs_all
-# is built in the `default' section, and should contain *all*
-# the arguments of AC_CONFIG_SUBDIRS. It is used for --help=recursive.
+# - _AC_LIST_SUBDIRS
+# A statically built list, should contain *all* the arguments of
+# AC_CONFIG_SUBDIRS. The final value is assigned to ac_subdirs_all in
+# the `default' section, and used for --help=recursive.
+# It is also used in _AC_CONFIG_UNIQUE.
# It makes no sense for arguments which are sh variables.
# - subdirs
-# which is built at runtime, so some of these dirs might not be
+# Shell variable built at runtime, so some of these dirs might not be
# included, if for instance the user refused a part of the tree.
# This is used in _AC_OUTPUT_SUBDIRS.
-# _AC_LIST_SUBDIRS is used only for _AC_CONFIG_UNIQUE.
AC_DEFUN([AC_CONFIG_SUBDIRS],
-[_AC_CONFIG_UNIQUE([$1])dnl
-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-m4_append([_AC_LIST_SUBDIRS], [ $1])dnl
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+m4_foreach_w([_AC_Sub], [$1],
+ [_AC_CONFIG_UNIQUE([SUBDIRS],
+ m4_bpatsubst(m4_defn([_AC_Sub]), [:.*]))])dnl
+m4_append([_AC_LIST_SUBDIRS], [$1], [
+])dnl
AS_LITERAL_IF([$1], [],
- [AC_DIAGNOSE(syntax, [$0: you should use literals])])
-m4_divert_text([DEFAULTS],
- [ac_subdirs_all="$ac_subdirs_all m4_normalize([$1])"])
-AC_SUBST(subdirs, "$subdirs $1")dnl
+ [AC_DIAGNOSE([syntax], [$0: you should use literals])])dnl
+AC_SUBST([subdirs], ["$subdirs m4_normalize([$1])"])dnl
])
-# Initialize the list.
-m4_define([_AC_LIST_SUBDIRS])
-
# _AC_OUTPUT_SUBDIRS
# ------------------
# Remove --cache-file and --srcdir arguments so they do not pile up.
ac_sub_configure_args=
ac_prev=
- for ac_arg in $ac_configure_args; do
+ eval "set x $ac_configure_args"
+ shift
+ for ac_arg
+ do
if test -n "$ac_prev"; then
ac_prev=
continue
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
;;
- *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
+ *)
+ case $ac_arg in
+ *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;;
esac
done
# Always prepend --prefix to ensure using the same prefix
# in subdir configurations.
- ac_sub_configure_args="--prefix=$prefix $ac_sub_configure_args"
+ ac_arg="--prefix=$prefix"
+ case $ac_arg in
+ *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
+
+ # Pass --silent
+ if test "$silent" = yes; then
+ ac_sub_configure_args="--silent $ac_sub_configure_args"
+ fi
ac_popdir=`pwd`
for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
# Do not complain, so a configure script can configure whichever
# parts of a large source tree are present.
- test -d $srcdir/$ac_dir || continue
+ test -d "$srcdir/$ac_dir" || continue
- AC_MSG_NOTICE([configuring in $ac_dir])
+ ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
+ _AS_ECHO_LOG([$ac_msg])
+ _AS_ECHO([$ac_msg])
AS_MKDIR_P(["$ac_dir"])
- _AC_SRCPATHS(["$ac_dir"])
+ _AC_SRCDIRS(["$ac_dir"])
- cd $ac_dir
+ cd "$ac_dir"
# Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- ac_sub_configure="$SHELL '$ac_srcdir/configure.gnu'"
- elif test -f $ac_srcdir/configure; then
- ac_sub_configure="$SHELL '$ac_srcdir/configure'"
- elif test -f $ac_srcdir/configure.in; then
- ac_sub_configure=$ac_configure
+ if test -f "$ac_srcdir/configure.gnu"; then
+ ac_sub_configure=$ac_srcdir/configure.gnu
+ elif test -f "$ac_srcdir/configure"; then
+ ac_sub_configure=$ac_srcdir/configure
+ elif test -f "$ac_srcdir/configure.in"; then
+ # This should be Cygnus configure.
+ ac_sub_configure=$ac_aux_dir/configure
else
AC_MSG_WARN([no configuration information is in $ac_dir])
ac_sub_configure=
# Make the cache file name correct relative to the subdirectory.
case $cache_file in
[[\\/]]* | ?:[[\\/]]* ) ac_sub_cache_file=$cache_file ;;
- *) # Relative path.
- ac_sub_cache_file=$ac_top_builddir$cache_file ;;
+ *) # Relative name.
+ ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
esac
- AC_MSG_NOTICE([running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir])
+ AC_MSG_NOTICE([running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir])
# The eval makes quoting arguments work.
- eval $ac_sub_configure $ac_sub_configure_args \
- --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir ||
+ eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
+ --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
AC_MSG_ERROR([$ac_sub_configure failed for $ac_dir])
fi
## -------------------------- ##
-# autoupdate::AC_OUTPUT([CONFIG_FILES...], [EXTRA-CMDS], [INIT-CMDS])
-# -------------------------------------------------------------------
+# AU::AC_OUTPUT([CONFIG_FILES...], [EXTRA-CMDS], [INIT-CMDS])
+# -----------------------------------------------------------
#
# If there are arguments given to AC_OUTPUT, dispatch them to the
# proper modern macros.
[m4_ifvaln([$1],
[AC_CONFIG_FILES([$1])])dnl
m4_ifvaln([$2$3],
- [AC_CONFIG_COMMANDS(default, [[$2]], [[$3]])])dnl
+ [AC_CONFIG_COMMANDS(default, [$2], [$3])])dnl
[AC_OUTPUT]])
# -------------------------------------------------------
# The big finish.
# Produce config.status, config.h, and links; and configure subdirs.
-# The CONFIG_HEADERS are defined in the m4 variable AC_LIST_HEADERS.
-# Pay special attention not to have too long here docs: some old
-# shells die. Unfortunately the limit is not known precisely...
+#
m4_define([AC_OUTPUT],
[dnl Dispatch the extra arguments to their native macros.
-m4_ifval([$1],
- [AC_CONFIG_FILES([$1])])dnl
-m4_ifval([$2$3],
- [AC_CONFIG_COMMANDS(default, [$2], [$3])])dnl
+m4_ifvaln([$1],
+ [AC_CONFIG_FILES([$1])])dnl
+m4_ifvaln([$2$3],
+ [AC_CONFIG_COMMANDS(default, [$2], [$3])])dnl
m4_ifval([$1$2$3],
[AC_DIAGNOSE([obsolete],
[$0 should be used without arguments.
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub=['/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}']
-fi
-
-m4_ifset([AC_LIST_HEADERS], [DEFS=-DHAVE_CONFIG_H], [AC_OUTPUT_MAKE_DEFS()])
+m4_ifdef([_AC_SEEN_CONFIG(HEADERS)], [DEFS=-DHAVE_CONFIG_H], [AC_OUTPUT_MAKE_DEFS()])
dnl Commands to run before creating config.status.
AC_OUTPUT_COMMANDS_PRE()dnl
# shells die. Unfortunately the limit is not known precisely...
m4_define([_AC_OUTPUT_CONFIG_STATUS],
[AC_MSG_NOTICE([creating $CONFIG_STATUS])
+dnl AS_MESSAGE_LOG_FD is not available yet:
+m4_rename([AS_MESSAGE_LOG_FD], [_AC_save_AS_MESSAGE_LOG_FD])dnl
cat >$CONFIG_STATUS <<_ACEOF
#! $SHELL
# Generated by $as_me.
_AS_PREPARE
exec AS_MESSAGE_FD>&1
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec AS_MESSAGE_LOG_FD>>config.log
-{
- echo
- AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-cat >&AS_MESSAGE_LOG_FD <<_CSEOF
-
+# values after options handling.
+ac_log="
This file was extended by m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])dnl
$as_me[]m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]), which was
generated by m4_PACKAGE_STRING. Invocation command line was
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $[0] $[@]
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&AS_MESSAGE_LOG_FD
-echo >&AS_MESSAGE_LOG_FD
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
+m4_ifdef([_AC_SEEN_CONFIG(FILES)],
+[config_files="$ac_config_files"
+])dnl
+m4_ifdef([_AC_SEEN_CONFIG(HEADERS)],
+[config_headers="$ac_config_headers"
+])dnl
+m4_ifdef([_AC_SEEN_CONFIG(LINKS)],
+[config_links="$ac_config_links"
+])dnl
+m4_ifdef([_AC_SEEN_CONFIG(COMMANDS)],
+[config_commands="$ac_config_commands"
+])dnl
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
+_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
-
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
Usage: $[0] [[OPTIONS]] [[FILE]]...
-h, --help print this help, then exit
- -V, --version print version number, then exit
+ -V, --version print version number and configuration settings, then exit
-q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
-m4_ifset([AC_LIST_FILES],
+m4_ifdef([_AC_SEEN_CONFIG(FILES)],
[[ --file=FILE[:TEMPLATE]
instantiate the configuration file FILE
]])dnl
-m4_ifset([AC_LIST_HEADERS],
+m4_ifdef([_AC_SEEN_CONFIG(HEADERS)],
[[ --header=FILE[:TEMPLATE]
instantiate the configuration header FILE
]])dnl
-m4_ifset([AC_LIST_FILES],
+m4_ifdef([_AC_SEEN_CONFIG(FILES)],
[Configuration files:
$config_files
])dnl
-m4_ifset([AC_LIST_HEADERS],
+m4_ifdef([_AC_SEEN_CONFIG(HEADERS)],
[Configuration headers:
$config_headers
])dnl
-m4_ifset([AC_LIST_LINKS],
+m4_ifdef([_AC_SEEN_CONFIG(LINKS)],
[Configuration links:
$config_links
])dnl
-m4_ifset([AC_LIST_COMMANDS],
+m4_ifdef([_AC_SEEN_CONFIG(COMMANDS)],
[Configuration commands:
$config_commands
])dnl
Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
+_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.status[]dnl
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING,
- with options \\"`echo "$ac_configure_args" | sed 's/[[\\""\`\$]]/\\\\&/g'`\\"
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[[\\""\`\$]]/\\\\&/g'`\\"
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
AC_PROVIDE_IFELSE([AC_PROG_INSTALL],
-[dnl Leave those double quotes here: this $INSTALL is evaluated in a
-dnl here document, which might result in `INSTALL=/bin/install -c'.
-INSTALL="$INSTALL"
+[INSTALL='$INSTALL'
+])dnl
+AC_PROVIDE_IFELSE([AC_PROG_MKDIR_P],
+[MKDIR_P='$MKDIR_P'
])dnl
_ACEOF
do
case $[1] in
--*=*)
- ac_option=`expr "x$[1]" : 'x\([[^=]]*\)='`
- ac_optarg=`expr "x$[1]" : 'x[[^=]]*=\(.*\)'`
+ ac_option=`expr "X$[1]" : 'X\([[^=]]*\)='`
+ ac_optarg=`expr "X$[1]" : 'X[[^=]]*=\(.*\)'`
ac_shift=:
;;
- -*)
+ *)
ac_option=$[1]
ac_optarg=$[2]
ac_shift=shift
;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$[1]
- ac_need_defaults=false;;
esac
case $ac_option in
# Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- AC_MSG_ERROR([ambiguous option: $[1]
-Try `$[0] --help' for more information.]);;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
debug=: ;;
+m4_ifdef([_AC_SEEN_CONFIG(FILES)], [dnl
--file | --fil | --fi | --f )
$ac_shift
CONFIG_FILES="$CONFIG_FILES $ac_optarg"
ac_need_defaults=false;;
+])dnl
+m4_ifdef([_AC_SEEN_CONFIG(HEADERS)], [dnl
--header | --heade | --head | --hea )
$ac_shift
CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ AC_MSG_ERROR([ambiguous option: $[1]
+Try `$[0] --help' for more information.]);;
+], [ --he | --h |])dnl
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
-*) AC_MSG_ERROR([unrecognized option: $[1]
Try `$[0] --help' for more information.]) ;;
- *) ac_config_targets="$ac_config_targets $[1]" ;;
+ *) ac_config_targets="$ac_config_targets $[1]"
+ ac_need_defaults=false ;;
esac
shift
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
+dnl Check this before opening the log, to avoid a bug on MinGW,
+dnl which prohibits the recursive instance from truncating an open log.
if \$ac_cs_recheck; then
- echo "running $SHELL $[0] " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&AS_MESSAGE_FD
- exec $SHELL $[0] $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ echo "running CONFIG_SHELL=$SHELL $SHELL $[0] "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&AS_MESSAGE_FD
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$[0]"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
fi
_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+dnl Open the log:
+m4_rename([_AC_save_AS_MESSAGE_LOG_FD], [AS_MESSAGE_LOG_FD])dnl
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+ echo "$ac_log"
+} >&AS_MESSAGE_LOG_FD
-dnl We output the INIT-CMDS first for obvious reasons :)
-m4_ifset([_AC_OUTPUT_COMMANDS_INIT],
-[cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS section.
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+m4_ifdef([_AC_OUTPUT_COMMANDS_INIT],
+[#
+# INIT-COMMANDS
#
+_AC_OUTPUT_COMMANDS_INIT
+])dnl
+_ACEOF
-_AC_OUTPUT_COMMANDS_INIT()
-_ACEOF])
-
-
-dnl Issue this section only if there were actually config files.
-dnl This checks if one of AC_LIST_HEADERS, AC_LIST_FILES, AC_LIST_COMMANDS,
-dnl or AC_LIST_LINKS is set.
-m4_ifval(AC_LIST_HEADERS()AC_LIST_LINKS()AC_LIST_FILES()AC_LIST_COMMANDS(),
-[
cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
for ac_config_target in $ac_config_targets
do
- case "$ac_config_target" in
- # Handling of arguments.
-AC_FOREACH([AC_File], AC_LIST_FILES,
-[ "m4_bpatsubst(AC_File, [:.*])" )dnl
- CONFIG_FILES="$CONFIG_FILES AC_File" ;;
-])dnl
-AC_FOREACH([AC_File], AC_LIST_LINKS,
-[ "m4_bpatsubst(AC_File, [:.*])" )dnl
- CONFIG_LINKS="$CONFIG_LINKS AC_File" ;;
-])dnl
-AC_FOREACH([AC_File], AC_LIST_COMMANDS,
-[ "m4_bpatsubst(AC_File, [:.*])" )dnl
- CONFIG_COMMANDS="$CONFIG_COMMANDS AC_File" ;;
-])dnl
-AC_FOREACH([AC_File], AC_LIST_HEADERS,
-[ "m4_bpatsubst(AC_File, [:.*])" )dnl
- CONFIG_HEADERS="$CONFIG_HEADERS AC_File" ;;
-])dnl
+ case $ac_config_target in
+m4_ifdef([_AC_LIST_TAGS], [_AC_LIST_TAGS])
*) AC_MSG_ERROR([invalid argument: $ac_config_target]);;
esac
done
+m4_ifdef([_AC_SEEN_CONFIG(ANY)], [_AC_OUTPUT_MAIN_LOOP])[]dnl
+
+AS_EXIT(0)
+_ACEOF
+chmod +x $CONFIG_STATUS
+])# _AC_OUTPUT_CONFIG_STATUS
+
+# _AC_OUTPUT_MAIN_LOOP
+# --------------------
+# The main loop in $CONFIG_STATUS.
+#
+# This macro is expanded inside a here document. If the here document is
+# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+#
+AC_DEFUN([_AC_OUTPUT_MAIN_LOOP],
+[
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
-m4_ifset([AC_LIST_FILES],
+m4_ifdef([_AC_SEEN_CONFIG(FILES)],
[ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
])dnl
-m4_ifset([AC_LIST_HEADERS],
+m4_ifdef([_AC_SEEN_CONFIG(HEADERS)],
[ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
])dnl
-m4_ifset([AC_LIST_LINKS],
+m4_ifdef([_AC_SEEN_CONFIG(LINKS)],
[ test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links
])dnl
-m4_ifset([AC_LIST_COMMANDS],
+m4_ifdef([_AC_SEEN_CONFIG(COMMANDS)],
[ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
])dnl
fi
# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
-AS_TMPDIR([confstat], [.])
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap 'AS_EXIT([1])' 1 2 13 15
+}
+dnl The comment above AS_TMPDIR says at most 4 chars are allowed.
+AS_TMPDIR([conf], [.])
+
+m4_ifdef([_AC_SEEN_CONFIG(FILES)], [_AC_OUTPUT_FILES_PREPARE])[]dnl
+
+for ac_tag in[]dnl
+ m4_ifdef([_AC_SEEN_CONFIG(FILES)], [:F $CONFIG_FILES])[]dnl
+ m4_ifdef([_AC_SEEN_CONFIG(HEADERS)], [:H $CONFIG_HEADERS])[]dnl
+ m4_ifdef([_AC_SEEN_CONFIG(LINKS)], [:L $CONFIG_LINKS])[]dnl
+ m4_ifdef([_AC_SEEN_CONFIG(COMMANDS)], [:C $CONFIG_COMMANDS])
+do
+ case $ac_tag in
+ :[[FHLC]]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[[FHL]]*:*);;
+ :L* | :C*:*) AC_MSG_ERROR([Invalid tag $ac_tag.]);;
+ :[[FH]]-) ac_tag=-:-;;
+ :[[FH]]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$[1]
+ shift
-_ACEOF
-])[]dnl m4_ifval
+ case $ac_mode in
+ :L) ac_source=$[1];;
+ :[[FH]])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [[\\/$]]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ AC_MSG_ERROR([cannot find input file: $ac_f]);;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $[*] | sed ['s|^[^:]*/||;s|:[^:]*/|, |g']`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ AC_MSG_NOTICE([creating $ac_file])
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
+ esac
-dnl The following four sections are in charge of their own here
-dnl documenting into $CONFIG_STATUS.
-m4_ifset([AC_LIST_FILES], [_AC_OUTPUT_FILES()])dnl
-m4_ifset([AC_LIST_HEADERS], [_AC_OUTPUT_HEADERS()])dnl
-m4_ifset([AC_LIST_LINKS], [_AC_OUTPUT_LINKS()])dnl
-m4_ifset([AC_LIST_COMMANDS], [_AC_OUTPUT_COMMANDS()])dnl
+ ac_dir=`AS_DIRNAME(["$ac_file"])`
+ AS_MKDIR_P(["$ac_dir"])
+ _AC_SRCDIRS(["$ac_dir"])
-cat >>$CONFIG_STATUS <<\_ACEOF
+ case $ac_mode in
+ m4_ifdef([_AC_SEEN_CONFIG(FILES)], [:F)_AC_OUTPUT_FILE ;;])
+ m4_ifdef([_AC_SEEN_CONFIG(HEADERS)], [:H)_AC_OUTPUT_HEADER ;;])
+ m4_ifdef([_AC_SEEN_CONFIG(LINKS)], [:L)_AC_OUTPUT_LINK ;;])
+ m4_ifdef([_AC_SEEN_CONFIG(COMMANDS)], [:C)_AC_OUTPUT_COMMAND ;;])
+ esac
-AS_EXIT(0)
-_ACEOF
-chmod +x $CONFIG_STATUS
-])# _AC_OUTPUT_CONFIG_STATUS
+dnl Some shells don't like empty case/esac
+m4_ifdef([_AC_LIST_TAG_COMMANDS], [
+ case $ac_file$ac_mode in
+_AC_LIST_TAG_COMMANDS
+ esac
+])dnl
+done # for ac_tag
+
+])# _AC_OUTPUT_MAIN_LOOP
# AC_OUTPUT_MAKE_DEFS
# Set the DEFS variable to the -D options determined earlier.
# This is a subroutine of AC_OUTPUT.
# It is called inside configure, outside of config.status.
-# Using a here document instead of a string reduces the quoting nightmare.
m4_define([AC_OUTPUT_MAKE_DEFS],
[[# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
#
# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section. Otherwise,
+# take arguments), then branch to the quote section. Otherwise,
# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
+ac_script='
t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
t quote
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
t quote
-d
-: quote
-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output. A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
]])# AC_OUTPUT_MAKE_DEFS