Commit Graph

398 Commits

Author SHA1 Message Date
Akim Demaille
92cd322dc1 * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH): No use for @%:@ here,
no need to over quote $1 in the comments.
2000-03-14 08:47:48 +00:00
Akim Demaille
9da44165aa * acgeneral.m4: Replace some ifelse with ifval or m4_default, or
even nothing when not needed.
* acspecific.m4: Likewise.
2000-03-14 08:41:15 +00:00
Akim Demaille
324a1d71da * acgeneral.m4 (_AC_INIT_PREPARE): Insert the Autoconf version in
config.log, and the command line which ran configure.
Kill a couple of useless quote around dollars.
2000-03-14 08:37:27 +00:00
Akim Demaille
073f2c710a * acgeneral.m4 (_AC_INIT_PREPARE): Kill a changequote in the
building of `ac_configure_args'.
2000-03-14 08:34:21 +00:00
Akim Demaille
89bcb6496e * acgeneral.m4 (AC_DIVERT): Rename _AC_DIVERT.
(AC_DIVERT): New macro.
Spread its use where better than a pair of AC_DIVERT_PUSH/POP.
2000-03-14 08:33:21 +00:00
Akim Demaille
870e58847d * acgeneral.m4 (_AC_INIT_BINSH): Remove, useless now that...
(AC_REVISION): Require AC_INIT, not _AC_INIT_BINSH.
(AC_INIT): Do what _AC_INIT_BINSH used to.
Don't require _AC_INIT_VERSION, just call it.
Rename as _AC_INIT.
(AC_INIT): New macro, single expansion wrapper around _AC_INIT.
(_AC_COPYRIGHT_SEPARATOR): New.
(AC_COPYRIGHT): Use it.
Require AC_INIT, not _AC_INIT_VERSION.
* doc/autoconf.texi (Versions): Promote as first section of
`Setup'.
Rename as `Notices'.
Document AC_COPYRIGHT.
Don't give false reasons for placing AC_REVISION before AC_INIT,
the place no longer matters.
2000-03-14 08:32:35 +00:00
Akim Demaille
22e43e84f4 * acgeneral.m4: s/@%:@line __oline__/#line __oline__/g. __oline__
is not a macro, so there is just no use in avoiding `#'.
2000-03-14 08:28:20 +00:00
Akim Demaille
00121046aa * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): When there were no
CONFIG_FILES, we had to expand _AC_OUTPUT_FILES into the KILL
diversion, because it is AC_OUTPUT_FILES which undiverted the
AC_SUBST sed script at its proper place, otherwise it would have
been undiverted at the end of `configure', leading to an sh syntax
error.
Now that we no longer use a diversion, we don't need to call
AC_OUTPUT_FILES if useless.
(AC_OUTPUT_FILES): Rename as _AC_OUTPUT_FILES.
(AC_OUTPUT_LINKS): Rename as _AC_OUTPUT_LINKS.
2000-03-14 08:27:19 +00:00
Akim Demaille
970d30e4c6 Formatting changes. 2000-03-14 08:21:48 +00:00
Akim Demaille
a892defcb3 AC_ARG_PROGRAM must not be expanded twice, which is likely since
Automake calls it, and usually users do too.  If it happens,
`--program-prefix=g' actually prepend two (or more) `g'.

* acgeneral.m4 (AC_DEFUN_ONCE): New macro.
(AC_ARG_PROGRAM): AC_DEFUNed_ONCE.  Or is it AC_DEFUN_ONCE'd? :).
No longer AC_EXPAND_ONCE the help string, the macro itself is
expanded at most once.
Rename the here-doc tag EOF_SED as EOF.
2000-03-14 08:20:25 +00:00
Akim Demaille
fca3f1b6f3 Get rid of the ICMDS diversion.
* acgeneral.m4 (AC_DIVERT): Remove ICMDS.
(_AC_OUTPUT_COMMANDS_INIT): New growing string.
(_AC_CONFIG_COMMANDS_INIT, _AC_OUTPUT_CONFIG_STATUS): Adjust.
2000-03-14 08:19:53 +00:00
Akim Demaille
29df07981f Introduce AC_SUBST(VAR, VAL).
* acgeneral.m4 (_AC_INIT_PARSE_ARGS): Stop global double quoting,
failed experiment.
Merge all the var=val AC_SUBST(var) into AC_SUBST(var, val).
(AC_SUBST): Implement support for 2nd arg.
* doc/autoconf.texi (Setting Output Variables): Adjust.
2000-03-14 08:09:32 +00:00
Akim Demaille
6b95f3a59e Simplify the diversions naming system.
Suggested by Alexandre Oliva and Lars J. Aas

