Storable 2.06 (was Re: Bug in ext/Storable/t/integer.t)
[p5sagit/p5-mst-13.2.git] / makedef.pl
index 82000ae..86a1808 100644 (file)
@@ -118,7 +118,7 @@ my $sym_ord = 0;
 
 if ($PLATFORM =~ /^win(?:32|ce)$/) {
     warn join(' ',keys %define)."\n";
-    ($dll = ($define{PERL_DLL} || "perl58")) =~ s/\.dll$//i;
+    ($dll = ($define{PERL_DLL} || "perl59")) =~ s/\.dll$//i;
     print "LIBRARY $dll\n";
     print "DESCRIPTION 'Perl interpreter'\n";
     print "EXPORTS\n";
@@ -136,7 +136,7 @@ elsif ($PLATFORM eq 'os2') {
        last if /^\s*EXPORTS\b/;
       }
       while (<$fh>) {
-       $ordinal{$1} = $2 if /^\s*"(\w+)"\s*\@(\d+)\s*$/;
+       $ordinal{$1} = $2 if /^\s*"(\w+)"\s*(?:=\s*"\w+"\s*)?\@(\d+)\s*$/;
        # This allows skipping ordinals which were used in older versions
        $sym_ord = $1 if /^\s*;\s*LAST_ORDINAL\s*=\s*(\d+)\s*$/;
       }
@@ -170,7 +170,7 @@ elsif ($PLATFORM eq 'aix') {
 }
 elsif ($PLATFORM eq 'netware') {
        if ($FILETYPE eq 'def') {
-       print "LIBRARY perl58\n";
+       print "LIBRARY perl59\n";
        print "DESCRIPTION 'Perl interpreter for NetWare'\n";
        print "EXPORTS\n";
        }
@@ -714,6 +714,10 @@ unless ($define{'PL_OP_SLAB_ALLOC'}) {
                     )];
 }
 
+unless ($define{'THREADS_HAVE_PIDS'}) {
+    skip_symbols [qw(PL_ppid)];
+}
+
 sub readvar {
     my $file = shift;
     my $proc = shift || sub { "PL_$_[2]" };
@@ -1350,10 +1354,10 @@ sub output_symbol {
     elsif ($PLATFORM eq 'os2') {
        printf qq(    %-31s \@%s\n),
          qq("$symbol"), $ordinal{$symbol} || ++$sym_ord;
-       if (exists $exportperlmalloc{$symbol}) {
-         printf qq(    %-31s \@%s\n),
-           qq("$exportperlmalloc{$symbol}" = "$symbol"), ++$sym_ord;
-       }
+       printf qq(    %-31s \@%s\n),
+         qq("$exportperlmalloc{$symbol}" = "$symbol"),
+         $ordinal{$exportperlmalloc{$symbol}} || ++$sym_ord
+         if $exportperlmalloc and exists $exportperlmalloc{$symbol};
     }
     elsif ($PLATFORM eq 'aix' || $PLATFORM eq 'MacOS') {
        print "$symbol\n";