summaryrefslogtreecommitdiffstats
path: root/patches/source/intltool/no-guess-builddir.diff
blob: 3670ee5238503b29426068dace12f3dec1e86018 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
=== modified file 'intltool-update.in'
--- intltool-update.in	2014-05-14 02:15:53 +0000
+++ intltool-update.in	2015-02-03 15:05:59 +0000
@@ -620,6 +620,14 @@
 
     my @result;
 
+    # If the builddir is a subdir of srcdir, the list of files found will be prefixed with
+    # an additional prefix (e.g. "_build/sub" for automake 1.15 make distcheck). Try to
+    # handle that, by removing those matches as well.
+    my $absbuilddir = Cwd::abs_path("..\/");
+    my $abssrcdir = Cwd::abs_path("$SRCDIR/..");
+    # Check if builddir is a subdir of srcdir
+    my ($abspath,$relpath) = split /\s*$abssrcdir\/\s*/, $absbuilddir, 2;
+
     foreach (@buf_allfiles_sorted)
     {
         my $dummy = $_;
@@ -628,7 +636,10 @@
         $srcdir =~ s#^../##;
         $dummy =~ s#^$srcdir/../##;
         $dummy =~ s#^$srcdir/##;
-        $dummy =~ s#_build/##;
+        if ($relpath)
+        {
+            $dummy =~ s#^$relpath/##;
+        }
 	if (!exists($in2{$dummy}))
 	{
 	    push @result, $dummy