* libm4.m4 (ifndef): New macro.
* acgeneral.m4 (AC_DIVERT): New macro, maps a diversion name to
its value.  The diversions now have a short name, e.g., `NOTICE',
instead of the former macros which had long names, e.g.,
`AC_DIVERSION_NOTICE'.
(AC_DIVERT_PUSH): Adjust.
(AC_DIVERT_POP): Use ifndef.
(AC_DIVERSION_CURRENT): Rename as `AC_DIVERT_DIVERSION' to stay
within the `AC_DIVERT' name domain.
Adjust all callers.
* acspecific.m4: Adjust all callers.
2000-03-13 17:52:26 +00:00
Jim Meyering
cad1316125 (_AC_CHECK_TOOL_PREFIX): Correct typos in definition:
add `_' prefix to make the function name match comments and existing
uses.  Remove leading prefix from _AC_CANONICAL_HOST.
2000-03-10 11:32:08 +00:00
Akim Demaille
e7ebd18602 * acgeneral.m4 (AC_PATH_PROG, AC_OUTPUT_FILES, AC_OUTPUT_SUBDIRS):
Fix quotation problems in DOS path handling.
2000-03-08 17:32:40 +00:00
Akim Demaille
fa98a48d2f The argument of AC_COPYRIGHT should be plain text, not an sh
comment.

* libm4.m4 (m4_quote): s/$@/$*/.
* acgeneral.m4 (AC_COPYRIGHT): Prepend `# ' to the lines that goes
on the top of `configure'.  Actually, prepend `@%:@ ' so that
there are as many evaluations on both sides.
(_AC_INIT_VERSION): No longer strip `# '.
2000-03-08 16:13:32 +00:00
Akim Demaille
2e59cf5180 Provide a means to specify more Copyright information in
`configure'.  And after all, it suits to `configure --version' too.

