dougm 01/10/20 22:46:20
Modified: lib/ModPerl WrapXS.pm
Log:
leave certain (e.g. ithreads only) functions out of the export lists
Revision Changes Path
1.28 +15 -1 modperl-2.0/lib/ModPerl/WrapXS.pm
Index: WrapXS.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/lib/ModPerl/WrapXS.pm,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- WrapXS.pm 2001/10/21 05:29:46 1.27
+++ WrapXS.pm 2001/10/21 05:46:20 1.28
@@ -640,6 +640,18 @@
" $val\n";
}
+#C::Scan doesnt always pickup static __inline__ of mpxs_ functions
+#certain functions are only defined #ifdef USE_ITHREADS
+#XXX might need a modperl_ithreads.{def,exp} if any xs modules reference
+#these functions
+
+my $skip_exports = join '|', qw{
+mpxs_
+modperl_cmd_interp_
+modperl_interp_ modperl_list_ modperl_tipool_
+modperl_mgv_
+};
+
sub write_export_file {
my($self, $ext) = @_;
@@ -661,9 +673,11 @@
for my $entry (@$table) {
next if $self->func_is_static($entry);
+ my $name = $entry->{name};
+ next if $name =~ /^($skip_exports)/o;
my $fh = $self->func_is_inline($entry) ?
$exp_inline_fh : $exp_fh;
- print $fh $self->$format($entry->{name});
+ print $fh $self->$format($name);
}
for my $fh ($exp_fh, $exp_inline_fh) {