This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
upgrade to Time::Piece 1.15
[perl5.git] / lib / ExtUtils / CBuilder / Platform / Unix.pm
CommitLineData
6b09c160
YST
1package ExtUtils::CBuilder::Platform::Unix;
2
3use strict;
4use ExtUtils::CBuilder::Base;
5
6use vars qw($VERSION @ISA);
92760223 7$VERSION = '0.24';
6b09c160
YST
8@ISA = qw(ExtUtils::CBuilder::Base);
9
345dbb93
RGS
10sub link_executable {
11 my $self = shift;
12 # $Config{cc} is usually a better bet for linking executables than $Config{ld}
13 local $self->{config}{ld} =
14 $self->{config}{cc} . " " . $self->{config}{ldflags};
15 return $self->SUPER::link_executable(@_);
16}
17
6b09c160
YST
18sub link {
19 my $self = shift;
20 my $cf = $self->{config};
21
22 # Some platforms (notably Mac OS X 10.3, but some others too) expect
23 # the syntax "FOO=BAR /bin/command arg arg" to work in %Config
24 # (notably $Config{ld}). It usually works in system(SCALAR), but we
25 # use system(LIST). We fix it up here with 'env'.
26
27 local $cf->{ld} = $cf->{ld};
28 if (ref $cf->{ld}) {
29 unshift @{$cf->{ld}}, 'env' if $cf->{ld}[0] =~ /^\s*\w+=/;
30 } else {
31 $cf->{ld} =~ s/^(\s*\w+=)/env $1/;
32 }
33
34 return $self->SUPER::link(@_);
35}
36
371;