Lines Matching refs:spec
18 my(%spec) = @_;
22 unless ( $spec{NAME} or
23 ($spec{FILE} and ($spec{DL_FUNCS} or $spec{FUNCLIST})) );
25 $spec{DL_VARS} = [] unless $spec{DL_VARS};
26 ($spec{FILE} = $spec{NAME}) =~ s/.*::// unless $spec{FILE};
27 $spec{FUNCLIST} = [] unless $spec{FUNCLIST};
28 $spec{DL_FUNCS} = { $spec{NAME} => [] }
29 unless ( ($spec{DL_FUNCS} and keys %{$spec{DL_FUNCS}}) or
30 @{$spec{FUNCLIST}});
31 if (defined $spec{DL_FUNCS}) {
32 foreach my $package (sort keys %{$spec{DL_FUNCS}}) {
35 foreach my $sym (@{$spec{DL_FUNCS}->{$package}}) {
37 push(@{$spec{FUNCLIST}},$sym);
41 push(@{$spec{FUNCLIST}},"XS_${packprefix}_$sym");
44 push(@{$spec{FUNCLIST}},"boot_$packprefix") unless $bootseen;
51 if (defined &DynaLoader::mod2fname and not $spec{DLBASE}) {
52 $spec{DLBASE} = DynaLoader::mod2fname([ split(/::/,$spec{NAME}) ]);
55 if ($osname eq 'aix') { _write_aix(\%spec); }
56 elsif ($osname eq 'MacOS'){ _write_aix(\%spec) }
57 elsif ($osname eq 'VMS') { _write_vms(\%spec) }
58 elsif ($osname eq 'os2') { _write_os2(\%spec) }
59 elsif ($osname eq 'MSWin32') { _write_win32(\%spec) }