I am sure we will encounter an issue or two. Theoretically though, we should only have to create such a system like this once. Then we will only have to occasionally add update the dependencies now and then. I think if we are going to do dynamic, we should fork our own mxe on github. We can create a sed script to replace --disable-shared --enable-shared and --enable-static to --disable-static on all the src/*.mk.
Jeremiah On Feb 17, 2013 4:02 AM, "Richard Shann" <richard.sh...@virgin.net> wrote: > 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