X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=makedef.pl;h=1b3c2b5fe5649ce06093fbb529a55f63502afa08;hb=17eef65c2fb9a95edf9064575d3413b4ec8219b7;hp=b8d32cb538cc2a5b949d4c36bddc4a7ede14bbd3;hpb=dfc72f41b0aaceda3480a2bf23c0aba6675f43e9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/makedef.pl b/makedef.pl index b8d32cb..1b3c2b5 100644 --- a/makedef.pl +++ b/makedef.pl @@ -6,8 +6,32 @@ # and by AIX for creating libperl.a when -Dusershrplib is in effect, # and by MacOS Classic. # -# reads global.sym, pp.sym, perlvars.h, intrpvar.h, config.h -# On OS/2 reads miniperl.map and the previous version of perl5.def as well +# Reads from information stored in +# +# config.h +# config.sh +# global.sym +# globvar.sym +# intrpvar.h +# macperl.sym (on MacOS) +# miniperl.map (on OS/2) +# perl5.def (on OS/2; this is the old version of the file being made) +# perlio.sym +# perlvars.h +# +# plus long lists of function names hard-coded directly in this script and +# in the DATA section. +# +# Writes the result to STDOUT. +# +# Normally this script is invoked from a makefile (e.g. win32/Makefile), +# which redirects STDOUT to a suitable file, such as: +# +# perl5.def OS/2 +# perldll.def Windows +# perl.exp AIX +# perl.imp NetWare + BEGIN { unshift @INC, "lib" } use strict; @@ -129,6 +153,7 @@ while () { $define{$1} = 1 if /^\s*#\s*define\s+(MULTIPLICITY)\b/; $define{$1} = 1 if /^\s*#\s*define\s+(PERL_\w+)\b/; $define{$1} = 1 if /^\s*#\s*define\s+(USE_\w+)\b/; + $define{$1} = 1 if /^\s*#\s*define\s+(HAS_\w+)\b/; } close(CFG); @@ -404,6 +429,10 @@ elsif ($PLATFORM eq 'aix') { PL_statusvalue_vms PL_sys_intern )]); + skip_symbols([qw( + Perl_signbit + )]) + if $define{'HAS_SIGNBIT'}; emit_symbols([qw( boot_DynaLoader )]); @@ -1008,8 +1037,10 @@ my @layer_syms = qw( PerlIO_arg_fetch PerlIO_debug PerlIO_define_layer + PerlIO_find_layer PerlIO_isutf8 PerlIO_layer_fetch + PerlIO_list_alloc PerlIO_list_free PerlIO_modestr PerlIO_parse_layers