Server IP : 103.119.228.120 / Your IP : 18.225.195.4 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/perl5/ExtUtils/CBuilder/Platform/ |
Upload File : |
package ExtUtils::CBuilder::Platform::os2; use strict; use ExtUtils::CBuilder::Platform::Unix; use vars qw($VERSION @ISA); $VERSION = '0.280206'; @ISA = qw(ExtUtils::CBuilder::Platform::Unix); sub need_prelink { 1 } sub prelink { # Generate import libraries (XXXX currently near .DEF; should be near DLL!) my $self = shift; my %args = @_; my @res = $self->SUPER::prelink(%args); die "Unexpected number of DEF files" unless @res == 1; die "Can't find DEF file in the output" unless $res[0] =~ m,^(.*)\.def$,si; my $libname = "$1$self->{config}{lib_ext}"; # Put .LIB file near .DEF file $self->do_system('emximp', '-o', $libname, $res[0]) or die "emxexp: res=$?"; return (@res, $libname); } sub _do_link { my $self = shift; my ($how, %args) = @_; if ($how eq 'lib_file' and (defined $args{module_name} and length $args{module_name})) { # DynaLoader::mod2fname() is a builtin func my $lib = DynaLoader::mod2fname([split /::/, $args{module_name}]); # Now know the basename, find directory parts via lib_file, or objects my $objs = ( (ref $args{objects}) ? $args{objects} : [$args{objects}] ); my $near_obj = $self->lib_file(@$objs); my $ref_file = ( defined $args{lib_file} ? $args{lib_file} : $near_obj ); my $lib_dir = ($ref_file =~ m,(.*)[/\\],s ? "$1/" : '' ); my $exp_dir = ($near_obj =~ m,(.*)[/\\],s ? "$1/" : '' ); $args{dl_file} = $1 if $near_obj =~ m,(.*)\.,s; # put ExportList near OBJ $args{lib_file} = "$lib_dir$lib.$self->{config}{dlext}"; # DLL file # XXX _do_link does not have place to put libraries? push @$objs, $self->perl_inc() . "/libperl$self->{config}{lib_ext}"; $args{objects} = $objs; } # Some 'env' do exec(), thus return too early when run from ksh; # To avoid 'env', remove (useless) shrpenv local $self->{config}{shrpenv} = ''; return $self->SUPER::_do_link($how, %args); } sub extra_link_args_after_prelink { # Add .DEF file to the link line my ($self, %args) = @_; my @DEF = grep /\.def$/i, @{$args{prelink_res}}; die "More than one .def files created by 'prelink' stage" if @DEF > 1; # XXXX No "$how" argument here, so how to test for dynamic link? die "No .def file created by 'prelink' stage" unless @DEF or not @{$args{prelink_res}}; my @after_libs = ($OS2::is_aout ? () : $self->perl_inc() . "/libperl_override$self->{config}{lib_ext}"); # , "-L", "-lperl" (@after_libs, @DEF); } sub link_executable { # ldflags is not expecting .exe extension given on command line; remove -Zexe my $self = shift; local $self->{config}{ldflags} = $self->{config}{ldflags}; $self->{config}{ldflags} =~ s/(?<!\S)-Zexe(?!\S)//; return $self->SUPER::link_executable(@_); } 1;