summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Dubois <jand@activestate.com>1999-05-02 01:45:47 +0200
committerGurusamy Sarathy <gsar@cpan.org>1999-05-10 09:45:58 +0000
commit2aea4d4064eddefd1fbe7babfc1d07fc273740b9 (patch)
tree3149fb904efc9bce39955d95e14292b8ea90ea58
parent91cce2638d90409b99ef27a8e545f2452318f884 (diff)
downloadperl-2aea4d4064eddefd1fbe7babfc1d07fc273740b9.tar.gz
Add POLLUTE=1 option to MakeMaker
Message-ID: <373373fb.59284266@smtp1.ibm.net> p4raw-id: //depot/perl@3366
-rw-r--r--lib/ExtUtils/MM_Unix.pm5
-rw-r--r--lib/ExtUtils/MakeMaker.pm26
-rw-r--r--pod/perldelta.pod6
3 files changed, 30 insertions, 7 deletions
diff --git a/lib/ExtUtils/MM_Unix.pm b/lib/ExtUtils/MM_Unix.pm
index 8d09668ff8..40a8256475 100644
--- a/lib/ExtUtils/MM_Unix.pm
+++ b/lib/ExtUtils/MM_Unix.pm
@@ -384,6 +384,11 @@ sub cflags {
$self->{OPTIMIZE} =~ s/-TP(\s|$)//;
}
}
+
+ if ($self->{POLLUTE}) {
+ $self->{CCFLAGS} .= ' -DPERL_POLLUTE ';
+ }
+
return $self->{CFLAGS} = qq{
CCFLAGS = $self->{CCFLAGS}
OPTIMIZE = $self->{OPTIMIZE}
diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm
index 95477fa9c4..a8ea73ea40 100644
--- a/lib/ExtUtils/MakeMaker.pm
+++ b/lib/ExtUtils/MakeMaker.pm
@@ -249,7 +249,7 @@ sub full_setup {
LINKTYPE MAKEAPERL MAKEFILE MAN1PODS MAN3PODS MAP_TARGET MYEXTLIB
NAME NEEDS_LINKING NOECHO NORECURS NO_VC OBJECT OPTIMIZE PERL PERLMAINCC
PERL_ARCHLIB PERL_LIB PERL_SRC PERM_RW PERM_RWX
- PL_FILES PM PMLIBDIRS PPM_INSTALL_EXEC PPM_INSTALL_SCRIPT PREFIX
+ PL_FILES PM PMLIBDIRS POLLUTE PPM_INSTALL_EXEC PPM_INSTALL_SCRIPT PREFIX
PREREQ_PM SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
XS_VERSION clean depend dist dynamic_lib linkext macro realclean
tool_autosplit
@@ -445,11 +445,13 @@ sub ExtUtils::MakeMaker::new {
}
if ($self->{PARENT}) {
$self->{PARENT}->{CHILDREN}->{$newclass} = $self;
- if (exists $self->{PARENT}->{CAPI}
- and not exists $self->{CAPI})
- {
- # inherit, but only if already unspecified
- $self->{CAPI} = $self->{PARENT}->{CAPI};
+ foreach my $opt (qw(CAPI POLLUTE)) {
+ if (exists $self->{PARENT}->{$opt}
+ and not exists $self->{$opt})
+ {
+ # inherit, but only if already unspecified
+ $self->{$opt} = $self->{PARENT}->{$opt};
+ }
}
}
} else {
@@ -1617,6 +1619,18 @@ they contain will be installed in the corresponding location in the
library. A libscan() method can be used to alter the behaviour.
Defining PM in the Makefile.PL will override PMLIBDIRS.
+=item POLLUTE
+
+Release 5.005 grandfathered old global symbol names by providing preprocessor
+macros for extension source compatibility. As of release 5.006, these
+preprocessor definitions are not available by default. The POLLUTE flag
+specifies that the old names should still be defined:
+
+ perl Makefile.PL POLLUTE=1
+
+Please inform the module author if this is necessary to successfully install
+a module under 5.006 or later.
+
=item PPM_INSTALL_EXEC
Name of the executable used to run C<PPM_INSTALL_SCRIPT> below. (e.g. perl)
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 9fb0819cf8..6840923ff0 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -21,7 +21,11 @@ None known at this time.
Release 5.005 grandfathered old global symbol names by providing preprocessor
macros for extension source compatibility. As of release 5.006, these
preprocessor definitions are not available by default. You need to explicitly
-compile perl with C<-DPERL_POLLUTE> in order to get these definitions.
+compile perl with C<-DPERL_POLLUTE> in order to get these definitions. For
+extensions that are still using the old symbols, this option can be
+specified via MakeMaker:
+
+ perl Makefile.PL POLLUTE=1
=item C<PERL_POLLUTE_MALLOC>