#
################################################################################
#
-# $Revision: 43 $
+# $Revision: 59 $
# $Author: mhx $
-# $Date: 2006/05/22 00:51:20 +0200 $
+# $Date: 2008/01/04 10:47:38 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2006, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
my $DPPP = 'DPPP_';
my %embed = map { ( $_->{name} => $_ ) }
- parse_embed(qw(parts/embed.fnc parts/apidoc.fnc));
+ parse_embed(qw(parts/embed.fnc parts/apidoc.fnc parts/ppport.fnc));
my(%provides, %prototypes, %explicit);
# check consistency
for (@api) {
- if (exists $raw_todo{$_}) {
+ if (exists $raw_todo{$_} and exists $raw_base{$_}) {
if ($raw_base{$_} eq $raw_todo{$_}) {
warn "$INCLUDE/$provides{$_} provides $_, which is still marked "
. "todo for " . format_version($raw_todo{$_}) . "\n";
my @perl_api;
for (keys %provides) {
+ next if /^Perl_(.*)/ && exists $embed{$1};
next if exists $embed{$_};
push @perl_api, $_;
check(2, "No API definition for provided element $_ found.");
{join "\n", @todo}gem;
$data =~ s{__MIN_PERL__}{5.003}g;
-$data =~ s{__MAX_PERL__}{5.9.3}g;
+$data =~ s{__MAX_PERL__}{5.10.0}g;
open FH, ">PPPort.pm" or die "PPPort.pm: $!\n";
print FH $data;
my $f = shift;
my $n = $f->{name};
my $a = do { my $x = 'a'; join ',', map { $x++ } 1 .. @{$f->{args}} };
+ my $lastarg = ${$f->{args}}[-1];
if ($f->{flags}{n}) {
if ($f->{flags}{p}) {
if ($f->{flags}{f}) {
return "#define Perl_$n $DPPP(my_$n)";
}
+ elsif (@$lastarg && $lastarg->[0] =~ /\.\.\./) {
+ return $undef . "#define $n $DPPP(my_$n)\n" .
+ "#define Perl_$n $DPPP(my_$n)";
+ }
else {
return $undef . "#define $n($a) $DPPP(my_$n)(aTHX_ $a)\n" .
"#define Perl_$n $DPPP(my_$n)";
#
# !!!!! Do NOT edit this file directly! -- Edit PPPort_pm.PL instead. !!!!!
#
+# This file was automatically generated from the definition files in the
+# parts/inc/ subdirectory by PPPort_pm.PL. To learn more about how all this
+# works, please read the F<HACKERS> file that came with this distribution.
+#
################################################################################
#
# Perl/Pollution/Portability
#
################################################################################
#
-# $Revision: 43 $
+# $Revision: 59 $
# $Author: mhx $
-# $Date: 2006/05/22 00:51:20 +0200 $
+# $Date: 2008/01/04 10:47:38 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2006, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
=head1 COPYRIGHT
-Version 3.x, Copyright (C) 2004-2006, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2008, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
package Devel::PPPort;
-require DynaLoader;
use strict;
-use vars qw($VERSION @ISA $data);
-
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.08_02 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+use vars qw($VERSION $data);
-@ISA = qw(DynaLoader);
-
-bootstrap Devel::PPPort;
+$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.14 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
sub _init_data
{
$data = do { local $/; <DATA> };
- my $now = localtime;
my $pkg = 'Devel::PPPort';
$data =~ s/__PERL_VERSION__/$]/g;
$data =~ s/__VERSION__/$VERSION/g;
- $data =~ s/__DATE__/$now/g;
$data =~ s/__PKG__/$pkg/g;
$data =~ s/^\|>//gm;
}
ppport.h -- Perl/Pollution/Portability Version __VERSION__
- Automatically created by __PKG__ running under
- perl __PERL_VERSION__ on __DATE__.
+ Automatically created by __PKG__ running under perl __PERL_VERSION__.
Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
includes in parts/inc/ instead.
%include SvREFCNT
+%include newSVpv
+
%include SvPV
%include Sv_set
%include sv_xpvf
+%include shared_pv
+
%include warn
%include pvs
%include exception
+%include strlfuncs
+
#endif /* _P_P_PORTABILITY_H_ */
/* End of File ppport.h */