From 76c31d89767e5643f3ffe7238b62118d917ec9ff Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 6 Aug 2000 13:34:09 +0000 Subject: [PATCH] (handle_dependencies): Set $require_file_found{'depcomp'} if the depcomp file exists, before calling require_config_file on `depcomp'. This makes require_file_internal skip its buggy existence test that would make automake fail (with `required file `lib/depcomp' not found') when AC_CONFIG_AUX_DIR is not set. This change change does not fix the existing bug where, if `depcomp' is not present in the build directory (at the top level), automake still gives the inaccurate diagnostic about *lib*/depcomp rather than ./depcomp. --- automake.in | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/automake.in b/automake.in index 66ed92d3..7ffefe2a 100755 --- a/automake.in +++ b/automake.in @@ -3016,19 +3016,25 @@ sub handle_dependencies # be empty. if (&saw_sources_p (0) && keys %dep_files) { - &require_config_file ($FOREIGN, 'depcomp'); + local ($config_aux_dir_specified) = ($config_aux_dir ne '.' + && $config_aux_dir ne ''); + + # Set $require_file_found{'depcomp'} if the depcomp file exists, + # before calling require_config_file on `depcomp'. This makes + # require_file_internal skip its buggy existence test that would + # make automake fail (with `required file `lib/depcomp' not found') + # when AC_CONFIG_AUX_DIR is not set. See tests/subdir4.test. + local ($depcomp_dir) = ($config_aux_dir_specified ? $config_aux_dir + : '.'); + $require_file_found{'depcomp'} = 1 if -f "$depcomp_dir/depcomp"; # Set location of depcomp. - if ($config_aux_dir ne '.' && $config_aux_dir ne '') - { - &define_variable ('depcomp', ('$(SHELL) ' . $config_aux_dir - . '/depcomp')); - } - else - { - &define_variable ('depcomp', - '$(SHELL) $(top_srcdir)/depcomp'); - } + local ($prefix) = ($config_aux_dir_specified ? $config_aux_dir + : '$(top_srcdir)'); + + &define_variable ('depcomp', "\$(SHELL) $prefix/depcomp"); + + &require_config_file ($FOREIGN, 'depcomp'); local ($iter); local (@deplist) = sort keys %dep_files; -- 2.43.5