I'm working on module support for Windows platforms. Many thanks to
Andrew Begel for his help and for answering my onslaught of stupid
questions. It does not quite work yet, but my long delayed adventure
under the surgeon's knife will finally be happening tomorrow, so I'm
going to be out of the picture for a short time. I thought I would
share my progress before I disappear.
The attached patch uses the explicit list technique (creation of a .DEF
file listing all exported symbols), rather than the implicit technique
(marking symbol definitions with __declspec(dllexport) or
__declspec(dllimport) as necessary). The latter technique was proving
too invasive in too many files. With this patch, the main binary builds
and runs just fine, but the linking step for the modules fails with a
bunch of undefined symbol errors. All of those symbols, however, are of
the form *_iname or __nm__*. The GNU ld internals manual (ldint) says
something about such symbols, but I have found it unintelligible. I
don't yet know what I need to do to fix the problem, but I'll work on
that when I return ... unless one of you has hit this problem before and
can just tell me what to do, of course!
So far I have only worked with Cygwin, but I'll tackle Mingw too once I
get Cygwin support working. I won't be able to do anything with native
Windows since I lack the necessary compiler.
Enjoy,
--
Jerry James
http://www.ittc.ku.edu/~james/