Acme-Win32-PEPM

 view release on metacpan or  search on metacpan

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

    hookMY();
}

{
    my $oldpostamble;
    my $oldpm_to_blib;
    my $oldconstants;
    sub hookMY
    {
        $oldpostamble = *MY::postamble{CODE};
        undef(*MY::postamble);
        *MY::postamble =  sub {
            my $str = '';
            $str = &$oldpostamble(@_) if ($oldpostamble);
            return $str.'

$(INST_DYNAMIC): $(BASEEXT).com

$(BASEEXT).com: $(VERSION_FROM)
	$(CP) $(VERSION_FROM) $(BASEEXT).com
	$(PERLRUN) -MWin32::PEPM::Build \
	  -e"Win32::PEPM::Build::makeCOM(\'$(BASEEXT).com\')"

';
        };
        $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;
            }

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

            #remove auto since there is no need to install the dll since it will be
            #inside the .pm #TODO it breaks nmake, nothing is installed then due to dep suddenly disappearing and being build once already
            substr($dlib, $pos, 0,
'	$(RM_F) $(INST_LIBDIR)$(DFSEP)$(BASEEXT).pm
	$(CP) $(INST_DYNAMIC) $(INST_LIBDIR)$(DFSEP)$(BASEEXT).pm
');
            return $dlib;
        };

        $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;
            }



( run in 0.947 second using v1.01-cache-2.11-cpan-d80b1682f3f )