From 452fa100e8194069f08d5ae8791ab6b5a8afbe87 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 7 May 2001 17:22:08 +0000 Subject: [PATCH] * automake.in (&handle_languages): Move the `if ($use_dependencies)' block so that loops over extensions and languages are next to each other. --- ChangeLog | 6 ++ automake.in | 159 ++++++++++++++++++++++++++++++++++------------------ 2 files changed, 110 insertions(+), 55 deletions(-) diff --git a/ChangeLog b/ChangeLog index cd5debbd..ca0602a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2001-05-07 Akim Demaille + + * automake.in (&handle_languages): Move the `if + ($use_dependencies)' block so that loops over extensions and + languages are next to each other. + 2001-05-07 Akim Demaille * automake.in (&depend2): Remove, merged in... diff --git a/automake.in b/automake.in index aa97528f..1484c849 100755 --- a/automake.in +++ b/automake.in @@ -1315,8 +1315,61 @@ sub get_object_extension # Call finish function for each language that was used. sub handle_languages { - my ($ltcompile, $ltlink) = &libtool_compiler; + if ($use_dependencies) + { + # Include auto-dep code. Don't include it if DEP_FILES would + # be empty. + if (&saw_sources_p (0) && keys %dep_files) + { + my $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. + my $depcomp_dir = ($config_aux_dir_specified ? $config_aux_dir + : '.'); + $require_file_found{'depcomp'} = 1 if -f "$depcomp_dir/depcomp"; + + # Set location of depcomp. + my $prefix = ($config_aux_dir_specified ? $config_aux_dir + : '$(top_srcdir)'); + + &define_variable ('depcomp', "\$(SHELL) $prefix/depcomp"); + + &require_config_file ($FOREIGN, 'depcomp'); + + my @deplist = sort keys %dep_files; + + # We define this as a conditional variable because BSD + # make can't handle backslashes for continuing comments on + # the following line. + &define_pretty_variable ('DEP_FILES', 'AMDEP_TRUE', @deplist); + # Generate each `include' individually. Irix 6 make will + # not properly include several files resulting from a + # variable expansion; generating many separate includes + # seems safest. + $output_rules .= "\n"; + foreach my $iter (@deplist) + { + # The strange concatentation is used to avoid + # substitutions from our own configure. + $output_rules .= ('@AMDEP' . '_TRUE@@_am_include@ @_am_quote@' + . $iter . '@_am_quote@' . "\n"); + } + + $output_rules .= &file_contents ('depend'); + } + } + else + { + &define_variable ('depcomp', ''); + } + + my ($ltcompile, $ltlink) = &libtool_compiler; my %done; # Is the c linker needed? @@ -1408,60 +1461,6 @@ sub handle_languages $ltlink . '$(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@'); } - if ($use_dependencies) - { - # Include auto-dep code. Don't include it if DEP_FILES would - # be empty. - if (&saw_sources_p (0) && keys %dep_files) - { - my $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. - my $depcomp_dir = ($config_aux_dir_specified ? $config_aux_dir - : '.'); - $require_file_found{'depcomp'} = 1 if -f "$depcomp_dir/depcomp"; - - # Set location of depcomp. - my $prefix = ($config_aux_dir_specified ? $config_aux_dir - : '$(top_srcdir)'); - - &define_variable ('depcomp', "\$(SHELL) $prefix/depcomp"); - - &require_config_file ($FOREIGN, 'depcomp'); - - my @deplist = sort keys %dep_files; - - # We define this as a conditional variable because BSD - # make can't handle backslashes for continuing comments on - # the following line. - &define_pretty_variable ('DEP_FILES', 'AMDEP_TRUE', @deplist); - - # Generate each `include' individually. Irix 6 make will - # not properly include several files resulting from a - # variable expansion; generating many separate includes - # seems safest. - $output_rules .= "\n"; - foreach my $iter (@deplist) - { - # The strange concatentation is used to avoid - # substitutions from our own configure. - $output_rules .= ('@AMDEP' . '_TRUE@@_am_include@ @_am_quote@' - . $iter . '@_am_quote@' . "\n"); - } - - $output_rules .= &file_contents ('depend'); - } - } - else - { - &define_variable ('depcomp', ''); - } - foreach my $lang (values %languages) { if ($lang->autodep ne 'no') @@ -1657,6 +1656,56 @@ sub check_libobjs_sources } } + if ($use_dependencies) + { + # Include auto-dep code. Don't include it if DEP_FILES would + # be empty. + if (&saw_sources_p (0) && keys %dep_files) + { + my $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. + my $depcomp_dir = ($config_aux_dir_specified ? $config_aux_dir + : '.'); + $require_file_found{'depcomp'} = 1 if -f "$depcomp_dir/depcomp"; + + # Set location of depcomp. + my $prefix = ($config_aux_dir_specified ? $config_aux_dir + : '$(top_srcdir)'); + + &define_variable ('depcomp', "\$(SHELL) $prefix/depcomp"); + + &require_config_file ($FOREIGN, 'depcomp'); + + my @deplist = sort keys %dep_files; + + # We define this as a conditional variable because BSD + # make can't handle backslashes for continuing comments on + # the following line. + &define_pretty_variable ('DEP_FILES', 'AMDEP_TRUE', @deplist); + + # Generate each `include' individually. Irix 6 make will + # not properly include several files resulting from a + # variable expansion; generating many separate includes + # seems safest. + $output_rules .= "\n"; + foreach my $iter (@deplist) + { + $output_rules .= '@AMDEP_TRUE@@_am_include@ ' . $iter . "\n"; + } + + $output_rules .= &file_contents ('depend'); + } + } + else + { + &define_variable ('depcomp', ''); + } # ($LINKER, @OBJECTS) # handle_single_transform_list ($VAR, $DERIVED, $OBJ, @FILES) -- 2.43.5