Hi,

Latest version of librsvg (2.46.0) uses libtool-rust, which produce .la file a
bit different from gnu libtool.  in particular, dependency_libs and libdir could
be undefined.

but us libtool version doesn't like that: when libdir is undefined it makes
warnings, and just die for dependency_libs (trying to use undef as an array
doesn't work).

The following patch makes us libtool to define these elements if there are
undefined after parsing the .la file.  With that, I was able to build
librsvg-2.46.0 whereas without it just fail.

Due to special nature of libtool, and current position in the release cycle, I
would like to have feedback for this diff with a bulk build, to be sure to not
breaking anything.

Please note I need to update librsvg in order to commit lang/rust 1.38.0 (the
current version of librsvg doesn't build with 1.38.0).

Comments or OK (if the bulk successed) ?
-- 
Sebastien Marie


Index: LT/LaFile.pm
===================================================================
RCS file: /cvs/src/usr.bin/libtool/LT/LaFile.pm,v
retrieving revision 1.23
diff -u -p -r1.23 LaFile.pm
--- LT/LaFile.pm        5 Sep 2014 10:36:39 -0000       1.23
+++ LT/LaFile.pm        26 Sep 2019 12:11:17 -0000
@@ -188,4 +188,18 @@ sub install
        }
 }
 
+sub parse
+{
+       my ($class, $filename) = @_;
+
+       my $info = $class->SUPER::parse($filename);
+
+       $info->{deplib_list} = LT::UList->new
+               if (not defined $info->{deplib_list});
+       $info->{libdir} = ''
+               if (not defined $info->{libdir});
+
+       return $info;
+}
+
 1;

Reply via email to