For Windows DLLs, Expat should be using a .DEF file
instead of __declspec(dllexport) to control the export
of symbols. Using a .DEF file allows symbols to have
the same ordinal position in the export table of the
DLL regardless of accidents of the compiler's
organization of the table, allowing newer DLLs to
replace older DLLs by simply dropping them in place.
More information on DLL exports:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_core_determine_which_exporting_method_to_use.asp
This feature request is based on an email conversation
with Nick Lehman, following up from:
http://sourceforge.net/mailarchive/message.php?msg_id=1783043
Logged In: YES
user_id=3066
It looks like the .DEF file should be easy enough to create,
and a nuissance to maintain. I'm going to plan on getting
this done in the 1.95.5 release, since we're too close to
the 1.95.4 release to make a mess of things now.
The big question that comes up is this: should the symbols
defined in lib/xmltok.h be exported, or only the symbols
from expat.h? Originally, these were exported from two
separate DLLs, but it's not clear the API defined in
xmltok.h is really intended to be public.
If you have a reasoned opinion, or use the xmltok.h API,
please follow up to this feature request.
Logged In: YES
user_id=290026
Fred,
are you sure a lot of people are reading this?
Karl
Logged In: YES
user_id=290026
I have added a patch #620822.
Sorry - I realized too late that there was a bug report
where I could have attached the patch.
Karl
Logged In: YES
user_id=3066
Fixed by patch #620822, which has already been integrated
for 1.95.6.