* acgeneral.m4 (AC_DIVERSION_DEFAULTS, AC_DIVERSION_INIT_PREPARE):
New diversion numbers.
(AC_DIVERSION_INIT): Renamed as...
(AC_DIVERSION_INIT_PARSE_ARGS): this.
(AC_DIVERT_POP): Instead of going into wild endless loops when
there are more pops than pushes, die with dignity.
(AC_COPYRIGHT): New macro.
(_AC_INIT_NOTICE): Move definition of `ac_includes_default' from
here...
(_AC_INIT_PREPARE): to here.
(_AC_INIT_NOTICE): Remove.
(AC_INIT): Use it to install Autoconf's Copyright.
(_AC_INIT_DEFAULTS): New macro.
(AC_INIT): Use it.
(AC_PREFIX_DEFAULTS): Dump in AC_DIVERSION_DEFAULTS.
(_AC_INIT_PARSE_ARGS): Dump in AC_DIVERSION_INIT_PREPARE.
2000-03-08 13:22:42 +00:00
Akim Demaille
e91ec0e779 Leave a diversion exclusively for Copyright notices.
* acgeneral.m4 (AC_DIVERSION_DEFAULTS): New diversion number.
(_AC_INIT_NOTICE): Move definition of `ac_includes_default' from
here...
(_AC_INIT_PREPARE): to here.
(_AC_INIT_NOTICE): Play with your diversion yourself, don't let
(AC_INIT): do it for you.
(_AC_INIT_DEFAULTS): New macro.
(AC_INIT): Use it.
2000-03-08 11:15:14 +00:00
Akim Demaille
44cedcba06 We don't need _AC_ARG_*_HELP_PROLOGUE.
* acgeneral.m4 (AC_EXPAND_ONCE): AC_PROVIDE yourself, in case
there is no AC_DEFUN associated with the text to expand.
(_AC_ARG_ENABLE_HELP_PROLOGUE, _AC_ARG_WITH_HELP_PROLOGUE,
_AC_ARG_VAR_HELP_PROLOGUE): Remove, instead...
(AC_ARG_ENABLE, AC_ARG_WITH, AC_ARG_VAR): do it yourself.
2000-03-08 11:14:09 +00:00
Akim Demaille
0f81aa0974 * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Fix copy n' paste typos in
`--with-*', `--without-*' and `*' decoding.
Reported by Raja R Harinath.
Fixes autoconf/119.
2000-03-08 11:13:31 +00:00
Akim Demaille
025fe08770 Don't dump AC_ARG_PROGRAM help messages if not used.
* acgeneral.m4 (_AC_INIT_HELP): Don't.
(AC_ARG_PROGRAM): Do.
2000-03-08 11:11:37 +00:00
Akim Demaille
304c21e672 Don't dump X help messages when `configure' does not check for X.
* acgeneral.m4 (_AC_INIT_HELP): Don't dump X help messages.
* acspecific.m4 (AC_PATH_X): Do it.
2000-03-08 11:09:59 +00:00
Akim Demaille
2f71ba0c0b No longer rely on /bin/sh to compose the optional parts of
`configure --help'.

* acgeneral.m4 (AC_DIVERSION_HELP_BEGIN, AC_DIVERSION_HELP_ENABLE,
AC_DIVERSION_HELP_WITH, AC_DIVERSION_HELP_VAR,
AC_DIVERSION_HELP_END): New diversion numbers.
(AC_EXPAND_ONCE): New macro.
(AC_PROVIDE_IF): New macro.
(AC_BEFORE, AC_REQUIRE): Use it.
(AC_REQUIRE): Don't use indir.
(_AC_ARG_ENABLE_HELP_PROLOGUE, _AC_ARG_WITH_HELP_PROLOGUE,
_AC_ARG_VAR_HELP_PROLOGUE): New macros.
(AC_ARG_ENABLE, AC_ARG_WITH, AC_ARG_VAR): Expand once the
_HELP_PROLOGUE macro which corresponds.
(_AC_INIT_HELP): Adjust to AC_DIVERSION_HELP_BEGIN and
AC_DIVERSION_HELP_END.
(_AC_INIT_NOTICE, _AC_INIT_HELP): Remove the sh code which handled
the optional help strings.
2000-03-08 11:08:29 +00:00
Akim Demaille
7dcca0f6f3 AC_OUTPUT_COMMANDS no longer uses a diversion.
* acgeneral.m4 (AC_DIVERSION_CMDS): Removed.
(_AC_OUTPUT_CONFIG_STATUS): Don't undivert it.
2000-03-08 11:05:26 +00:00
Akim Demaille
d7d95f9a4f * acgeneral.m4 (_AC_INIT_PARSE_ARGS): Fix quoted/non quoted here
document problems.
2000-03-08 11:04:55 +00:00
Akim Demaille
65e039bdf9 * acgeneral.m4 (AC_INIT_BINSH, AC_INIT_NOTICE, AC_INIT_PREPARE):
Rename as...
(_AC_INIT_BINSH, _AC_INIT_NOTICE, _AC_INIT_PREPARE): this.
All callers adjusted.
2000-03-08 11:03:59 +00:00
Akim Demaille
a19a55bf7c * acgeneral.m4 (AC_INIT_PARSE_ARGS): Rename as...
(_AC_INIT_PARSE_ARGS): this.
Move the display of help and version strings to...
(_AC_INIT_HELP, _AC_INIT_VERSION): here.
(AC_INIT): Adjust.  Also, fix quotation.
2000-03-08 11:03:33 +00:00
Akim Demaille
b8e6467748 * acgeneral.m4 (AC_ARG_ENABLE, AC_ARG_WITH, AC_PATH_PROG,
AC_PATH_PROGS, AC_PATH_TOOL, AC_CHECK_TOOL, AC_PREFIX_PROGRAM,
AC_EGREP_CPP, AC_TRY_LINK, AC_COMPILE_CHECK, AC_TRY_RUN_NATIVE):
Use ifval instead of ifelse.
2000-03-08 11:00:10 +00:00
Akim Demaille
9a9e3dacd2 Support absolute DOS-style paths.
Any character before the colon is accepted because network drives
can be assigned characters outside the [a-zA-Z] range. DOS-style
relative paths (?:foo/bar) are also considered absolute for
Autoconf's purposes since the path '../?:foo/bar' is invalid.

* acgeneral.m4 (AC_OUTPUT_FILES): Treat DOS-style paths (?:*') as
absolute.
(AC_OUTPUT_SUBDIRS): Likewise.
(AC_PATH_PROG): Make pattern for matching DOS-style paths the same
as that used in AC_OUTPUT_FILES and AC_OUTPUT_SUBDIRS.
2000-03-07 14:24:49 +00:00
Akim Demaille
c33696519a Move the quadrigraphs out of the user name space.
* acgeneral.m4: 's/@BKL@/@<:@/g', 's/@BKR@/@:>@/g',
's/@DLR@/@S|@/g', 's/@PND@/@%:@/g'.
* acspecific.m4: Likewise.
* autoconf.sh: Likewise.
2000-03-03 14:25:03 +00:00
Akim Demaille
2585dd7c36 * acgeneral.m4 (_AC_WHICH_A): New macro.
(AC_CHECK_PROG): Use it.  Use ifval.
(AC_CHECK_PROGS): Use ifval.  Fix the quoting.
* tests/semantics.m4: Test AC_CHECK_PROG.
* tests/Makefile.am (EGREP_EXCLUDE): Add /AC_CHECK_PROGS?/.
2000-03-03 14:15:41 +00:00
Akim Demaille
ab07ba8e08 The whole family supports -V = --version.
* acgeneral.m4 (AC_INIT_PARSE_ARGS): Report and support -V.
* autoconf.sh: Likewise.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* autoheader.sh: Likewise.
* autoscan.pl: Likewise.
* ifnames.sh: Likewise.
In addition, don't dump --help on invalid options.
* doc/autoconf.texi: Adjusted.
* doc/install.texi: Likewise.
2000-03-02 18:17:26 +00:00
Akim Demaille
c86888e32d Internal macros are named `_AC_'.
* acgeneral.m4 (AC_CANONICAL_TARGET, AC_CANONICAL_BUILD,
AC_CANONICAL_THING, AC_CHECK_TOOL_PREFIX, AC_CONFIG_UNIQUE):
Prepend `_' to their names.
* acspecific.m4 (AC_CHECK_HEADER_DIRENT, AC_CHECK_HEADERS_DIRENT,
AC_PATH_X_XMKMF, AC_PATH_X_DIRECT): Prepend `_' to their names.
* doc/autoconf.texi (Macro Names): Adjusted.
2000-03-02 16:36:16 +00:00
Akim Demaille
3f31064d8d * acgeneral.m4: Formatting changes.
* acspecific.m4: Likewise.
2000-03-02 16:27:51 +00:00
Akim Demaille
b6cf2777dd * src/acgeneral.texi (AC_INIT_NOTICE): Include inttypes.h in the
ac_includes_default.
* doc/autoconf.texi (Default Includes): Adjust.
2000-02-25 17:49:29 +00:00
Akim Demaille
ab73229498 2000-02-25 Akim Demaille <akim@epita.fr>
* doc/autoconf.texi (Default Includes):

	Export the knowledge on disabling echo's trailing new line.

	* acspecific.m4 (AC_PROG_ECHO_N): Renamed as...
	(_AC_PROG_ECHO): this.
	Set ECHO_N, ECHO_C, ECHO_T instead of ac_n, ac_c and ac_t.
	All dependencies changed.
	* doc/autoconf.texi (Preset Output Variables): Document ECHO_C,
	ECHO_N and ECHO_T.
	* m4/atconfig.m4 (fp_PROG_ECHO): Removed.
	(AT_CONFIG): Don't use it.
