]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
automake: consistently depend on install-libLTLIBRARIES.
authorJan Engelhardt <jengelh@inai.de>
Fri, 10 Sep 2021 22:45:29 +0000 (15:45 -0700)
committerKarl Berry <karl@freefriends.org>
Fri, 10 Sep 2021 22:45:29 +0000 (15:45 -0700)
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
bin/automake.in

diff --git a/NEWS b/NEWS
index bb3e3ae4781cc28fff0f793ba4959669a2a0024a..fe66a06f3d05bc509eb604ad02516a1425f7d27c 100644 (file)
--- 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:
index f04f5d5f55543dd02560ee9564c20e3cb6b940bf..30babd6075b5a5211771329411b197005c4de95e 100644 (file)
@@ -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;