diff options
author | Nicholas Clark <nick@ccl4.org> | 2011-08-19 12:12:16 +0200 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2011-08-23 11:28:55 +0200 |
commit | 8dd15074b0ebb0005614fdc3e7a8255729b7207b (patch) | |
tree | e89167bf1a3b11ab5183351113ed9df78804486f /makedef.pl | |
parent | 9387abf86b0530ac747550bd0db51dfe0c72f1a1 (diff) | |
download | perl-8dd15074b0ebb0005614fdc3e7a8255729b7207b.tar.gz |
Handle PL_sh_path better in globvar.sym and makedef.pl
PL_sh_path needs some form of special case because it is conditionally
defined either in perlvar.h or perl.h, but globvar.sym mentions all symbols
unconditionally, and undef -DPERL_GLOBAL_STRUCT perlvar.h is parsed as an
unconditional skip list.
Diffstat (limited to 'makedef.pl')
-rw-r--r-- | makedef.pl | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/makedef.pl b/makedef.pl index a4b5ced556..318202f8ac 100644 --- a/makedef.pl +++ b/makedef.pl @@ -530,6 +530,9 @@ if ($define{HAS_SIGNBIT}) { if ($define{'PERL_GLOBAL_STRUCT'}) { readvar($perlvars_h, \%skip); + # This seems like the least ugly way to cope with the fact that PL_sh_path + # is mentioned in perlvar.h and globvar.sym, and always exported. + delete $skip{PL_sh_path}; ++$export{Perl_GetVars}; try_symbols(qw(PL_Vars PL_VarsPtr)) unless $ARGS{CCTYPE} eq 'GCC'; } else { |