2000-02-25 13:19:35 +00:00
Akim Demaille
7e4260dccb Define HAVE_DECL_FOO both to 1 if found and 0 otherwise.
* acgeneral.m4 (AC_CHECK_DECLS): Define HAVE_DECL_FOO to 1 instead
of NEED_FOO_DECL if found.  Define to 0 if not found.
* autoheader.m4 (AC_CHECK_DECLS): Template HAVE_DECL_FOO.
* tests/semantics.m4 (AC_CHECK_DECLS): Adjusted.
* doc/autoconf.texi (Generic Declarations): Adjusted.
2000-02-15 09:33:59 +00:00
Akim Demaille
8cb64f7ca8 * acgeneral.m4 (AC_OUTPUT): When dispatching your arguments, use
ifval, not ifset!
Dispatch actions to AC_CONFIG_COMMANDS not AC_OUTPUT_COMMANDS, to
avoid unneeded warnings for obsolete use of AC_OUTPUT_COMMANDS.
2000-02-10 16:25:47 +00:00
Akim Demaille
65766c32aa * acgeneral.m4 (AC_VERBOSE): This is a tab, not spaces. 2000-02-10 16:21:42 +00:00
Akim Demaille
0ab00d61fd * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): This is a routine of
`configure', not `config.status', hence use `conftest' for tmp
files, not `$ac_cs_root'.
Removed forgotten developer comment.
Double quoting the whole body is nicer than just the part that
needs to be.
2000-02-10 13:08:33 +00:00
Akim Demaille
fda88556f2 Changequote-busters!
From Dan Ackroyd.

* acgeneral.m4 (AC_INIT_PARSE_ARGS, AC_INIT_PREPARE,
AC_CACHE_SAVE, AC_PREFIX_PROGRAM, AC_OUTPUT,
_AC_OUTPUT_CONFIG_STATUS, AC_OUTPUT_MAKE_DEFS, AC_OUTPUT_FILES,
_AC_OUTPUT_HEADERS, AC_OUTPUT_LINKS, AC_OUTPUT_SUBDIRS): Quit
playing with changequotes, @BKL@ and Co.!  Just quote properly.
2000-02-10 10:40:19 +00:00
Akim Demaille
08de8c9f93 Honor properly the `#define' config.h.in templates.
Test it.

