From 4ffbab9337430131b21ce784a10aed67dbd35373 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 10 Sep 2021 15:45:29 -0700 Subject: automake: consistently depend on install-libLTLIBRARIES. Report and patch: https://lists.gnu.org/archive/html/automake/2021-08/msg00016.html * bin/automake.in (generate_makefile): depend on install-libLTLIBRARIES for all PROGRAMS and LTLIBRARIES, such as install-pkglibLTLIBRARIES. * NEWS: mention this. --- NEWS | 4 ++++ bin/automake.in | 25 +++++++++++++++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index bb3e3ae47..fe66a06f3 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ please see NEWS-2.0 and start following the advice there now. New in ?.?.?: +* Bugs fixed + + - consistently depend on install-libLTLIBRARIES. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New in 1.16.4: diff --git a/bin/automake.in b/bin/automake.in index f04f5d5f5..30babd607 100644 --- a/bin/automake.in +++ b/bin/automake.in @@ -8042,13 +8042,26 @@ sub generate_makefile handle_all ($makefile); # FIXME: Gross! - if (var ('lib_LTLIBRARIES') && var ('bin_PROGRAMS')) + my $have_lt1 = !!var("lib_LTLIBRARIES"); + my $have_lt2 = !!var("nobase_lib_LTLIBRARIES"); + for my $var (variables("PROGRAMS"), variables("LTLIBRARIES")) { - $output_rules .= "install-binPROGRAMS: install-libLTLIBRARIES\n\n"; - } - if (var ('nobase_lib_LTLIBRARIES') && var ('bin_PROGRAMS')) - { - $output_rules .= "install-binPROGRAMS: install-nobase_libLTLIBRARIES\n\n"; + if ($var->name eq "lib_LTLIBRARIES" + || $var->name eq "nobase_lib_LTLIBRARIES" + || substr($var->name, 0, 7) eq "noinst_") + { + next; + } + my $shortname = $var->name; + $shortname =~ tr{_}{}d; + if ($have_lt1) + { + $output_rules .= "install-$shortname: install-libLTLIBRARIES\n\n"; + } + if ($have_lt2) + { + $output_rules .= "install-$shortname: install-nobase_libLTLIBRARIES\n\n"; + } } handle_install; -- cgit v1.2.1