From 9ff12f918da84dc355b75fbaa5374a8e276f76d7 Mon Sep 17 00:00:00 2001 From: Brendan O'Dea Date: Tue, 8 Mar 2005 19:30:38 +1100 Subject: Fiddle with *PREFIX and variables written to the makefile Fiddle with *PREFIX and variables written to the makefile so that install directories may be changed when make is run by passing PREFIX= to the "make install" command (used when packaging modules). Patch-Name: debian/prefix_changes.diff --- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 12 ++++++------ cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 3 +-- cpan/ExtUtils-MakeMaker/t/INST.t | 4 +--- cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t | 10 +++++----- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm index 2066311..0a1fb49 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm @@ -765,8 +765,6 @@ all POD files in MAN1PODS and MAN3PODS. sub manifypods_target { my($self) = shift; - my $man1pods = ''; - my $man3pods = ''; my $dependencies = ''; # populate manXpods & dependencies: @@ -782,7 +780,7 @@ END foreach my $section (qw(1 3)) { my $pods = $self->{"MAN${section}PODS"}; push @man_cmds, $self->split_command(<{$_})} sort keys %$pods); - \$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW) + \$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW) CMD } @@ -1748,9 +1746,11 @@ sub init_INSTALL_from_PREFIX { $self->{SITEPREFIX} ||= $sprefix; $self->{VENDORPREFIX} ||= $vprefix; - # Lots of MM extension authors like to use $(PREFIX) so we - # put something sensible in there no matter what. - $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)'; + my $p = $self->{PREFIX} = $self->{PERLPREFIX}; + for my $t (qw/PERL SITE VENDOR/) + { + $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!; + } } my $arch = $Config{archname}; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm index 0a6797f..c19a5f9 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm @@ -3029,8 +3029,7 @@ sub prefixify { warn " prefixify $var => $path\n" if $Verbose >= 2; warn " from $sprefix to $rprefix\n" if $Verbose >= 2; - if( $self->{ARGS}{PREFIX} && - $path !~ s{^\Q$sprefix\E\b}{$rprefix}s ) + if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} ) { warn " cannot prefix, using default.\n" if $Verbose >= 2; diff --git a/cpan/ExtUtils-MakeMaker/t/INST.t b/cpan/ExtUtils-MakeMaker/t/INST.t index 91058bb..e399ced 100644 --- a/cpan/ExtUtils-MakeMaker/t/INST.t +++ b/cpan/ExtUtils-MakeMaker/t/INST.t @@ -65,9 +65,7 @@ isa_ok( $mm, 'ExtUtils::MakeMaker' ); is( $mm->{NAME}, 'Big::Dummy', 'NAME' ); is( $mm->{VERSION}, 0.01, 'VERSION' ); -my $config_prefix = $Config{installprefixexp} || $Config{installprefix} || - $Config{prefixexp} || $Config{prefix}; -is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' ); +is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' ); is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' ); diff --git a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t index e8de7c6..3fb3f12 100644 --- a/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t +++ b/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t @@ -10,7 +10,7 @@ BEGIN { } use strict; -use Test::More tests => 52; +use Test::More tests => 47; use MakeMaker::Test::Utils; use MakeMaker::Test::Setup::BFD; use ExtUtils::MakeMaker; @@ -62,16 +62,16 @@ like( $stdout->read, qr{ (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)? }x ); -is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' ); +#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' ); isa_ok( $mm, 'ExtUtils::MakeMaker' ); is( $mm->{NAME}, 'Big::Dummy', 'NAME' ); is( $mm->{VERSION}, 0.01, 'VERSION' ); -foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) { - unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ ); -} +#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) { +# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ ); +#} my $PREFIX = File::Spec->catdir('foo', 'bar');