* acgeneral.m4 (AC_OUTPUT_HEADERS): Renamed as...
(_AC_OUTPUT_HEADERS): this.  All callers changed.
Don't mess with changequote, just quote properly.
Bug 1.  Because of the `#' in `ac_dA', the quotes <<>> were not
removed, and therefore the sed script contained `<<define>>'
instead of `define'.  Now that the block is properly quoted, there
is no need to quote `define'.
Bug 2.  Once a `#define' substitution performed, we were branching
to the top of the sed script (`t top').  This resulted in an
endless substitution of `#define foo 1' to `#define foo 1'.
Branching is not enough: you also have to fetch the next input
line, i.e., use `t' instead of `t t' in ac_dD, and don't output
`: top' in `config.defines'.
Though it was correct for `#undef' templates, just apply the same
transformation to `ac_uD' and `config.undefs'.
Bug 3.  Don't try to preserve what was behind the value in the
template, since on
	#define NAME "bar baz"
it leads to
	#define NAME 1 baz"
Now `ac_dB' catches everything behind the NAME (making sure there
is at least a space) and `ac_dC' only outputs a space.
* tests/torture.m4: Check that various forms of `#define' header
templates are properly handled.
2000-02-10 10:38:59 +00:00
Akim Demaille
14930dcc79 Avoid calling `rm' without arguments.
* acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): It is smarter to use a
quoted here doc to output the section providing defaults for
CONFIG_*.
Don't rm the CONFIG_FILES here but in..
(AC_OUTPUT_FILES) [test -n "$CONFIG_FILES"]: here.
Hm, actually, no, just don't remove them at all, let the newly
created files replace the old ones, exactly as in
AC_OUTPUT_HEADERS.
From Graham Jenkins.
2000-02-10 10:37:03 +00:00
Akim Demaille
529087d2d7 * acgeneral.m4 (AC_LIST_MEMBER_OF): s/ac_$exists/$ac_exists/! 2000-02-10 10:36:13 +00:00
Akim Demaille
0eecbaadac * acgeneral.m4: Formatting changes.
* acspecific.m4: Likewise.
2000-02-10 10:35:18 +00:00
Akim Demaille
2d177917ef * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Don't
: ${FOO="$foo"}
but
  : ${FOO=$foo}
