# define PERL_CALLCONV __declspec(dllexport)
Without the above edit, perl58.dll from the AS817/5.8.8 distribution:
C:\test>pushd \AS817\perl\bin
C:\AS817\perl\bin>dumpbin /exports perl58.dll | wc -l
1457
C:\AS817\perl\bin>dumpbin /exports perl58.dll | find "av_reify"
C:\AS817\perl\bin>
With the above change, perl58.dll(5.8.8):
c:\Perl\src\perl-5.8.8>dumpbin /exports perl58.dll | wc -l
1995
c:\Perl\src\perl-5.8.8>dumpbin /exports perl58.dll | find "av_reify"
627 272 00001000 Perl_av_reify
How many problems those extra 500 exports will fix I'm not sure, but I'm betting quite a few.
Whether it will work with 5.10 I'll tell you in about 1/2 hour.
Update: Seems to work similarly for 5.10 also:
[10:50:31.10]C:\Perl\src\perl-5.10.0>dumpbin /exports perl510.dll | wc
+ -l
1993
[10:50:47.42]C:\Perl\src\perl-5.10.0>cd \Perl510\bin
[10:50:59.53]C:\Perl510\bin>dumpbin /exports perl510.dll | wc -l
1387
And the (summary) output from nmake test looks 'normal':
Failed Test Stat Wstat Total Fail List of Failed
----------------------------------------------------------------------
+---------
../ext/IO/t/io_dup.t 6 4 2-5
../lib/lib.t 5 1280 13 0 ??
comp/multiline.t 6 2 5-6
io/dup.t 29 6 2-7
(1 subtest UNEXPECTEDLY SUCCEEDED), 56 tests and 1083 subtests skippe
+d.
Failed 4/1470 test scripts. 12/189314 subtests failed.
Files=1470, Tests=189314, 1264 wallclock secs ( 0.00 cusr + 0.00 csys
+ = 0.00 CPU)
Failed 4/1470 test programs. 12/189314 subtests failed.
NMAKE : fatal error U1077: '..\perl.exe' : return code '0xff'
Stop.
Whether it will break anything anywhere, or is backwards compatible with 5.0 again I do not know.
And where it leaves all the shenanigins played out by embed.pl & regen_lib.pl and all the work that goes into maintaining embed.fnc, pp.sym, intrpvar.h, perlvars.h and thrdvar.h is another open question.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|