From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

$ExtUtils::Builder::Linker::Mach::GCC::VERSION = '0.030';
use strict;
sub _init {
my ($self, %args) = @_;
$args{ld} //= [qw/env MACOSX_DEPLOYMENT_TARGET=10.3 cc/];
$args{export} //= 'all';
$self->SUPER::_init(%args);
return;
}
my %flag_for = (
'loadable-object' => [qw/-bundle -undefined dynamic_lookup/],
'shared-library' => ['-dynamiclib'],
);
sub linker_flags {
my ($self, $from, $to, %args) = @_;
my @ret = $self->SUPER::linker_flags($from, $to, %args);
push @ret, $self->new_argument(rank => 10, value => $flag_for{ $self->type }) if $flag_for{ $self->type };
return @ret;
}
sub add_runtime_path {
my ($self, $dirs, %opts) = @_;
$self->add_argument(ranking => $self->fix_ranking(30, $opts{ranking}), value => [ map { "-Wl,-rpath,$_" } @{$dirs} ]);
return;
}
1;