Since Ultrix will also assign the quotes to FOO.
Reported by Harlan Stenn.
2000-02-10 10:25:23 +00:00
Akim Demaille
c7bd04fb16 Keep `AC_CHECK_TYPE' backward compatibility and provide a proper
`AC_CHECK_TYPE',
Based on ideas from Paul Eggert and Alexandre Oliva.

* acgeneral.m4 (AC_CHECK_TYPE_INTERNAL): Renamed as
(_AC_CHECK_TYPE_NEW): this.
(AC_CHECK_TYPES): Adjusted.
(AC_CHECK_TYPE): Renamed as
(_AC_CHECK_TYPE_OLD): This.  Adjusted to _AC_CHECK_TYPE_NEW.
No longer support extra includes, stick to 2.13's interface.
(_AC_CHECK_TYPE_BUILTIN_P): New macro.
(AC_CHECK_TYPE): New macro.
* autoheader.m4 (autoheader::AC_CHECK_TYPE): Renamed as...
(autoheader::_AC_CHECK_TYPE_OLD): this.
* tests/atspecific.m4 (TEST_MACRO): Skip /^_AC_/ macros.
* tests/semantics.m4: Test the choices of AC_CHECK_TYPE (wrt _NEW
or _OLD implemenation).
* doc/autoconf.texi (Generic Types): Reorganized.  Explain
everything about AC_CHECK_TYPE and Co.
2000-02-10 10:24:10 +00:00
Akim Demaille
dc6fcad969 The AU-glue code for AC_LINK_FILES was not fully compatible: in
AC_LINK_FILES($from, $to)
`$from' and `$to' can be lists, hence `AC_CONFIG_LINKS($to:$from)'
is wrong.
Reported by H.J. Lu.

* acgeneral.m4 (AC_LINK_FILES): Replace the m4-glue code from
AC_LINK_FILES to AC_CONFIG_LINKS, with sh-glue code.
Give a detailed update message.
(_AC_LINK_FILES_CNT): New variable.  Initialize.
* tests/tools.m4 (autoupdate): No longer exercise `autoupdate'
with AC_LINK_FILES.
2000-02-10 09:45:25 +00:00
Akim Demaille
d6ef78697d AC_CHECK_FILES has never worked properly.
* acgeneral.m4 (AC_CHECK_FILE): Use AC_CACHE_CHECK.
* autoheader.m4 (AC_CHECK_FILES): AH-define.
* tests/semantics.m4: Test AC_CHECK_FILES.
* tests/atspecific.m4 (TEST_MACRO): Don't.
2000-02-10 09:40:55 +00:00
Akim Demaille
abe94c7473 No longer use a diversion to store the sed program implementing
AC_SUBST.

* acgeneral.m4 (_AC_SUBST): New macro.
(_AC_SUBST_SED_PROGRAM): Initialize.
(AC_SUBST): Use _AC_SUBST.
(AC_SUBST_FILE): Likewise.
(AC_DIVERSION_SED): Removed.  Renumber the AC_DIVERSIONs.
(AC_OUTPUT_FILES): Instead on undiverting AC_DIVERSION_SED, output
_AC_SUBST_SED_PROGRAM.
2000-02-10 09:40:09 +00:00