Acme-Win32-PEPM

 view release on metacpan or  search on metacpan

lib/Win32/PEPM/Build.pm  view on Meta::CPAN

        };
        $oldpm_to_blib = *MY::pm_to_blib{CODE};
        undef(*MY::pm_to_blib);
        *MY::pm_to_blib =  sub {
            my $dlib;
            if($oldpm_to_blib){
                $dlib = &$oldpm_to_blib(@_);
            } else {
                package MY;
                my($self) = shift;
                $dlib = $self->SUPER::pm_to_blib(@_);
                package main;
            }
            my $pos = index($dlib,'pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM)',0);
            die 'bad pm_to_blib match' if $pos == -1;
            $pos += length 'pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM)';
            substr($dlib, $pos, 0, ' $(INST_DYNAMIC)'); #depend on the DLL built
            
            $pos = index($dlib,'	$(NOECHO) $(TOUCH) pm_to_blib',0);
            die "bad pm_to_blib match" if $pos == -1;
            #file is copied twice, but for simplicity don't remove the 1st copying cmd

lib/Win32/PEPM/Build.pm  view on Meta::CPAN


        $oldconstants = *MY::constants{CODE};
        undef(*MY::constants);
        *MY::constants =  sub {
            my $dlib;
            if($oldconstants){
                $dlib = &$oldconstants(@_);
            } else {
                package MY;
                my($self) = shift;
                $dlib = $self->SUPER::constants(@_);
                package main;
            }
            my $pos = index($dlib,'INST_DYNAMIC     = $(INST_ARCHAUTODIR)\$(DLBASE).$(DLEXT)',0);
            die 'bad constants match' if $pos == -1;
            substr($dlib, $pos, length('INST_DYNAMIC     = $(INST_ARCHAUTODIR)\$(DLBASE).$(DLEXT)'),
                'INST_DYNAMIC     = $(DLBASE).$(DLEXT)');
            return $dlib;
        };
    }
}



( run in 1.155 second using v1.01-cache-2.11-cpan-49f99fa48dc )