use File::Basename ();
use vars qw($VERSION @ISA);
-$VERSION = '0.11_01';
+$VERSION = '0.12';
$VERSION = eval $VERSION;
# Okay, this is the brute-force method of finding out what kind of
=back
The operation of this method is also affected by the
-C<installarchlib>, C<cccdlflags>, C<ccflags>, C<optimize>, and C<cc>
+C<archlibexp>, C<cccdlflags>, C<ccflags>, C<optimize>, and C<cc>
entries in C<Config.pm>.
=item link
use Text::ParseWords;
use vars qw($VERSION);
-$VERSION = '0.00_02';
-$VERSION = eval $VERSION;
+$VERSION = '0.12';
sub new {
my $class = shift;
my @temp_files;
@temp_files =
$self->prelink(%args,
- dl_name => $args{module_name}) if $self->need_prelink;
+ dl_name => $args{module_name}) if $args{lddl} && $self->need_prelink;
my @linker_flags = $self->split_like_shell($args{extra_linker_flags});
my @output = $args{lddl} ? $self->arg_share_object_file($out) : $self->arg_exec_file($out);
# N.B. makemaker actually searches regardless of PERL_CORE, but
# only squawks at not finding it if PERL_CORE is set
- if ($ENV{PERL_CORE}) {
- my $Updir = File::Spec->updir;
- my($dir);
- foreach $dir ($Updir,
- File::Spec->catdir($Updir,$Updir),
- File::Spec->catdir($Updir,$Updir,$Updir),
- File::Spec->catdir($Updir,$Updir,$Updir,$Updir),
- File::Spec->catdir($Updir,$Updir,$Updir,$Updir,$Updir))
- {
- if (
- -f File::Spec->catfile($dir,"config_h.SH")
- &&
- -f File::Spec->catfile($dir,"perl.h")
- &&
- -f File::Spec->catfile($dir,"lib","Exporter.pm")
- ) {
- return $dir;
- }
+ return unless $ENV{PERL_CORE};
+
+ my $Updir = File::Spec->updir;
+ my $dir = $Updir;
+
+ # Try up to 5 levels upwards
+ for (1..5) {
+ if (
+ -f File::Spec->catfile($dir,"config_h.SH")
+ &&
+ -f File::Spec->catfile($dir,"perl.h")
+ &&
+ -f File::Spec->catfile($dir,"lib","Exporter.pm")
+ ) {
+ return $dir;
}
- warn "PERL_CORE is set but I can't find your perl source!\n";
+ $dir = File::Spec->catdir($dir, $Updir);
}
-
+
+ warn "PERL_CORE is set but I can't find your perl source!\n";
return;
}
use ExtUtils::CBuilder::Base;
use vars qw($VERSION @ISA);
-$VERSION = '0.01';
+$VERSION = '0.12';
@ISA = qw(ExtUtils::CBuilder::Base);
+sub link_executable {
+ my $self = shift;
+ # $Config{cc} is usually a better bet for linking executables than $Config{ld}
+ local $self->{config}{ld} =
+ $self->{config}{cc} . " " . $self->{config}{ldflags};
+ return $self->SUPER::link_executable(@_);
+}
+
sub link {
my $self = shift;
my $cf = $self->{config};
use ExtUtils::CBuilder::Base;
use vars qw($VERSION @ISA);
-$VERSION = '0.01';
+$VERSION = '0.12';
@ISA = qw(ExtUtils::CBuilder::Base);
sub need_prelink { 0 }
use ExtUtils::CBuilder::Base;
use vars qw($VERSION @ISA);
-$VERSION = '0.01';
+$VERSION = '0.12';
@ISA = qw(ExtUtils::CBuilder::Base);
sub new {
# if running in perl source tree, look for libs there, not installed
my $lddlflags = $cf->{lddlflags};
my $perl_src = $self->perl_src();
- $lddlflags =~ s/\Q$cf->{archlibexp}\E\\CORE/$perl_src/ if $perl_src;
+ $lddlflags =~ s/\Q$cf->{archlibexp}\E[\\\/]CORE/$perl_src/ if $perl_src;
my %spec = (
srcdir => $to,
use File::Spec;
use vars qw($VERSION @ISA);
-$VERSION = '0.01';
+$VERSION = '0.12';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
use ExtUtils::CBuilder::Platform::Unix;
use vars qw($VERSION @ISA);
-$VERSION = '0.01';
+$VERSION = '0.12';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub link_executable {
use ExtUtils::CBuilder::Platform::Unix;
use vars qw($VERSION @ISA);
-$VERSION = '0.01';
+$VERSION = '0.12';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub compile {
use ExtUtils::CBuilder::Platform::Unix;
use vars qw($VERSION @ISA);
-$VERSION = '0.01';
+$VERSION = '0.12';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
my($XSS_work_idx, $cpp_next_tmp);
use vars qw($VERSION);
-$VERSION = '2.09_02';
-$VERSION = eval $VERSION;
+$VERSION = '2.10';
use vars qw(%input_expr %output_expr $ProtoUsed @InitFileCode $FH $proto_re $Overload $errors $Fallback
$cplusplus $hiertype $WantPrototypes $WantVersionChk $except $WantLineNumbers