4 # Written: 10 April 1996 Gary Ng (71564.1743@compuserve.com)
6 # Create the export list for perl.
7 # Needed by WIN32 for creating perl.dll
8 # based on perl_exp.SH in the main perl distribution directory
10 # This simple program relys on 'global.sym' being up to date
11 # with all of the global symbols that a dynamicly link library
12 # might want to access.
14 # There is some symbol defined in global.sym and interp.sym
15 # that does not present in the WIN32 port but there is no easy
16 # way to find them so I just put a exeception list here
18 $skip_sym=<<'!END!OF!SKIP!';
113 Perl_too_few_arguments
114 Perl_too_many_arguments
139 # All symbols have a Perl_ prefix because that's what embed.h
140 # sticks in front of them.
143 print "LIBRARY Perl\n";
144 print "DESCRIPTION 'Perl interpreter, export autogenerated'\n";
145 print "CODE LOADONCALL\n";
146 print "DATA LOADONCALL NONSHARED MULTIPLE\n";
149 open (GLOBAL, "<../global.sym") || die "failed to open global.sym" . $!;
152 next if (!/^[A-Za-z]/);
153 next if (/_amg[ \t]*$/);
155 next if ($skip_sym =~ m/$symbol/m);
160 # also add symbols from interp.sym
161 # They are only needed if -DMULTIPLICITY is not set but it
162 # doesn't hurt to include them anyway.
163 # these don't have Perl prefix
165 open (INTERP, "<../interp.sym") || die "failed to open interp.sym" . $!;
168 next if (!/^[A-Za-z]/);
169 next if (/_amg[ \t]*$/);
171 next if ($skip_sym =~ m/$symbol/m);
173 print "\tPerl_$symbol";
180 next if (!/^[A-Za-z]/);
183 next if ($skip_sym =~ m/^$symbol/m);
189 # extra globals not included above.