From 4c4b4b8e82822697af882320642bda916f28bfa4 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 29 Sep 1998 01:28:42 +0000 Subject: [PATCH] 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. --- ChangeLog | 7 +++++++ TODO | 22 +++++++++------------- automake.in | 17 +++++++++++++++++ 3 files changed, 33 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 56566f01..7b211855 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Tue Sep 29 00:10:22 1998 Tom Tromey + + 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. + 1998-05-26 Marcus G. Daniels * automake.in: New pattern: INCLUDE_PATTERN. diff --git a/TODO b/TODO index ebdec980..37e6fe57 100644 --- a/TODO +++ b/TODO @@ -41,8 +41,8 @@ It should also have AM_FOOFLAGS, which can be set in Makefile.am. DONE: but needs to be documented -* Should have a --copy like libtoolize - Should be able to update files that would be installed with -a +* Should be able to update files that would be installed with -a + (--force?) * "make diff" capability look at gcc's Makefile.in to see what to do @@ -153,9 +153,6 @@ might make editing conceptually easier. * consider adding pkglibexecdir, maybe others? requests for pkg-dirs with version included -Further: -- man page fixes - Avoid loops when installing; instead unroll them in automake * for new autoconf: @@ -174,10 +171,13 @@ Avoid loops when installing; instead unroll them in automake Some long-term projects: * if $(FOO) is used somewhere, ensure FOO is defined, either by user or by automake if possible -* Don't rearrange order of `include' lines relative to += assignments. -* Handle += assignments at all. -* Handle `include' lines by scanning other files, and adding - to Makefile.in dependency + +* Handle += assignments +X Handle `include' lines by scanning other files, and adding + to Makefile.in dependency [ this is done, but needs += to be really + useful ] + even better would be allowing targets in different included + fragments to be merged. e.g., `install-local'. consider putting all check-* targets onto @check? To support --help/--version checking? @@ -242,10 +242,6 @@ characters long. * standards no longer prohibit ANSI C. What does this imply for the de-ansi-fication feature? -consider supporting "var+= stuff" syntax. rewrite to just var=... on -output. This is sometimes convenient when you want to write a -Makefile.am in more-or-less modular parts - should be able to determine what is built by looking at rules (and configure.in). Then built man pages (eg) could automatically be omitted from the distribution. diff --git a/automake.in b/automake.in index 32d8689a..b0ee8078 100755 --- a/automake.in +++ b/automake.in @@ -214,6 +214,11 @@ $seen_objext = 0; # values are meaningless. %configure_vars = (); +# This is used to keep track of which variable definitions we are +# scanning. It is only used in certain limited ways, but it has to be +# global. It is declared just for documentation purposes. +%vars_scanned = (); + # Charsets used by maintainer and in distribution. MAINT_CHARSET is # handled in a funny way: if seen in the top-level Makefile.am, it is # used for every directory which does not specify a different value. @@ -4692,6 +4697,10 @@ sub variable_conditions_sub } } + # Unset our entry in vars_scanned. We only care about recursive + # definitions. + delete $vars_scanned{$var}; + return &variable_conditions_permutations (keys %allconds); } @@ -4749,6 +4758,10 @@ sub variable_conditions_sub } } + # Unset our entry in vars_scanned. We only care about recursive + # definitions. + delete $vars_scanned{$var}; + return @new_conds if ! $parent; @@ -5021,6 +5034,10 @@ sub variable_value_as_list_worker push (@result, &value_to_list ($var, $contents{$var}, $cond)); } + # Unset our entry in vars_scanned. We only care about recursive + # definitions. + delete $vars_scanned{$var}; + return @result; } -- 2.43.5