Did this also go to schwern's rt.cpan.org queue? It probably should, for
now. How critical do you see this for 5.12.0?
On Thu 14.Jan'10 at 20:50:38 +0100, Reini Urban wrote:
> Attached is one more cygwin patch. This is against the need for> rebaseall after updating a core extension. It should work in 95%> of all updates.> > There's one more PATCH outstanding: Support for the new cygwin-1.7,> the new mount format and utf8 paths.> I'm still testing wchar to utf8 conversion.> -- > Reini Urban> http://phpwiki.org/ http://murbreak.at/> From 14147d7f6a46858b3eb72d8eb4b95dba6eb01a5e Mon Sep 17 00:00:00 2001> From: Reini Urban <rur...@x-ray.at>> Date: Thu, 14 Jan 2010 19:43:30 +0000> Subject: [PATCH] cygwin prevent rebaseall + install man pages> > For new archdir dll's use the same rebase address if the old exists.> > This is to prevent cygwin rebaseall on conflicting base addresses,> which is almost always the case without this patch.> With this patch the need to rebaseall is only of the segmentsize> is exceeded, which did not happen in the last 6 month updates of> any archdir dlls.> ---> cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm | 35 ++++++++++++++++++++-> 1 files changed, 34 insertions(+), 1 deletions(-)> > diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm> index 9cc7522..c6dafbf 100644> --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm> +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm> @@ -9,7 +9,7 @@ require ExtUtils::MM_Unix;> require ExtUtils::MM_Win32;> our @ISA = qw( ExtUtils::MM_Unix );> > -our $VERSION = '6.55_02';> +our $VERSION = '6.55_03';> > > =head1 NAME> @@ -116,6 +116,39 @@ sub maybe_command {> return $self->SUPER::maybe_command($file);> }> > +=item all_target> +> +Build man pages, too> +> +=cut> +> +sub all_target {> + ExtUtils::MM_Unix::all_target(shift);> +}> +> +=item dynamic_lib> +> +Use the default to produce the *.dll's.> +But for new archdir dll's use the same rebase address if the old exists.> +> +=cut> +> +sub dynamic_lib {> + my($self, %attribs) = @_;> + my $s = ExtUtils::MM_Unix::dynamic_lib($self, %attribs);> + my $ori = "$self->{INSTALLARCHLIB}/auto/$self->{FULLEXT}/$self->{BASEEXT}.$self->{DLEXT}";> + if (-e $ori) {> + my $imagebase = `/bin/objdump -p $ori | /bin/grep ImageBase | /bin/cut -c12-`;> + chomp $imagebase;> + if ($imagebase > "40000000") {> + my $LDDLFLAGS = $self->{LDDLFLAGS};> + $LDDLFLAGS =~ s/-Wl,--enable-auto-image-base/-Wl,--image-base=$imagebase/;> + $s =~ s/ \$\(LDDLFLAGS\) / $LDDLFLAGS /m;> + }> + }> + $s;> +}> +> =back> > =cut> -- > 1.6.4.2>