Tom Tromey [Thu, 1 Oct 1998 00:23:33 +0000 (00:23 +0000)]
Some bug fixes, plus a complete rewrite of source file handling:
* texinfos.am (install-info-am): Handle case where INFO_DEPS is
empty. Reported by Andrew Cagney.
(uninstall-info): Likewise.
(dist-info): Likewise.
* automake.in (handle_texinfo): Error if user tries to generate
HTML.
* automake.in (do_one_clean_target): Don't push previous clean
target if this target is `mostly'. Report from Raja R Harinath.
* subdirs.am (mostlyclean-recursive ...): Build local_target, not
target. From Raja R Harinath.
Completely changed how languages and source files are handled:
* automake.in: Call register_language for each language.
(lang_c_rewrite): New function.
(lang_cxx_rewrite): Likewise.
(lang_header_rewrite): Likewise.
(lang_yacc_rewrite): Likewise.
(lang_yaccxx_rewrite): Likewise.
(lang_lex_rewrite): Likewise.
(lang_lexxx_rewrite): Likewise.
(lang_asm_rewrite): Likewise.
(lang_fortran_rewrite): Likewise.
(register_language): Likewise.
(extension_map): New global.
(language_map): Likewise.
(resolve_linker): New function.
(handle_single_transform_list): Rewrote to use lang_X_rewrite
functions. Changed meaning of first argument.
(initialize_per_input): Removed seen_any_source. Initialize
language_scratch, extension_seen. Removed cxx_extensions,
seen_c_source, dir_holds_headers, dir_holds_sources.
(handle_source_transform): Don't compute $objpat. Pass $obj
directly to handle_single_transform_list.
(handle_built_sources): Fixed call to
handle_single_transform_list.
(lang_c_finish): New function.
(lang_cxx_finish): Likewise.
(lang_header_finish): Likewise.
(lang_yacc_finish): Likewise.
(lang_yaccxx_finish): Likewise.
(lang_lex_finish): Likewise.
(lang_lexxx_finish): Likewise..
(lang_asm_finish): Likewise.
(lang_fortran_finish): Likewise.
(yacc_lex_finish_helper): Likewise.
(libtool_compiler): Likewise.
(saw_extension): New function.
(handle_lib_objects_cond): Use saw_extension, not old variables.
(handle_yacc_lex_cxx): Removed.
(finish_languages): New function.
(get_object_extension): Don't set dir_holds_sources.
(handle_headers): Don't set dir_holds_headers. Instead, call
saw_extension.
(saw_sources_p): New function.
(handle_tags): Use it.
(handle_dependencies): Likewise.
(cxx_extensions): New function.
(handle_dependencies): Use it.
(generate_makefile): Call finish_languages, not
handle_yacc_lex_cxx.
Tom Tromey [Tue, 29 Sep 1998 22:47:57 +0000 (22:47 +0000)]
A couple bug fixes from Andreas Schwab:
* texi-vers.am: Use the correct target names. Fix generation of
stamp file.
* automake.in (handle_tests): In commands generating site.exp copy
the old contents from site.exp, not site.bak, which does not
exist.
Tom Tromey [Tue, 29 Sep 1998 01:28:42 +0000 (01:28 +0000)]
Fixes for recurs2.test. Report from Jim Meyering.
* automake.in (vars_scanned): Define globally.
(variable_value_as_list_worker): Delete $var entry in
%vars_scanned after local work is done.
Tom Tromey [Mon, 28 Sep 1998 02:03:28 +0000 (02:03 +0000)]
`include' handling from Marcus Daniels:
* automake.in: New pattern: INCLUDE_PATTERN.
(read_am_file): Make AM_FILE a local filehandle.
For INCLUDE_PATTERN, store included paths on @include_stack and call
read_am_file with argument.
(handle_configure): When printing the dependencies for
Makefile.in, print the items on include_stack (if any) as
dependencies, too.
* automake.texi: Make a command index `cm' that goes into the
concept index. Put if, endif, else, and include in the command index.
(Include): Show usage of include directive.
Tom Tromey [Mon, 28 Sep 1998 01:51:04 +0000 (01:51 +0000)]
`.' in SUBDIRS changes order of builds:
* Makefile.am (SUBDIRS): Added `.'. Put tests last.
* tags.am (TAGS): Don't look for TAGS file in `.'.
* automake.texi (Top level): Document SUBDIRS change.
* automake.in (handle_installdirs): Create separate installdirs-am
target.
(handle_merge_targets): Don't put all-am onto @all. Fixed error
message. Correctly handle install-info. Give error if
install-info-local inappropriately defined. Don't special-case
install-data, install-exec, install, uninstall, or all.
(handle_subdirs): Don't push `-recursive' target names onto
corresponding lists.
(do_one_merge_target): Always define `-am' form of rule, and point
ordinary form to `-am' or `-recursive' as appropriate.
Special-case `all'.
(do_check_merge_target): Generate check-am target.
(handle_dist_worker): Use target_defined.
(handle_dist): Likewise.
(handle_merge_targets): Likewise.
(do_one_merge_target): Likewise.
(do_check_merge_target): Likewise.
(do_one_clean_target): Likewise.
(initialize_per_input): Initialize $all_target.
(do_one_clean_target): Always generate -am form of rule; other
changes for new SUBDIRS change.
(handle_clean): Always generate clean-am form of rule.
(handle_tags): Only build subdir if not `.'.
(handle_dist_worker): Skip `.' directory.
* subdirs.am: Allow `.' to be specified in SUBDIRS.
Tom Tromey [Mon, 28 Sep 1998 01:47:02 +0000 (01:47 +0000)]
* Makefile.am (TESTS): Added clean.am.
* clean.test: New file.
* ansi2.test: Updated test for new SUBDIRS change.
* noinst.test: Updated test for new SUBDIRS change.
* checkall.test: Added check to make sure check-local is handled.
Updated test for new SUBDIRS change.
* java.test: Updated test for new SUBDIRS change.
Tom Tromey [Sat, 26 Sep 1998 19:06:03 +0000 (19:06 +0000)]
* aclocal.test: Put AM_INIT_AUTOMAKE into configure.in.
* library.test: Use AC_EXEEXT.
* texinfo5.test: Use AC_EXEEXT.
* Many files: use AC_PROG_INSTALL, not AM_PROG_INSTALL.
Tom Tromey [Sat, 26 Sep 1998 18:32:21 +0000 (18:32 +0000)]
Test suite updates for the @SHELL@ change:
* exsource.test: Set SHELL on `make' command line.
* ansi.test: Set SHELL on `make' command line.
* texinfo.test: Set SHELL on `make' command line.
* insh2.test: Set SHELL on `make' command line.
* empty.test: Rewrite @SHELL@ to /bin/sh.