Akim Demaille [Wed, 28 Feb 2001 09:53:10 +0000 (09:53 +0000)]
* automake.in (&add_depend2): Transform `GENERIC'.
Get rid of the ad hoc transformation of `@EXT@.o:' which in
addition was broken by the `@ -> %' patch.
* depend2.am: Adjust to use ?GENERIC?.
Akim Demaille [Tue, 27 Feb 2001 09:12:41 +0000 (09:12 +0000)]
Distinguish automake substitutions from config.status
substitutions.
* automake.in (&add_depend2): Transform AMDEP.
(&handle_clean): Transform MCFILES and MFILES.
(&file_contents): Transform MAINTAINER_MODE.
(&transform, &am_install_var): Use `%', not `@'.
Adjust all the *.am files.
* clean.am: Use ?MFILES? instead of ad hoc MAINTAINERCLEAN.
* depend2.am: Display the double dependency on both ?AMDEP? and
@AMDEP@.
Akim Demaille [Mon, 26 Feb 2001 09:30:01 +0000 (09:30 +0000)]
* automake.in (&handle_merge_targets, &do_one_merge_target): Don't
work on targets handled by %dependencies.
(&handle_factored_dependencies): Do it.
* install.am: Install install-exec, install-data and uninstall's
suites.
Akim Demaille [Sun, 25 Feb 2001 18:42:41 +0000 (18:42 +0000)]
Internally just store the conditionals as space separated lists of
CONDITIONS (instead of @CONDITIONS@).
* automake.in (&conditional_true_when, &variable_conditions_sub):
Split conditions at spaces.
(&handle_dependencies, &variable_conditions_permutations): Don't
put @ around conditions.
(&variable_conditions_cmp): There are no @ to strip.
(&make_condition): New.
(&define_pretty_variable, &read_main_am_file, &read_am_file): Use
it.
(&read_main_am_file, &read_am_file): Stop playing with @ by hand.
Join @conditional_stack with spaces.
(&read_main_am_file): Adjust the output of variables.
Output `TRUE = true' under the condition `TEST' as `@TEST@TRUE =
true' and no longer `@TEST@TRUE = @TEST@true'.
(&variable_conditions_cmp): Rename as...
(&by_condition): this.
Sort in a human pleasant order.
Use it everywhere a human can see conditions.
(&variable_conditions_reduce): Don't sort conditions, that's
pointless.
* tests/cond.test, ctarget1.test, pluseq3.test: Strengthen.
Akim Demaille [Sun, 25 Feb 2001 18:37:40 +0000 (18:37 +0000)]
* automake.in (&initialize_per_input): %targets_conditionals is
new.
(&read_am_file): When slurping a rule, set the target related
variable, and no variable related variable.
(&file_contents): Likewise.
* tests/vartar.test, tests/ctarget1.test: New.
Akim Demaille [Sun, 25 Feb 2001 18:17:57 +0000 (18:17 +0000)]
* automake.in (&initialize_per_input): %targets_conditionals is
new.
(&read_am_file): When slurping a rule, set the target related
variable, and no variable related variable.
(&file_contents): Likewise.
* tests/vartar.test, tests/ctarget1.test: New.
Akim Demaille [Sun, 25 Feb 2001 18:16:07 +0000 (18:16 +0000)]
* automake.in (&variable_defined, &variable_value_as_list_worker):
If $VAR is effectively a variable, don't die if it's also a
target.
Plus some formatting changes.
Akim Demaille [Sun, 25 Feb 2001 18:04:29 +0000 (18:04 +0000)]
* automake.in (&handle_texinfo, &handle_man_pages, &am_install_var):
Don't deal with install-data-am, install-exec-am and unstall-am.
(&initialize_per_input): Add them to %dependencies.
Remove %exec_dir_p since the *.am files are now in charge of it.
Remove @uninstall, @install_data, @install_exec.
(&handle_merge_targets): Adjust to these removals.
(&file_contents): Also &transform_cond for --no-installman and
--no-installinfo.
(&do_one_merge_target): Add some magic to install hooks on
%dependencies' targets.
(%required_targets): New.
(&handle_factored_dependencies): Output required targets.
* data.am, header.am, java.am, libs.am, lisp.am, ltlib.am,
* mans-vars.am, mans.am, progs.am, python.am, scripts.am,
* texinfos.am: Declare your dependencies on install-data-am,
install-exec-am and uninstall-am.
* tests/instdata2.test (incldata_HEADERS): New test.
Akim Demaille [Fri, 23 Feb 2001 15:11:18 +0000 (15:11 +0000)]
* automake.in (&am_install_var): Don't hook on the clean targets
and .PHONY.
* data-clean.am, java-clean.am, libs-clean.am, lisp-clean.am,
* ltlib-clean.am, progs-clean.am, python-clean.am, tags-clean.am:
Do it.
Akim Demaille [Fri, 23 Feb 2001 15:03:51 +0000 (15:03 +0000)]
* automake.in (&handle_man_pages): Let install-man and
uninstall-man be handled by the dependency tracker.
(&initialize_per_input): Let %dependencies track them.
* mans.am: Add the needed hooks with the proper dependencies.
Akim Demaille [Wed, 21 Feb 2001 08:35:51 +0000 (08:35 +0000)]
* dist-vars.am: Remove, merge into...
* distdir.am: this.
* automake.in (dirname, basename, backname): Move at the top of
the file so that prototypes are checked,
Use them without `&'.
(&handle_dist): Adjust.
Akim Demaille [Wed, 21 Feb 2001 08:35:02 +0000 (08:35 +0000)]
* automake.in (&check_ambiguous_conditional, &read_main_am_file):
Use a uniform naming scheme.
("e_cond_val, &unquote_cond_val): Delete, dead code.
(&read_am_file): Fix conditioned definition of backslash continued
items.
Akim Demaille [Wed, 21 Feb 2001 08:32:03 +0000 (08:32 +0000)]
Change the handling of conditionals: instead of using an ad-hoc
encoding to store a hash in a string, use hashes.
* automake.in (&conditional_dump): New.
(&check_ambiguous_conditional, &variable_defined)
(&variable_conditions_sub, &variable_value_as_list_worker)
(&define_variable, read_am_file, &read_main_am_file): Be sure to
handle `$conditional{$vars}' as a hash instead of a plain string.
Akim Demaille [Wed, 21 Feb 2001 08:31:40 +0000 (08:31 +0000)]
* automake.in (&conditional_true_when): Modernize, simplify.
Warning: `$comp' is now private (my), while it used to be
`inherited' from a `local' elsewhere in the code. AFAICT it was
wrong, but some dirty side effect might show up.
(&conditionals_true_when): New.
(&variable_conditions_sub, &variable_conditions_reduce): Use it.
Akim Demaille [Wed, 21 Feb 2001 08:30:55 +0000 (08:30 +0000)]
* automake.in ($top_builddir): Remove, used in one place.
(&define_standard_variables): Adjust.
Move the definition of triplet variables into...
* header-vars.am: here.
Akim Demaille [Wed, 21 Feb 2001 08:30:39 +0000 (08:30 +0000)]
* automake.in (&initialize_global_constants): Don't define $USAGE.
(&usage): Handle the former content of $USAGE.
Don't pretend autoconf cares about Makefile.in.
Classify the options.
(&handle_tests): Formatting and mying changes.
Akim Demaille [Wed, 21 Feb 2001 08:28:02 +0000 (08:28 +0000)]
* automake.in (&handle_tests_dejagnu): Move the definition of a
default `site.exp' into...
* dejagnu.am (site.exp): here.
Use DOS compliant file names.
Akim Demaille [Wed, 21 Feb 2001 08:26:34 +0000 (08:26 +0000)]
* dist.am: Remove, merge into...
* distdir.am: here. Use the neat sed snippet for banners.
BTW, distcheck is phony.
* automake.in (&handle_dist_worker): Remove, merge into...
(&handle_dist): this.
(&file_contents): Strip leading new lines.
Be sure to end comments with new lines.
Akim Demaille [Wed, 21 Feb 2001 08:20:39 +0000 (08:20 +0000)]
* distdir.am (distdir): Be sure to have permissive rights on its
contents.
(dist-all, dist-bzip2, dist-zip, dist-tarZ): New conditional
targets.
And BTW, all these guys are phony.
* automake.in (&handle_dist_worker): As its name doesn't indicate,
output distributions.
(&handle_dist): As its name doesn't indicate, don't.
(&initialize_global_constants): Don't define variables which
content is now handled by distdir.am.
But register `dist-all' as a factored target.
(&handle_factored_dependencies): Don't output empty targets.
Tom Tromey [Mon, 19 Feb 2001 00:12:15 +0000 (00:12 +0000)]
* m4/strip.m4 (AM_PROG_INSTALL_STRIP): Don't call AM_PROG_STRIP.
Set INSTALL_STRIP_PROGRAM_ENV to `$(STRIP)', not `$STRIP'.
(AM_PROG_STRIP): Commented out.
Tom Tromey [Sun, 18 Feb 2001 00:35:18 +0000 (00:35 +0000)]
2001-02-17 Tom Tromey <tromey@redhat.com>
* automake.in (handle_merge_targets): Use double quotes around
setting of INSTALL_STRIP_PROGRAM.
* m4/strip.m4 (AM_PROG_INSTALL_STRIP): Set INSTALL_STRIP_PROGRAM
to absolute path at runtime.
(AM_PROG_STRIP): Don't explicitly test $STRIP.
* m4/strip.m4: New file.
* m4/Makefile.am (m4data_DATA): Add strip.m4.
* m4/init.m4: Call AM_PROG_INSTALL_STRIP.
* m4/missing.m4 (AM_AUX_DIR_EXPAND): New function.
(AM_MISSING_INSTALL_SH, AM_MISSING_HAS_RUN): Use $am_aux_dir instead
of $ac_aux_dir, and require AM_AUX_DIR_EXPAND.
* m4/depend.m4 (AM_DEP_TRACK): Likewise.
* automake.in (handle_merge_targets): In the install-strip rule,
set INSTALL_PROGRAM to INSTALL_STRIP_PROGRAM, and INSTALL_PROGRAM_ENV
to INSTALL_STRIP_PROGRAM_ENV; don't use INSTALL_STRIP_FLAG.
* progs.am (install-@DIR@PROGRAMS): Adapt to use INSTALL_PROGRAM_ENV,
don't use INSTALL_STRIP_FLAG any longer.
* header-vars.am (INSTALL_STRIP_FLAG): Remove.
(INSTALL_PROGRAM_ENV): New variable.
* automake.in (unquote_m4_arg): New function.
(scan_one_configure_file): Call unquote_m4_arg on
AM_CONFIG_HEADER argument, so that AM_CONFIG_HEADER([foobar.h])
works.
Tom Tromey [Fri, 16 Feb 2001 06:16:27 +0000 (06:16 +0000)]
* tests/subobj3.test: Exit with status 77 if gcc not found.
* tests/pr9.test: Exit with status 77 if gzip not found.
* tests/pr87.test: Exit with status 77 if gcc not found.
* tests/pr19.test: Exit with status 77 if gzip or gcc not found.
* tests/install2.test: Exit with status 77 if gzip not found.
* tests/exsource.test: Exit with status 77 if GNU make not found.
* tests/ansi3.test: Exit with status 77 if gcc not found.
* tests/target-cflags.test: Require GNU make. Exit with status 77
if gcc or make not found. Fixes PR automake/121.