require 5.003;
+# XXX others that may need adding
+# warnhook
+# hints
+# copline
+my @extvars = qw(sv_undef sv_yes sv_no na dowarn
+ curcop compiling
+ tainting tainted stack_base stack_sp sv_arenaroot
+ curstash DBsub DBsingle debstash
+ rsfp
+ stdingv
+ defgv
+ errgv
+ rsfp_filters
+ perldb
+ diehook
+ dirty
+ perl_destruct_level
+ );
+
sub readsyms (\%$) {
my ($syms, $file) = @_;
%$syms = ();
}
readsyms %global, 'global.sym';
-readsyms %interp, 'interp.sym';
sub readvars(\%$$) {
my ($syms, $file,$pre) = @_;
foreach my $sym (sort keys %intrp)
{
- warn "$sym not in interp.sym\n" unless exists $interp{$sym};
if (exists $global{$sym})
{
delete $global{$sym};
- warn "$sym in global.sym as well as interp\n";
+ warn "$sym in global.sym as well as intrpvar.h\n";
}
}
}
}
-foreach my $sym (keys %interp)
- {
- warn "extra $sym in interp.sym\n"
- unless exists $intrp{$sym} || exists $thread{$sym};
- }
-
foreach my $sym (sort keys %thread)
{
- warn "$sym in intrpvar.h\n" if exists $intrp{$sym};
+ warn "$sym in intrpvar.h as well as thrdvar.h\n" if exists $intrp{$sym};
if (exists $global{$sym})
{
delete $global{$sym};
- warn "$sym in global.sym as well as thread\n";
+ warn "$sym in global.sym as well as thrdvar.h\n";
}
}
END
+print EM <<'END';
+
+#ifndef MIN_PERL_DEFINE
+
+END
+
+for $sym (sort @extvars) {
+ print EM hide($sym,"PL_$sym");
+}
+
+print EM <<'END';
+
+#endif /* MIN_PERL_DEFINE */
+END
+
+
close(EM);