/usr/local/share/perl5/ExtUtils/CBuilder/Platform
NameSizeModeActions
Windows/-0755rm
aix.pm6600444editdlrm
android.pm12550444editdlrm
cygwin.pm9700444editdlrm
darwin.pm5580444editdlrm
dec_osf.pm4670444editdlrm
os2.pm24460444editdlrm
Unix.pm10820444editdlrm
VMS.pm103230444editdlrm
Windows.pm89920444editdlrm
Edit: /usr/local/share/perl5/ExtUtils/CBuilder/Platform/Unix.pm (1082B)
package ExtUtils::CBuilder::Platform::Unix; $ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280224'; use warnings; use strict; use ExtUtils::CBuilder::Base; use vars qw(@ISA); @ISA = qw(ExtUtils::CBuilder::Base); sub link_executable { my $self = shift; # On some platforms (which ones??) $Config{cc} seems to be a better # bet for linking executables than $Config{ld}. Cygwin is a notable # exception. local $self->{config}{ld} = $self->{config}{cc} . " " . $self->{config}{ldflags}; return $self->SUPER::link_executable(@_); } sub link { my $self = shift; my $cf = $self->{config}; # Some platforms (notably Mac OS X 10.3, but some others too) expect # the syntax "FOO=BAR /bin/command arg arg" to work in %Config # (notably $Config{ld}). It usually works in system(SCALAR), but we # use system(LIST). We fix it up here with 'env'. local $cf->{ld} = $cf->{ld}; if (ref $cf->{ld}) { unshift @{$cf->{ld}}, 'env' if $cf->{ld}[0] =~ /^\s*\w+=/; } else { $cf->{ld} =~ s/^(\s*\w+=)/env $1/; } return $self->SUPER::link(@_); } 1;