Lines Matching refs:self
53 my $self = shift;
56 my $fh = $self->{output};
82 my $self = shift;
88 my @list = @{ $self->{info}->{depends}->{$thing} //
89 $self->{info}->{depends}->{$extensionlessthing}
100 next if defined $self->{info}->{attributes}->{depends}->{$thing}->{$item}->{'weak'};
101 my @resolved = $self->collectdepends($item, @listsofar, $item);
113 my $self = shift;
140 } @{$self->{info}->{depends}->{$item} // []}
186 my $self = shift;
190 reducedepends($self->expanddepends(map { ( $_, $self->collectdepends($_) ) } @_));
201 my $self = shift;
204 return "" unless defined $self->{info}->{generate}->{$src};
209 if ($self->{info}->{generate}->{$src}) {
211 if ref $self->{info}->{generate}->{$src} eq "";
212 my $script = $self->{info}->{generate}->{$src}->[0];
213 my %attrs = %{$self->{info}->{attributes}->{generate}->{$src} // {}};
214 $self->emit('generatesrc',
217 generator => $self->{info}->{generate}->{$src},
218 generator_incs => $self->{info}->{includes}->{$script} // [],
219 generator_deps => $self->{info}->{depends}->{$script} // [],
220 deps => $self->{info}->{depends}->{$src} // [],
221 incs => [ defined $obj ? @{$self->{info}->{includes}->{$obj} // []} : (),
222 defined $bin ? @{$self->{info}->{includes}->{$bin} // []} : () ],
223 defs => [ defined $obj ? @{$self->{info}->{defines}->{$obj} // []} : (),
224 defined $bin ? @{$self->{info}->{defines}->{$bin} // []} : () ],
227 foreach (@{$self->{info}->{depends}->{$src} // []}) {
228 $self->dogenerate($_, $obj, $bin, %opts);
231 if ($self->{info}->{generate}->{$script}) {
232 $self->dogenerate($script, $obj, $bin, %opts);
239 my $self = shift;
242 $self->emit('generatetarget',
244 deps => $self->{info}->{depends}->{$target} // []);
245 foreach (@{$self->{info}->{depends}->{$target} // []}) {
246 $self->dogenerate($_);
254 my $self = shift;
259 if (@{$self->{info}->{sources}->{$obj} // []}) {
260 my @srcs = @{$self->{info}->{sources}->{$obj}};
261 my @deps = @{$self->{info}->{depends}->{$obj} // []};
262 my @incs = ( @{$self->{info}->{includes}->{$obj} // []},
263 @{$self->{info}->{includes}->{$bin} // []} );
264 my @defs = ( @{$self->{info}->{defines}->{$obj} // []},
265 @{$self->{info}->{defines}->{$bin} // []} );
281 $self->emit('src2obj',
286 foreach ((@{$self->{info}->{sources}->{$obj}},
287 @{$self->{info}->{depends}->{$obj} // []})) {
288 $self->dogenerate($_, $obj, $bin, %opts);
300 my $self = shift;
307 map { @{$self->{info}->{$section}->{$_} // []} }
312 my $self = shift;
319 my @x = $self->getlibobjs($section, @{$self->{info}->{$section}->{$_}});
322 grep { defined $self->{info}->{$section}->{$_} }
331 my $self = shift;
335 my %attrs = %{$self->{info}->{attributes}->{libraries}->{$lib} // {}};
337 my @deps = ( $self->resolvedepends(getsrclibs('sources', $lib)) );
355 unless ($self->{disabled}->{shared} || $lib =~ /\.a$/) {
365 foreach (@{$self->{info}->{shared_sources}->{$lib} // []}) {
368 } elsif ($self->{info}->{attributes}->{libraries}->{$_}->{noinst}) {
371 push @deps, $self->getsrclibs('sources', $_);
372 push @foreign_objs, $self->getlibobjs('sources', $_);
375 @deps = ( grep { $_ ne $lib } $self->resolvedepends($lib, @deps) );
388 $self->emit('obj2shlib',
396 if (defined $self->{info}->{sources}->{$_}) {
398 $self->dolib($_);
400 $self->doobj($_, $lib, intent => "shlib", attrs => { %attrs });
403 $self->dogenerate($_, undef, undef, intent => "lib");
417 foreach (@{$self->{info}->{sources}->{$lib}}) {
424 @sourcedeps = ( grep { $_ ne $lib } $self->resolvedepends(@sourcedeps) );
428 @foreign_objs = $self->getlibobjs('sources', @sourcedeps);
438 $self->emit('obj2lib',
442 $self->doobj($_, $lib, intent => "lib", attrs => { %attrs });
452 my $self = shift;
455 my %attrs = %{$self->{info}->{attributes}->{modules}->{$module} // {}};
456 my @objs = @{$self->{info}->{sources}->{$module}};
458 $self->resolvedepends($module) );
468 $self->emit('obj2dso',
473 foreach (@{$self->{info}->{sources}->{$module}}) {
476 if (defined $self->{info}->{sources}->{$_}) {
477 $self->doobj($_, $module, intent => "dso", attrs => { %attrs });
479 $self->dogenerate($_, undef, $module, intent => "dso");
488 my $self = shift;
491 my %attrs = %{$self->{info}->{attributes}->{programs}->{$bin} // {}};
492 my @objs = @{$self->{info}->{sources}->{$bin}};
493 my @deps = ( grep { $_ ne $bin } $self->resolvedepends($bin) );
503 $self->emit('obj2bin',
509 $self->doobj($_, $bin, intent => "bin", attrs => { %attrs });
517 my $self = shift;
520 $self->emit('in2script',
522 attrs => $self->{info}->{attributes}->{scripts}->{$script} // {},
523 sources => $self->{info}->{sources}->{$script});
528 my $self = shift;
531 $self->emit('generatedir',
533 deps => $self->{info}->{dirinfo}->{$dir}->{deps} // [],
534 %{$self->{info}->{dirinfo}->{$_}->{products}});
541 my $self = shift;
544 foreach my $doc (@{$self->{info}->{"${type}docs"}->{$section}}) {
546 $self->emit('generatesrc',
548 generator => $self->{info}->{generate}->{$doc});
549 foreach ((@{$self->{info}->{depends}->{$doc} // []})) {
550 $self->dogenerate($_, undef, undef);