# 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;
$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);
PL_statusvalue_vms
PL_sys_intern
)]);
+ skip_symbols([qw(
+ Perl_signbit
+ )])
+ if $define{'HAS_SIGNBIT'};
emit_symbols([qw(
boot_DynaLoader
)]);
)];
}
+unless ($define{'DEBUG_LEAKING_SCALARS'}) {
+ skip_symbols [qw(
+ PL_sv_serial
+ )];
+}
+
unless ($define{'DEBUG_LEAKING_SCALARS_FORK_DUMP'}) {
skip_symbols [qw(
PL_dumper_fd
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