diff options
author | Marcus Holland-Moritz <mhx-perl@gmx.net> | 2004-12-29 13:46:36 +0000 |
---|---|---|
committer | Marcus Holland-Moritz <mhx-perl@gmx.net> | 2004-12-29 13:46:36 +0000 |
commit | 04fc8b947beae2156e7c7e365624c64a8b90cd70 (patch) | |
tree | a80125770da8d714d68619e4fe695b660c9e084d /ext/Devel | |
parent | db0f2be49373138d6e6d3c0766652079b73f7811 (diff) | |
download | perl-04fc8b947beae2156e7c7e365624c64a8b90cd70.tar.gz |
Upgrade to Devel::PPPort 3.04
p4raw-id: //depot/perl@23700
Diffstat (limited to 'ext/Devel')
-rwxr-xr-x | ext/Devel/PPPort/Changes | 7 | ||||
-rw-r--r-- | ext/Devel/PPPort/META.yml | 2 | ||||
-rw-r--r-- | ext/Devel/PPPort/PPPort.pm | 46 | ||||
-rw-r--r-- | ext/Devel/PPPort/PPPort_pm.PL | 2 | ||||
-rw-r--r-- | ext/Devel/PPPort/TODO | 3 | ||||
-rw-r--r-- | ext/Devel/PPPort/parts/inc/SvPV | 6 | ||||
-rw-r--r-- | ext/Devel/PPPort/parts/inc/ppphbin | 40 | ||||
-rw-r--r-- | ext/Devel/PPPort/parts/inc/ppphdoc | 10 | ||||
-rw-r--r-- | ext/Devel/PPPort/parts/inc/ppphtest | 4 |
9 files changed, 105 insertions, 15 deletions
diff --git a/ext/Devel/PPPort/Changes b/ext/Devel/PPPort/Changes index e1addf829a..a21b120c6c 100755 --- a/ext/Devel/PPPort/Changes +++ b/ext/Devel/PPPort/Changes @@ -1,3 +1,10 @@ +3.04 - 2004-12-29 + + * fix a hint for sv_pvn_force + * fix VMS problem with unquoted command line arguments + not preserving case (perl change #23367) + * add --api-info switch for ppport.h + 3.03 - 2004-09-08 * MY_CXT_CLONE was broken diff --git a/ext/Devel/PPPort/META.yml b/ext/Devel/PPPort/META.yml index c0e2f44190..c18fa4feac 100644 --- a/ext/Devel/PPPort/META.yml +++ b/ext/Devel/PPPort/META.yml @@ -1,7 +1,7 @@ # http://module-build.sourceforge.net/META-spec.html #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: Devel-PPPort -version: 3.03 +version: 3.04 version_from: PPPort_pm.PL installdirs: perl requires: diff --git a/ext/Devel/PPPort/PPPort.pm b/ext/Devel/PPPort/PPPort.pm index 073f34e2e1..514cbf5241 100644 --- a/ext/Devel/PPPort/PPPort.pm +++ b/ext/Devel/PPPort/PPPort.pm @@ -873,7 +873,7 @@ require DynaLoader; use strict; use vars qw($VERSION @ISA $data); -$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.03 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; +$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.04 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; @ISA = qw(DynaLoader); @@ -952,6 +952,7 @@ POD --nochanges don't suggest changes POD POD --list-provided list provided API POD --list-unsupported list unsupported API +POD --api-info=name show Perl API portability information POD POD =head1 COMPATIBILITY POD @@ -1032,6 +1033,11 @@ POD Lists the API elements that are known not to be supported by POD F<ppport.h> and below which version of Perl they probably POD won't be available or work. POD +POD =head2 --api-info=I<name> +POD +POD Show portability information for API elements matching I<name>. +POD I<name> is treated as a Perl regular expression. +POD POD =head1 DESCRIPTION POD POD In order for a Perl extension (XS) module to be as portable as possible @@ -1222,7 +1228,7 @@ eval { Getopt::Long::GetOptions(\%opt, qw( help quiet diag! hints! changes! cplusplus patch=s copy=s diff=s compat-version=s - list-provided list-unsupported + list-provided list-unsupported api-info=s )) or usage(); }; @@ -2893,6 +2899,40 @@ while (<DATA>) { $need{$1} = 1 if m{^#if\s+defined\(NEED_(\w+)(?:_GLOBAL)?\)}; } +if (exists $opt{'api-info'}) { + my $f; + my $count = 0; + for $f (sort { lc $a cmp lc $b } keys %API) { + next unless $f =~ /$opt{'api-info'}/; + print "\n=== $f ===\n\n"; + my $info = 0; + if ($API{$f}{base} || $API{$f}{todo}) { + my $base = format_version($API{$f}{base} || $API{$f}{todo}); + print "May not be supported below perl-$base.\n"; + $info++; + } + if ($API{$f}{provided}) { + my $todo = $API{$f}{todo} ? format_version($API{$f}{todo}) : "5.003"; + print "Support by $ppport provided down to perl-$todo.\n"; + print "Support needs to be explicitly requested by NEED_$f.\n" if exists $need{$f}; + print "Depends on: ", join(', ', @{$depends{$f}}), ".\n" if exists $depends{$f}; + print "$hints{$f}" if exists $hints{$f}; + $info++; + } + unless ($info) { + print "No portability information available.\n"; + } + $count++; + } + if ($count > 0) { + print "\n"; + } + else { + print "Found no API matching $opt{'api-info'}.\n"; + } + exit 0; +} + if (exists $opt{'list-provided'}) { my $f; for $f (sort { lc $a cmp lc $b } keys %API) { @@ -4527,7 +4567,7 @@ DPPP_(my_sv_2pvbyte)(pTHX_ register SV *sv, STRLEN *lp) # define sv_pvn(sv, len) SvPV(sv, len) #endif -/* Hint: sv_pvn +/* Hint: sv_pvn_force * Always use the SvPV_force() macro instead of sv_pvn_force(). */ #ifndef sv_pvn_force diff --git a/ext/Devel/PPPort/PPPort_pm.PL b/ext/Devel/PPPort/PPPort_pm.PL index 06b143dc07..8733c448fb 100644 --- a/ext/Devel/PPPort/PPPort_pm.PL +++ b/ext/Devel/PPPort/PPPort_pm.PL @@ -473,7 +473,7 @@ require DynaLoader; use strict; use vars qw($VERSION @ISA $data); -$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.03 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; +$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.04 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' }; @ISA = qw(DynaLoader); diff --git a/ext/Devel/PPPort/TODO b/ext/Devel/PPPort/TODO index 8af9477cae..bd09e7c46f 100644 --- a/ext/Devel/PPPort/TODO +++ b/ext/Devel/PPPort/TODO @@ -1,5 +1,8 @@ TODO: +* improve apicheck (things like utf8_mg_pos_init() are + not currently checks) + * more documentation, more tests * Resolve dependencies in Makefile.PL and remind of diff --git a/ext/Devel/PPPort/parts/inc/SvPV b/ext/Devel/PPPort/parts/inc/SvPV index 97e0a28cc3..34aa90f058 100644 --- a/ext/Devel/PPPort/parts/inc/SvPV +++ b/ext/Devel/PPPort/parts/inc/SvPV @@ -1,8 +1,8 @@ ################################################################################ ## -## $Revision: 7 $ +## $Revision: 8 $ ## $Author: mhx $ -## $Date: 2004/08/13 12:47:16 +0200 $ +## $Date: 2004/12/29 14:17:20 +0100 $ ## ################################################################################ ## @@ -98,7 +98,7 @@ __UNDEFINED__ sv_2pvbyte_nolen sv_2pv_nolen */ __UNDEFINED__ sv_pvn(sv, len) SvPV(sv, len) -/* Hint: sv_pvn +/* Hint: sv_pvn_force * Always use the SvPV_force() macro instead of sv_pvn_force(). */ __UNDEFINED__ sv_pvn_force(sv, len) SvPV_force(sv, len) diff --git a/ext/Devel/PPPort/parts/inc/ppphbin b/ext/Devel/PPPort/parts/inc/ppphbin index 4615d8a845..384f126ffe 100644 --- a/ext/Devel/PPPort/parts/inc/ppphbin +++ b/ext/Devel/PPPort/parts/inc/ppphbin @@ -1,8 +1,8 @@ ################################################################################ ## -## $Revision: 21 $ +## $Revision: 22 $ ## $Author: mhx $ -## $Date: 2004/08/17 20:00:22 +0200 $ +## $Date: 2004/12/29 14:54:27 +0100 $ ## ################################################################################ ## @@ -40,7 +40,7 @@ eval { Getopt::Long::GetOptions(\%opt, qw( help quiet diag! hints! changes! cplusplus patch=s copy=s diff=s compat-version=s - list-provided list-unsupported + list-provided list-unsupported api-info=s )) or usage(); }; @@ -145,6 +145,40 @@ while (<DATA>) { $need{$1} = 1 if m{^#if\s+defined\(NEED_(\w+)(?:_GLOBAL)?\)}; } +if (exists $opt{'api-info'}) { + my $f; + my $count = 0; + for $f (sort { lc $a cmp lc $b } keys %API) { + next unless $f =~ /$opt{'api-info'}/; + print "\n=== $f ===\n\n"; + my $info = 0; + if ($API{$f}{base} || $API{$f}{todo}) { + my $base = format_version($API{$f}{base} || $API{$f}{todo}); + print "May not be supported below perl-$base.\n"; + $info++; + } + if ($API{$f}{provided}) { + my $todo = $API{$f}{todo} ? format_version($API{$f}{todo}) : "__MIN_PERL__"; + print "Support by $ppport provided down to perl-$todo.\n"; + print "Support needs to be explicitly requested by NEED_$f.\n" if exists $need{$f}; + print "Depends on: ", join(', ', @{$depends{$f}}), ".\n" if exists $depends{$f}; + print "$hints{$f}" if exists $hints{$f}; + $info++; + } + unless ($info) { + print "No portability information available.\n"; + } + $count++; + } + if ($count > 0) { + print "\n"; + } + else { + print "Found no API matching $opt{'api-info'}.\n"; + } + exit 0; +} + if (exists $opt{'list-provided'}) { my $f; for $f (sort { lc $a cmp lc $b } keys %API) { diff --git a/ext/Devel/PPPort/parts/inc/ppphdoc b/ext/Devel/PPPort/parts/inc/ppphdoc index 70ed7b4560..bf0b18cebb 100644 --- a/ext/Devel/PPPort/parts/inc/ppphdoc +++ b/ext/Devel/PPPort/parts/inc/ppphdoc @@ -1,8 +1,8 @@ ################################################################################ ## -## $Revision: 17 $ +## $Revision: 18 $ ## $Author: mhx $ -## $Date: 2004/08/13 12:45:56 +0200 $ +## $Date: 2004/12/29 14:55:00 +0100 $ ## ################################################################################ ## @@ -51,6 +51,7 @@ ppport.h - Perl/Pollution/Portability version __VERSION__ --list-provided list provided API --list-unsupported list unsupported API + --api-info=name show Perl API portability information =head1 COMPATIBILITY @@ -131,6 +132,11 @@ Lists the API elements that are known not to be supported by F<ppport.h> and below which version of Perl they probably won't be available or work. +=head2 --api-info=I<name> + +Show portability information for API elements matching I<name>. +I<name> is treated as a Perl regular expression. + =head1 DESCRIPTION In order for a Perl extension (XS) module to be as portable as possible diff --git a/ext/Devel/PPPort/parts/inc/ppphtest b/ext/Devel/PPPort/parts/inc/ppphtest index 8dd045f36e..1d8f6d31d5 100644 --- a/ext/Devel/PPPort/parts/inc/ppphtest +++ b/ext/Devel/PPPort/parts/inc/ppphtest @@ -1,8 +1,8 @@ ################################################################################ ## -## $Revision: 21 $ +## $Revision: 22 $ ## $Author: mhx $ -## $Date: 2004/08/21 13:26:21 +0200 $ +## $Date: 2004/10/14 20:16:03 +0200 $ ## ################################################################################ ## |