| | 250 | # TT #347 |
| | 251 | # 1. skip build_dir-only binaries for @installable_exe |
| | 252 | for (@installable_exe) { |
| | 253 | my ( $i, $dest ) = @$_; |
| | 254 | my ($file) = $i =~ /installable_(.+)$/; |
| | 255 | next unless $file; |
| | 256 | my @f = map { $_ ? $_->[0] : '' } @files; |
| | 257 | if (grep(/^$file$/, @f)) { |
| | 258 | if (-e $file) { |
| | 259 | print "skipping $file, using installable_$file instead\n"; |
| | 260 | @files = map {$_ and $_->[0] !~ /^$file$/ ? $_ : undef} @files; |
| | 261 | } |
| | 262 | } |
| | 263 | } |
| | 264 | # 2. for every .exe check if there's an installable. fail if not |
| | 265 | foreach my $f (@files ) { |
| | 266 | next unless $_; |
| | 267 | my ( $f, $dest ) = @$_; |
| | 268 | # this logic will fail on non-win32 if the generated files |
| | 269 | # are really generated as planned. Here we don't have [main]bin here. |
| | 270 | my $i = "installable_$f" if $f =~ /\.exe$/; |
| | 271 | next unless $i; |
| | 272 | unless (map {$_->[0] =~ /^$i$/} @installable_exe) { |
| | 273 | die "$i is missing in MANIFEST or MANIFEST.generated\n"; |
| | 274 | } |
| | 275 | } |