line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package ExtUtils::CBuilder::Platform::Unix; |
2
|
|
|
|
|
|
|
|
3
|
4
|
|
|
4
|
|
26
|
use warnings; |
|
4
|
|
|
|
|
9
|
|
|
4
|
|
|
|
|
131
|
|
4
|
4
|
|
|
4
|
|
20
|
use strict; |
|
4
|
|
|
|
|
8
|
|
|
4
|
|
|
|
|
112
|
|
5
|
4
|
|
|
4
|
|
1718
|
use ExtUtils::CBuilder::Base; |
|
4
|
|
|
|
|
13
|
|
|
4
|
|
|
|
|
1317
|
|
6
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
our $VERSION = '0.280234'; # VERSION |
8
|
|
|
|
|
|
|
our @ISA = qw(ExtUtils::CBuilder::Base); |
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
sub link_executable { |
11
|
1
|
|
|
1
|
0
|
1899
|
my $self = shift; |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
# On some platforms (which ones??) $Config{cc} seems to be a better |
14
|
|
|
|
|
|
|
# bet for linking executables than $Config{ld}. Cygwin is a notable |
15
|
|
|
|
|
|
|
# exception. |
16
|
|
|
|
|
|
|
local $self->{config}{ld} = |
17
|
1
|
|
|
|
|
16
|
$self->{config}{cc} . " " . $self->{config}{ldflags}; |
18
|
1
|
|
|
|
|
32
|
return $self->SUPER::link_executable(@_); |
19
|
|
|
|
|
|
|
} |
20
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
sub link { |
22
|
8
|
|
|
8
|
0
|
696
|
my $self = shift; |
23
|
8
|
|
|
|
|
314
|
my $cf = $self->{config}; |
24
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
# Some platforms (notably Mac OS X 10.3, but some others too) expect |
26
|
|
|
|
|
|
|
# the syntax "FOO=BAR /bin/command arg arg" to work in %Config |
27
|
|
|
|
|
|
|
# (notably $Config{ld}). It usually works in system(SCALAR), but we |
28
|
|
|
|
|
|
|
# use system(LIST). We fix it up here with 'env'. |
29
|
|
|
|
|
|
|
|
30
|
8
|
|
|
|
|
179
|
local $cf->{ld} = $cf->{ld}; |
31
|
8
|
50
|
|
|
|
94
|
if (ref $cf->{ld}) { |
32
|
0
|
0
|
|
|
|
0
|
unshift @{$cf->{ld}}, 'env' if $cf->{ld}[0] =~ /^\s*\w+=/; |
|
0
|
|
|
|
|
0
|
|
33
|
|
|
|
|
|
|
} else { |
34
|
8
|
|
|
|
|
96
|
$cf->{ld} =~ s/^(\s*\w+=)/env $1/; |
35
|
|
|
|
|
|
|
} |
36
|
|
|
|
|
|
|
|
37
|
8
|
|
|
|
|
192
|
return $self->SUPER::link(@_); |
38
|
|
|
|
|
|
|
} |
39
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
1; |