* automake.in (macro_define): Update a variable's location each
time its owner is updated.
* tests/gnuwarn.test: Append to CFLAGS to check for this.
Reported by Harlan Stenn.
Pavel Roskin [Thu, 19 Sep 2002 19:04:09 +0000 (19:04 +0000)]
* tests/warnopts.test: Fix random failures by removing Autoconf
cache directory whan configure.in changes. Use the code and the
comment from tests/asm.test.
* automake.in (require_variables): Search variable definitions
in any condition implied by $cond.
* tests/cond25.test: New file.
* tests/Makefile.am (TESTS): Add cond25.test.
Reported by Pavel Roskin.
* automake.in (check_ambiguous_conditional, rule_define): Issue
syntactic warnings, not errors.
(macro_define): Don't adjust the owner of a variable which is being
appended in a condition different from its definition.
(variable_output, variable_pretty_output): Make sure the
requested condition exists.
For PR automake/353:
* automake.in (check_ambiguous_conditional): Display locations for
the two definitions of the ambiguous variable. Show the macro_dump
output in --verbose only. Accept $where as a third argument,
(macro_define): Pass $where.
* automake.in (handle_programs, handle_libraries,
handle_ltlibraries): Maintain $seen_libobjs on a
per-program/per-library basis, instead of globally to each
of these functions.
* tests/libobj12.test, tests/libobj12b.test: New files.
* tests/Makefile.am (TESTS): Add libobj12.test and libobj12b.test.
* automake.in: Rename the 'unused' channel to 'syntax'.
(variable_defined): Issue a warning instead of an error
for variable-is-a-target conditions.
* automake.texi (Invoking Automake): Rename the 'unused'
channel to 'syntax'.
* tests/warnopts.test: Likewise.
Tom Tromey [Sun, 15 Sep 2002 20:45:47 +0000 (20:45 +0000)]
* tests/subdircond3.test: Pass flags to make in environment.
* tests/subdircond2.test: Pass flags to make in environment.
* Makefile.am (maintainer-check): Add a new check for @...@
substitutions. Updated correct number of diffs between source and
build trees.
* automake.texi (Building ctags and etags): Rename and adjust as ...
(Building true and false): ... this.
* tests/targetclash.test: New file.
* tests/specflags7.test, tests/specflags8.test: Adjust to build
true and false.
* tests/Makefile.am (TESTS): Add targetclash.test.
(XFAIL_TESTS): Remove specflags7.test and specflags8.test.
Diagnose target clashes, for PR automake/344:
* automake.in (%targets): Record conditionals for definitions.
(%target_conditional): Remove (obsoleted by %targets).
(%target_source, %target_owner): New hashes.
(TARGET_AUTOMAKE, TARGET_USER): New constants.
(initialize_per_input): Adjust to reset new variables.
(err_cond_target, msg_cond_target): New functions.
(msg_target): Adjust usage of %targets.
(conditional_ambiguous_p): Take a list of conditional to check
as a third parameter, so this can be used for other things that
variables.
(handle_lib_objects_cond): Adjust conditional_ambiguous_p usage.
(variable_defined): Restrict the target-with-same-name check
to user targets.
(rule_define): Add the $SOURCE argument, and take $OWNER instead
of $IS_AM. Diagnose target clashes (including ambugious
conditionals). Return a list of conditions where the rule should
be defined instead of a boolean. Fill %target_source and
%target_owner.
(target_define): Use `exists', not `defined'.
(read_am_file): Adjust the call to rule_define.
(file_contents_internal): Add more FIXMEs. Simplify my moving
and documenting the "define rules in undefined conditions" to
rule_define.
* tests/Makefile.am (XFAIL_TESTS): Add specflags7.test and
specflags8.test.
* aclocal.in: Prototype all the functions.
Add `(C)' to Copyrights.
(&add_file): Strip the comments before checking for `AC_REQUIRE'.
Remove Perl 4 hacks, since anyway we require 5.005 via General.pm.
* lib/Automake/Channels.pm (_default_options): Add `backtrace'.
(msg): Die with backtrace if requested.
* automake.in: Enable `backtrace' on the `automake' channel.
* lib/am/distdir.am (distcheck): Strip $(srcdir) prefix on
distributed files, to workaround Sun make VPATH munging.
This fixes subdircond2.test, subdircond3.test, and subpkg.test
on Solaris.
* tests/extra6.test, tests/lex3.test, tests/pr87.test,
tests/pr9.test, tests/target-cflags.test, tests/texinfo13.test,
tests/texinfo16.test, tests/yacc7.test, tests/yaccvpath.test:
Don't require GNU make.
* lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Account for
Sun make rewriting rules in VPATH builds. (Fixes gnits3.test.)
* lib/am/progs.am (installcheck-%DIR%PROGRAMS): Likewise.
For PR automake/343:
* automake.in (scan_texinfo_file) <clean_suffixes>: Remove dvi, ps,
and pdf.
(output_texinfo_build_rules): Define %DIRSTAMP% when processing
texibuild.am. Return $dirstamp and a list of files to clean.
(handle_texinfo_helper): Process texi-vers.am after the call to
output_texinfo_build_rules and use $dirstamp to define %DIRSTAMP%.
* lib/am/texi-vers.am (%STAMPVTI%): Build %DIRSTAMP% if needed.
* lib/am/texibuild.am (%DEST_PREFIX%%DEST_SUFFIX%): Likewise.
(%DEST_PREFIX%.dvi, %DEST_PREFIX%.pdf): Depend on %DIRSTAMP%.
* tests/texinfo13.test: New file.
* tests/Makefile.am (TESTS): Add texinfo13.test.
* lib/am/texinfos.am (install-info-am, dist-info): Looks for
info files in build or source directory.
This completes the change from 2002-07-30 (for PR automake/168).
* automake.in (CLEAN, MAINTAINER_CLEAN): New constants.
(maintainer_clean_files): Replace by ...
(clean_files): ... this new variable.
(initialize_per_input, lang_yacc_target_hook,
lang_lex_target_hook): Use %clean_files instead of
@maintainer_clean_files.
(handle_clean): Rewrite, using %clean_files.
(require_build_directory_maybe): Use %clean_files instead
of %compile_clean_files. This allows using
&require_build_directory_maybe for non-compiling targets.
* lib/am/clean.am (mostlyclean-generic, clean-generic,
distclean-generic, maintainer-clean-generic): Rewrite using
%MOSTLYCLEAN_RMS%, %CLEAN_RMS%, %DISTCLEAN_RMS%, and
%MAINTAINER_CLEAN_RMS%.
* lib/Automake/Channels.pm (buffering, backlog): New variables.
(buffer_messages, flush_messages): New functions.
(@EXPORT): Add buffer_messages and flush_messages.
* automake.in (generate_makefile): Call buffer_messages and
flush_messages to buffer warnings until AUTOMAKE_OPTIONS has
been read.
Fix for PR automake/346:
* automake.texi (Optional): Supress the documentation for
AC_PATH_XTRA, AC_FUNC_ALLOCA, AC_FUNC_ERROR_AT_LINE, AC_FUNC_FNMATCH,
AC_FUNC_GETLOADAVG, AC_FUNC_MEMCMP, AC_FUNC_MKTIME, AC_FUNC_OBSTACK,
AC_FUNC_STRTOD, AC_REPLACE_FUNCS, AC_REPLACE_GNU_GETOPT,
AC_STRUCT_ST_BLOCKS, AM_WITH_REGEX, AC_CHECK_TOOL, AC_CHECK_PROG,
AC_CHECK_PROGS, AC_PATH_PROG, and AC_PATH_PROGS. Augment the
documentation of AC_LIBSOURCE and AC_SUBST to explain this
applies to any macro that calls them.
Tom Tromey [Mon, 19 Aug 2002 22:48:38 +0000 (22:48 +0000)]
For PR automake/348:
* tests/Makefile.am (TESTS): Added include2.test.
* tests/include2.test: New file.
* tests/include.test: Check to make sure include file is
distributed.
* automake.in (read_am_file): Distribute included files.
Fix for PR automake/345:
* tests/defs: Add support for required=non-root, stolen
from fileutils' test suite.
* tests/destdir.test: Use required=non-root.
Tom Tromey [Sun, 18 Aug 2002 22:26:36 +0000 (22:26 +0000)]
For PR automake/347:
* automake.in (rule_define): Given portability warning if "%" seen
in target name.
(TARGET_PATTERN): Added `%'.
* tests/Makefile.am (TESTS): Added percent.test.
* tests/percent.test: New file.
* tests/ext2.test: New file. This bug is present in Automake 1.6.3
and was fixed by the change on variable_conditions_permutations
and invert_conditions on 2002-05-16.
* tests/Makefile.am (TESTS): Add ext2.test.
Reported by Ladislav Strojil.
* aclocal.in (parse_arguments): Add `dirlist' paths add the
very end of the search path, after aclocal-APIVERSION/ and
aclocal/.
* automake.texi (Macro search path): Adjust to reflect the
new ordering.
* tests/dirlist.test: Check for this.
2002-07-31 Charles Wilson <cwilson@ece.gatech.edu>
* aclocal.in (parse_arguments): Add support for extending
default macro search path, using a `dirlist' file within
the aclocal directory.
* automake.texi (Invoking aclocal): Move option descriptions into ...
(aclocal options): ... this new node.
(Macro search path): New node.
* tests/dirlist.test: New file.
* tests/Makefile.am (TESTS): Add dirlist.test.
* m4/dirlist: New file.
* m4/Makefile.am (EXTRA_DIST): Add dirlist.
* tests/defs: Honor any installed dirlist when searching for
libtool.m4 and gettext.m4.
Build info files in builddir instead of srcdir (for PR automake/168),
and prepare support for info files in subdirecties.
* automake.in (output_texinfo_build_rules): New function.
(handle_texinfo_helper): Use output_texinfo_build_rules, and
prepare to support subdir texinfos. Define am__TEXINFO_TEX_DIR.
* lib/am/texi-vers.am: Build version.texi and stamp-vti in the
current directory, not $(srcdir). Use %STAMPVTI% to name the stamp
file.
* lib/am/texibuild.am: Rewrite to output files in the current
directory, not $(srcdir). Also, support both generic and
non-generic output. Pass `-o $@' to makeinfo, texinfo, and
texi2dvi -- this is a partial fix for PR automake/339.
* tests/texinfo3.test: Make sure the `.texi:' rule is output.
* tests/texinfo10.test: Use set -e, so the checks are not ignored.
* tests/texinfo16.test: New file.
* tests/Makefile.am (TESTS): Add texinfo16.test.
* configure.in: Bump version to 1.6b.
* lib/config.guess, lib/config.sub, lib/Automake/XFile.pm: New
upstream versions.
* automake.in: Don't write @ALLOCA@ and @LIBOBJS@ in clear text,
since this file is processed by config.status.
* configure.in: Bump version to 1.6b.
* lib/config.guess, lib/config.sub, lib/Automake/XFile.pm: New
upstream versions.
* automake.in: Don't write @ALLOCA@ and @LIBOBJS@ in clear text,
since this file is processed by config.status.
* automake.in (read_am_file): Escaped newlines in comments are not
portable. If a comment line doesn't start with a `#', add it.
* tests/comment6.test: Ensure this is done.
Fix failures reported by Patrick Welche on NetBSD.
* tests/gnits2.test, tests/gnits3.test: Don't trust the exit
status of `make -k'.
* tests/obsolete.test: Source obs.1 and obs.2 from current
directory.
* tests/required2.test: New file.
* tests/Makefile.am (TESTS): Add required2.test.
* automake.in (initialize_per_input): Remove %require_file_found
setting. This reverts my change of 2002-04-19.
(require_file_internal): Use the full name of a file as a
key in %require_file_found, not only the basename.
Reported by Andrew Suffield.
* tests/gnits2.test: Use --program-prefix. Test for scripts too.
Replace the sed script by calls to grep, easier to debug.
* lib/am/progs.am (installcheck-%DIR%PROGRAMS): Honor nobase
and $(transform).
* lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Likewise.
* lib/am/progs.am (install-%DIR%PROGRAMS, uninstall-%DIR%PROGRAMS):
Always strip the directory part before applying $(transform),
even for nobase_ targets.
* lib/am/scripts.am (install-%DIR%SCRIPTS, uninstall-%DIR%SCRIPTS):
Likewise.
* tests/nobase.test: Use --program-prefix while testing nobase
support.
Fix for PR automake/338:
* automake.in (seen_gettext_external): New variable.
(handle_gettext): Conditionalize the intl/ check on
$seen_gettext_external. Fix grep usage.
(scan_autoconf_traces): Set $seen_gettext_external if
`external' is passed to AM_GNU_GETTEXT.
* tests/gettext.test, tests/gettext2.test: New files.
* tests/Makefile.am (TESTS): Add gettext.test and gettext2.test.
* m4/header.m4 (_AM_DIRNAME, _AM_STAMP, _AM_CONFIG_HEADER,
_AM_CONFIG_HEADER_INSINUATE): Remove them all. Leave just ...
(AM_CONFIG_HEADER): ... this new definition for compatibility.
* m4/init.m4: Don't call _AM_CONFIG_HEADER_INSINUATE.
(_AC_AM_CONFIG_HEADER_HOOK): New macro.
* tests/confh5.tests: Delete.
* tests/Makefile.am (TESTS): Remove confh5.tests.