Tom Tromey [Fri, 18 Jan 2002 22:20:28 +0000 (22:20 +0000)]
For PR automake/288:
* automake.in (lang_c_rewrite): Don't prepend directory to base if
directory is `.'. Also, properly compute de_ansi_files entry in
subdir-objects case
* tests/Makefile.am (TESTS): Added ansi7.test.
* tests/ansi7.test: New file.
Tom Tromey [Wed, 16 Jan 2002 19:05:41 +0000 (19:05 +0000)]
* Makefile.am (install-exec-hook): Use APIVERSION.
* m4/init.m4 (AM_INIT_AUTOMAKE): Use am__api_version.
* m4/amversion.in (AM_AUTOMAKE_VERSION): Set am__api_version from
APIVERSION.
* automake.in (perllibdir): Use APIVERSION.
(libdir): Likewise.
* aclocal.in (perllibdir): Use APIVERSION.
(APIVERSION): New global.
(parse_arguments): Use APIVERSION.
* configure.in (APIVERSION): New subst.
(pkgvdatadir): Use APIVERSION.
Tom Tromey [Mon, 14 Jan 2002 00:29:16 +0000 (00:29 +0000)]
2002-01-13 Tom Tromey <tromey@redhat.com>
For PR automake/288:
* automake.in (lang_c_rewrite): Set value for de_ansi_files entry
to directory.
(lang_c_finish): Likewise. Also, use directory information from
de_ansi_files.
2002-01-13 Kevin Ryde <user42@zip.com.au>
For PR automake/288:
* tests/Makefile.am (TESTS): Added ansi6.test.
* tests/ansi6.test: New file.
Tom Tromey [Sun, 13 Jan 2002 20:33:38 +0000 (20:33 +0000)]
For PR automake/287:
* lib/am/distdir.am (distdir): Use `$$list' trick when looping
over subdirs.
* tests/Makefile.am (TESTS): Added pr287.test.
* tests/pr287.test: New file.
* m4/init.m4 (AM_INIT_AUTOMAKE): Set PACKAGE and VERSION from
AM_INIT_AUTOMAKE arguments when using the old-style call.
Use AC_PACKAGE_TARNAME and AC_PACKAGE_VERSION in the new form only.
Suggested by Pavel Roskin.
* test/nodefine.test, test/nodefine2.test: Check that no-define
works, not the contrary...
* m4/options.m4 (_AM_IF_OPTIONS): Use m4_ifset.
* m4/init.m4 (AM_INIT_AUTOMAKE): A third argument implies no-define,
not the contrary.
* automake.in (file_contents_internal): Introduce two variables,
$is_rule and $discard_rules to track rules spanning across multiple
paragraphs. This fixes a very nasty bug reported by Dmitry Mikhin
where only the first paragraph of such a multi-paragraph rule was
discarded; but it leaves many similar latent bugs (see the FIXMEs).
* automake.texi (Complete, Macros, Options): Document the new style
AM_INIT_AUTOMAKE. Remove AM_AUTOMAKE_OPTIONS documentaion.
* m4/init.m4 (AM_INIT_AUTOMAKE): Get PACKAGE and VERSION from
AC_INIT if they are available there. Support a new call form
where the only argument is an optional space-separated list of
Automake options.
* m4/options.m4 (AM_AUTOMAKE_OPTIONS): Remove.
(_AM_MANGLE_OPTION, _AM_SET_OPTION, _AM_SET_OPTIONS,
_AM_IF_OPTION): New functions.
* automake.in (AC_INIT_PATTERN): New variable.
(global_options_line): Remove, use $seen_init_automake instead.
(scan_one_autoconf_file, scan_autoconf_traces): Set $package_version
from AC_INIT if available. Support the new style AM_INIT_AUTOMAKE.
Remove the AM_AUTOMAKE_OPTIONS handling.
* configure.in: Modernize.
* tests/defs (configure.in): Modernize. One third of the tests
still overwrite the default configure.in and use an old
AM_INIT_AUTOMAKE call, so that makes testing for both.
* tests/nodefine.test, tests/nodefine2.test: New files.
* tests/Makefile.am (TESTS): Add them.
Fix for PR automake/278:
* m4/python.m4 (AM_PYTHON_CHECK_VERSION): Use `sys.hexversion' to cope
with versions such as '2.2c1'. Also, use `int' instead of the
obsoleted `string.atoi'.
Reported by Enrico Scholz.
* lib/am/install.am (install-strip): Set INSTALL_STRIP_FLAG=-s,
it is needed by install-%DIR%LTLIBRARIES in ltlib.am.
This fixes a bug introduced on 2001-01-28.
Reported by Jared Davis.
Tom Tromey [Mon, 31 Dec 2001 02:44:37 +0000 (02:44 +0000)]
* automake.in (define_configure_variable): Define a user macro,
not an automake macro.
* tests/Makefile.am (TESTS): Added ar.test.
* tests/ar.test: New file.
Tom Tromey [Mon, 31 Dec 2001 01:01:02 +0000 (01:01 +0000)]
For PR automake/211:
* automake.in (object_compilation_map): New global.
(initialize_per_input): Initialize it.
(COMPILE_LIBTOOL): New constant.
(COMPILE_ORDINARY): Likewise.
* tests/Makefile.am (TESTS): Added pr211.test.
* tests/pr211.test: New file.
Tom Tromey [Sun, 30 Dec 2001 20:07:35 +0000 (20:07 +0000)]
For PR automake/220:
* tests/Makefile.am (TESTS): Added pr220.test.
* tests/pr220.test: New file.
* m4/cond.m4 (AM_CONDITIONAL): Cause config.status to fail if
conditional was never run.
Tom Tromey [Sun, 30 Dec 2001 00:19:41 +0000 (00:19 +0000)]
For PR automake/266:
* tests/Makefile.am (TESTS): Added pr266.test.
* tests/pr266.test: New file.
* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Handle
non-standard name for makefile.
Tom Tromey [Sat, 29 Dec 2001 23:58:06 +0000 (23:58 +0000)]
For PR automake/279:
* automake.in (conditional_ambiguous_p): New sub.
(handle_lib_objects_cond): Use it.
(check_ambiguous_conditional): Use it.
* tests/Makefile.am (TESTS): Added pr279.test, pr279-2.test.
* tests/pr279.test: New file.
* tests/pr279-2.test: New file.
* m4/python.m4 (AM_PATH_PYTHON): Check all known Python interpreters
in loop until we find one the satisfies the user supplied version.
Add python2 to the list of known interpreters. Don't use
changequote. Cache the calculation of PYTHON_VERSION and
PYTHON_PLATFORM.
(AM_PYTHON_CHECK_VERSION): New function, extracted from
AM_PATH_PYTHON and modernized.
* m4/runlog.m4: New file.
* m4/Makefile.am (m4data_DATA): Add it.
* automake.in (handle_dist): Distribute common files which
do not exist but are target of a Makefile rule.
* automake.texi (Dist): Update.
* test/builtcommon3.test: New file.
* test/Makefile.am (TESTS): Add distcommon3.test.
* automake.in (append_comments): New. Extracted from
read_am_file. Match 'n' with a regexp, don't use substr (the
perlport man page says 'n' is not always one byte wide).
(read_am_file): Use it. Always chomp $_.
(file_contents_internal): Use append_comments.
(macro_define): Don't treat the trailing 'n' with substr, use
a regexp or chomp.
Akim Demaille [Mon, 26 Nov 2001 15:30:33 +0000 (15:30 +0000)]
* automake.in (¯o_define): Use $where when reporting an error,
not the place where the macro was first defined since (i) if this
is the first definition, then obviously it was not defined before,
and (ii) anyway, the error is with the new definition, not the
first.
* automake.in (scan_one_autoconf_file): Parenthesize qw// in
foreach invocation, otherwise Perl5.005_03 complains about a
syntax error. Reported by Yann Droneaud.
* automake.in (SUFFIX_RULE_PATTERN): Add '_(){}$@' to the
set of accepted characters in extensions.
(rule_define): Convert '.o' and '.obj' into '$(OBJEXT)' for
internall use.
* tests/suffix6.test: Ensure that `.o' is handled like `.$(OBJEXT)'.
* automake.in (rule_define): Use $KNOWN_EXTENSIONS_PATTERN
to match suffix rules for known extensions, or call
accept_extensions on suffixe rules for unknown extensions.
(var_SUFFIXES_trigger): New function.
(macro_define): Call var_VAR_trigger when $VAR is updated.
* tests/suffix6.test, tests/suffix7.test: New files.
* tests/Makefile.am (TESTS): Add suffix6.test and suffix7.test.
* automake.in (KNOWN_EXTENSIONS_PATTERN, known_extensions_list):
New variables.
(handle_single_transform_list, lang_yacc_target_hook): Use
KNOWN_EXTENSIONS_PATTERN.
(accept_extension): New function.
(register_language): Call it.
At every place where an "$extension" is used, include the leading
dot in the extension, don't hardcode it when building the filename.
That will make any support for a dot-less extension easier to add.
* automake.in (SUFFIX_RULE_PATTERN): Include extension dots in
backref groups.
("main"): Prepend a '.' to the supported extensions of all
languages (e.g. 'c' becomes '.c').
(handle_languages, handle_single_transform_list,
handle_lib_objects_cond, handle_headers, derive_suffix,
rule_define): Do not add a dot
before extensions, and include dots in matching groups.
* lib/am/depend2.am (.%EXT%.o, .%EXT%.obj, .%EXT%.lo): Rename as ...
(%EXT%.o, %EXT%.obj, %EXT%.lo): ... these.
* lib/am/lex.am (.%EXT%.%DERIVED-EXT%): Rename as ...
(%EXT%%DERIVED-EXT%): ... this.
* lib/am/yacc.am: Likewise.
Akim Demaille [Mon, 12 Nov 2001 08:55:49 +0000 (08:55 +0000)]
* m4/make.m4 (AM_MAKE_INCLUDE): Serial 2.
Use `"#"' and `"""', which
Autoconf mode prefers over `'#'' and `'"''.
* m4/missing.m4 (AM_MISSING_HAS_RUN): Serial 3.
Rely on AC_MSG 2.50's quotation.
* lib/am/distdir.am (distdir): Also look for directory in build
directory first. (See 2001-05-14.)
* tests/Makefile.am (TESTS): Add extra5.test.
* tests/extra5.test: New file.
From Dean Povey.
Fix for distcommon2.test:
* automake.in (automake_needs_to_reprocess_all_files): New
variable.
("main"): Process all Makefiles a second time if
$automake_needs_to_reprocess_all_files is set.
(maybe_push_required_file): Return 1 or 0 whether the file is
pushed or not.
(require_file_internal): Set $automake_needs_to_reprocess_all_files
if an added file can't be pushed.
* test/distcommon2.test: New file.
* test/Makefile.am (TESTS): Add distcommon2.test.
From Pavel Roskin.
Fix for nobase.test:
* lib/am/header-vars.am (install_sh_DATA): New.
* lib/am/data.am (install-%DIR%%PRIMARY%): Declare and use
%DIR%%PRIMARY%_INSTALL, and set it to $(install_sh_DATA) instead
of $(INSTALL_DATA) for nobase_ targets.
* lib/am/lisp.am (install-%DIR%LISP): Likewise.
* lib/am/python.am (install-%DIR%PYTHON): Likewise.
* tests/nobase.test (configure.in): Append AC_OUTPUT.
* tests/Makefile.am (XFAIL_TESTS): Remove nobase.test.