package ExtUtils::CBuilder::Platform::android; $ExtUtils::CBuilder::Platform::android::VERSION = '0.280225'; use warnings; use strict; use File::Spec; use ExtUtils::CBuilder::Platform::Unix; use Config; use vars qw(@ISA); @ISA = qw(ExtUtils::CBuilder::Platform::Unix); # The Android linker will not recognize symbols from # libperl unless the module explicitly depends on it. sub link { my ($self, %args) = @_; if ($self->{config}{useshrplib} eq 'true') { $args{extra_linker_flags} = [ $self->split_like_shell($args{extra_linker_flags}), '-L' . $self->perl_inc(), '-lperl', $self->split_like_shell($Config{perllibs}), ]; } # Several modules on CPAN rather rightfully expect being # able to pass $so_file to DynaLoader::dl_load_file and # have it Just Work. However, $so_file will more likely # than not be a relative path, and unless the module # author subclasses MakeMaker/Module::Build to modify # LD_LIBRARY_PATH, which would be insane, Android's linker # won't find the .so # So we make this all work by returning an absolute path. my($so_file, @so_tmps) = $self->SUPER::link(%args); $so_file = File::Spec->rel2abs($so_file); return wantarray ? ($so_file, @so_tmps) : $so_file; } 1;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Windows | Folder | 0755 |
|
|
Unix.pm | File | 1.06 KB | 0644 |
|
VMS.pm | File | 10.08 KB | 0644 |
|
Windows.pm | File | 8.79 KB | 0644 |
|
aix.pm | File | 660 B | 0644 |
|
android.pm | File | 1.23 KB | 0644 |
|
cygwin.pm | File | 970 B | 0644 |
|
darwin.pm | File | 558 B | 0644 |
|
dec_osf.pm | File | 467 B | 0644 |
|
os2.pm | File | 2.39 KB | 0644 |
|