Skip Menu |

This queue is for tickets about the libwin32 CPAN distribution.

Report information
The Basics
Id: 11506
Status: new
Priority: 0/
Queue: libwin32

People
Owner: Nobody in particular
Requestors: rurban [...] x-ray.at
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.191
Fixed in: (no value)



Subject: fix MakeMaker build (cygwin, mingw only)
Attached patch fixes the cygwin build, which failed due to the pm_to_blib => pm_to_blib.ts default target change in MakeMaker. Affected are only APIFile and APIRegistry, which failed to copy the .cp file to blib.
--- APIFile/Makefile.PL.orig 2002-07-09 01:15:51.000000000 +0100 +++ APIFile/Makefile.PL 2005-02-14 22:06:30.187500000 +0100 @@ -74,7 +74,7 @@ # If requested extra work to generate Perl instead of XS code: if( $bin ) { my @path= split /::/, $module; - my $_final= $final; + my $_final = $final; $_final =~ s/\W/_/g; # How to compile F<$outfile> and then run it to produce F<$final>: @@ -96,11 +96,10 @@ ## join("/",@path,$final), qq{">.\n}; # Install F<$final> whenever regular pm_to_blib target is built: push @m, " -pm_to_blib: ${_final}_to_blib +pm_to_blib.ts :: ${_final}_to_blib -${_final}_to_blib: $final - " . '@$(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" \\ - "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -MExtUtils::Install \\ +${_final}_to_blib : $final + " . '$(NOECHO) $(ABSPERLRUN) -MExtUtils::Install \\ -e "pm_to_blib({ ',neatvalue($final),',', neatvalue($self->catfile('$(INST_ARCHLIB)',@path,$final)), ' },', neatvalue($self->catfile(qw[$(INST_LIB) auto])), ')" @@ -125,3 +124,14 @@ $self->{RM_F} @realclean\n" if @realclean; return join('',@m); } + +# Allow adding ${_final}_to_blib to pm_to_blib.ts targets +sub ExtUtils::MM_Cygwin::pm_to_blib { + my $self = shift; + package ExtUtils::MM_Cygwin; # the only way to override this piece + my $inherited = $self->SUPER::pm_to_blib(); + $inherited =~ s/pm_to_blib: /pm_to_blib :: /; + $inherited =~ s/pm_to_blib.ts: /pm_to_blib.ts :: /; + $inherited; +} +ExtUtils::MM_Win32::pm_to_blib = &ExtUtils::MM_Cygwin::pm_to_blib; --- APIRegistry/Makefile.PL.orig 2002-07-09 01:15:51.000000000 +0100 +++ APIRegistry/Makefile.PL 2005-02-14 21:25:36.640625000 +0100 @@ -96,7 +96,7 @@ ## join("/",@path,$final), qq{">.\n}; # Install F<$final> whenever regular pm_to_blib target is built: push @m, " -pm_to_blib: ${_final}_to_blib +pm_to_blib :: ${_final}_to_blib ${_final}_to_blib: $final " . '@$(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" \\ @@ -125,3 +125,13 @@ $self->{RM_F} @realclean\n" if @realclean; return join('',@m); } + +# Allow adding ${_final}_to_blib to pm_to_blib.ts targets +sub ExtUtils::MM_Cygwin::pm_to_blib { + my $self = shift; + package ExtUtils::MM_Cygwin; # the only way to override this piece + my $inherited = $self->SUPER::pm_to_blib(); + $inherited =~ s/pm_to_blib: /pm_to_blib :: /; + $inherited =~ s/pm_to_blib.ts: /pm_to_blib.ts :: /; + $inherited; +}
From: rurban [...] x-ray.at
[RURBAN - Mon Feb 14 16:11:46 2005]: Show quoted text
> Attached patch fixes the cygwin build, which failed due to the > pm_to_blib => pm_to_blib.ts default target change in MakeMaker. > Affected are only APIFile and APIRegistry, which failed to copy the > .cp file to blib.
Typo: .pc file I had to fix the patch also. (wrong typeglob) -- http://xarch.tu-graz.ac.at/home/rurban/
--- APIFile/Makefile.PL.orig 2002-07-09 01:15:51.000000000 +0100 +++ APIFile/Makefile.PL 2005-02-14 22:33:14.875000000 +0100 @@ -74,7 +74,7 @@ # If requested extra work to generate Perl instead of XS code: if( $bin ) { my @path= split /::/, $module; - my $_final= $final; + my $_final = $final; $_final =~ s/\W/_/g; # How to compile F<$outfile> and then run it to produce F<$final>: @@ -96,11 +96,10 @@ ## join("/",@path,$final), qq{">.\n}; # Install F<$final> whenever regular pm_to_blib target is built: push @m, " -pm_to_blib: ${_final}_to_blib +pm_to_blib.ts :: ${_final}_to_blib -${_final}_to_blib: $final - " . '@$(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" \\ - "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -MExtUtils::Install \\ +${_final}_to_blib : $final + " . '$(NOECHO) $(ABSPERLRUN) -MExtUtils::Install \\ -e "pm_to_blib({ ',neatvalue($final),',', neatvalue($self->catfile('$(INST_ARCHLIB)',@path,$final)), ' },', neatvalue($self->catfile(qw[$(INST_LIB) auto])), ')" @@ -125,3 +124,13 @@ $self->{RM_F} @realclean\n" if @realclean; return join('',@m); } + +# Allow adding ${_final}_to_blib to pm_to_blib.ts targets +sub ExtUtils::MM_Cygwin::pm_to_blib { + my $self = shift; + package ExtUtils::MM_Cygwin; # the only way to override this piece + my $inherited = $self->SUPER::pm_to_blib(); + $inherited =~ s/pm_to_blib: /pm_to_blib :: /; + $inherited =~ s/pm_to_blib.ts: /pm_to_blib.ts :: /; + $inherited; +} --- APIRegistry/Makefile.PL.orig 2002-07-09 01:15:51.000000000 +0100 +++ APIRegistry/Makefile.PL 2005-02-14 22:33:11.156250000 +0100 @@ -96,11 +96,10 @@ ## join("/",@path,$final), qq{">.\n}; # Install F<$final> whenever regular pm_to_blib target is built: push @m, " -pm_to_blib: ${_final}_to_blib +pm_to_blib :: ${_final}_to_blib -${_final}_to_blib: $final - " . '@$(PERL) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" \\ - "-I$(PERL_ARCHLIB)" "-I$(PERL_LIB)" -MExtUtils::Install \\ +${_final}_to_blib : $final + " . '$(NOECHO) $(ABSPERLRUN) -MExtUtils::Install \\ -e "pm_to_blib({ ',neatvalue($final),',', neatvalue($self->catfile('$(INST_ARCHLIB)',@path,$final)), ' },', neatvalue($self->catfile(qw[$(INST_LIB) auto])), ')" @@ -125,3 +124,13 @@ $self->{RM_F} @realclean\n" if @realclean; return join('',@m); } + +# Allow adding ${_final}_to_blib to pm_to_blib.ts targets +sub ExtUtils::MM_Cygwin::pm_to_blib { + my $self = shift; + package ExtUtils::MM_Cygwin; # the only way to override this piece + my $inherited = $self->SUPER::pm_to_blib(); + $inherited =~ s/pm_to_blib: /pm_to_blib :: /; + $inherited =~ s/pm_to_blib.ts: /pm_to_blib.ts :: /; + $inherited; +}
[RURBAN - Mon Feb 14 16:11:46 2005]: Show quoted text
> Attached patch fixes the cygwin build, which failed due to the > pm_to_blib => pm_to_blib.ts default target change in MakeMaker. > Affected are only APIFile and APIRegistry, which failed to copy the > .cp file to blib.
you should report this to the MakeMaker people, not here
[guest - Thu Feb 17 01:18:58 2005]: Show quoted text
> [RURBAN - Mon Feb 14 16:11:46 2005]:
> > Attached patch fixes the cygwin build, which failed due to the > > pm_to_blib => pm_to_blib.ts default target change in MakeMaker. > > Affected are only APIFile and APIRegistry, which failed to copy the > > .cp file to blib.
> > you should report this to the MakeMaker people, not here
I reported it here, because it's a APIFile and APIRegistry bug. I might report it at MM also, to change their default pm_to_blib target back to pm_to_blib, not pm_to_blib.ts as now. But that's a different story. My patch fixes all cases. -- http://xarch.tu-graz.ac.at/home/rurban/
[RURBAN - Fri Feb 18 13:44:09 2005]: Show quoted text
> [guest - Thu Feb 17 01:18:58 2005]:
> > [RURBAN - Mon Feb 14 16:11:46 2005]:
> > > Attached patch fixes the cygwin build, which failed due to the > > > pm_to_blib => pm_to_blib.ts default target change in MakeMaker. > > > Affected are only APIFile and APIRegistry, which failed to copy the > > > .cp file to blib.
> > > > you should report this to the MakeMaker people, not here
> > I reported it here, because it's a APIFile and APIRegistry bug. > > I might report it at MM also, to change their default > pm_to_blib target back to pm_to_blib, not pm_to_blib.ts as now. > But that's a different story. My patch fixes all cases.
Leave APIFile and APIRegistry as it is. I'll make it so pm_to_blib is still run in MakeMaker.