Werner Smekal wrote:
Hi Alan,

Let's see what CMake feels is the correct module extension on Cygwin.  To do
that temporarily remove the line

     SUFFIX ".so"

from drivers/CMakeLists.txt.  I have not tried this removal before since I
was concerned that CMake and libltdl would have different ideas about 
the correct platform extensions, but let us find out.  (Be sure to start
with an empty build tree.)

That removal may solve all your problems, but if not then the other
possibility is to make up a fake *.la file for each device following
whatever ABS does for each platform.  We know that approach worked on Cygwin
for get-drv-info with our ABS. But I hope we can avoid that *.la

Commenting out SUFFIX ".so" also doesn't work. This time a hpgl.dll is 
produced, but get-drv-info can't open it - even if I give the whole path 
to the module. I think we should have a look in the source of libltdl - 
e.g. the header file wants to have WIN32, _WIN32 or __WINDOWS__ defined 
  (even for cygwin) - this is automatically done for windows compilers, 
but I don't think in cygwin - I make a test if this changes anything. If 
you have any other ideas let me know.

Sometime ago, Geoffrey posted his idea of an alternative implementation of
dynamic drivers. I replied that it looked - the method at least - a lot like the
implementation of "stubs" in Tcl. These work on all platforms that Tcl is
available on. Perhaps we should start looking at that? That does not seem
to involve the complexities of libtool/libltdl.