"Fossies" - the Fresh Open Source Software Archive

Member "install-tl-20200916/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm" (7 Mar 2020, 1046 Bytes) of package /windows/misc/install-tl.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Perl source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 package ExtUtils::CBuilder::Platform::Unix;
    2 
    3 use warnings;
    4 use strict;
    5 use ExtUtils::CBuilder::Base;
    6 
    7 our $VERSION = '0.280231'; # VERSION
    8 our @ISA = qw(ExtUtils::CBuilder::Base);
    9 
   10 sub link_executable {
   11   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     $self->{config}{cc} . " " . $self->{config}{ldflags};
   18   return $self->SUPER::link_executable(@_);
   19 }
   20 
   21 sub link {
   22   my $self = shift;
   23   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   local $cf->{ld} = $cf->{ld};
   31   if (ref $cf->{ld}) {
   32     unshift @{$cf->{ld}}, 'env' if $cf->{ld}[0] =~ /^\s*\w+=/;
   33   } else {
   34     $cf->{ld} =~ s/^(\s*\w+=)/env $1/;
   35   }
   36 
   37   return $self->SUPER::link(@_);
   38 }
   39 
   40 1;