I have had a look at evince and its backend loading code. To build libevince as a dll we would have to build two dozen other libraries as in the list below, which is generated when you try to build evince as a shared object. For the alternative - to make a statically linked evince library with pdf backend - we would have to hack the evince code itself: we would need to re-organize ev-backends-manager.c ev-document.c ev-document-factory.c ev-module.c and ev-poppler.cc so that the EvDocumentClass structure was filled with pointers to the ev-poppler.c routines directly (linking that code in directly).
I just checked, and it was building evince that caused the worst problems with gub too - it was looking for mingw libraries in the host library directory. I am not sure which way to go: we could try to use the mxe makefile system to build everything as shared objects. Mxe seems much simpler than gub, being just a makefile (the xxxx.mk files are just included in Makefile as I understand it, so it is just one Makefile). But I wonder if that would in turn give rise to problems. I recall that we have ended up with libfluidsynth.dll so that library at least we built using mxe as a shared object, is it possible that we could build all the others that way without getting further mired down? We don't really care whether it is built statically or not, as we are going to have more than one file in the end (we have to have the g_spawn_helper executables and the fonts as separate files). If mxe will happily build the set of .dlls reported below perhaps we could then build evince as a dll too and get Denemo working... Richard from the log of building evince without --disable-shared: 8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8>< *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libgtk-win32-2.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libgdk-win32-2.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libatk-1.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libpangocairo-1.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libgdk_pixbuf-2.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libpangoft2-1.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libpangowin32-1.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libpango-1.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libcairo.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libpixman-1.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libfontconfig.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libexpat.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libfreetype.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libtiff.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/liblzma.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libjpeg.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libpng15.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libgio-2.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libgobject-2.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libgmodule-2.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libgthread-2.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libglib-2.0.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libpcre.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libintl.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This system can not link to static lib archive /home/rshann/mxe/usr/i686-pc-mingw32/lib/libiconv.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: linker path does not have real file for library -luuid. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libuuid and none of the candidates passed a file format test *** using a file magic. Last file checked: /home/rshann/mxe/usr/lib/gcc/i686-pc-mingw32/4.7.0/../../../../i686-pc-mingw32/lib//libuuid.a *** Warning: linker path does not have real file for library -lbz2. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libbz2 and none of the candidates passed a file format test *** using a file magic. Last file checked: /home/rshann/mxe/usr/lib/gcc/i686-pc-mingw32/4.7.0/../../../../i686-pc-mingw32/lib//libbz2.a *** Warning: linker path does not have real file for library -lz. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libz and none of the candidates passed a file format test *** using a file magic. Last file checked: /home/rshann/mxe/usr/lib/gcc/i686-pc-mingw32/4.7.0/../../../../i686-pc-mingw32/lib//libz.a *** The inter-library dependencies that have been dropped here will be *** automatically added whenever a program is linked with this library *** or is declared to -dlopen it. 8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8>< _______________________________________________ Denemo-devel mailing list Denemo-devel@gnu.org https://lists.gnu.org/mailman/listinfo/denemo-devel