GNOME Bugzilla – Bug 321663
libgnomedb-3.0 Cygwin build fixes
Last modified: 2007-01-16 18:00:07 UTC
Version details: 1.9.100 I'm now working on libgnomedb-1.9.100, but I've run into a difficult problem: the libraries libgnomedb-3, libgnomedb_handlers-3, libgnomedb_graph-3, and libgnomedb_parser-3 are interdependent, and that's a big no-no on Cygwin/MinGW, where all symbols must be resolved at link time. There are two solutions: 1) Merge all the libraries into one big libgnomedb-3 by making the others convenenience libraries (noinst_LTLIBRARIES), and move the libgnomedb/handlers/plugins dir to libgnomedb/plugins, so that we can build the libraries before the plugins, or; 2) Make fake link libraries for Cygwin/MinGW from .def files and use them at link time for each of the real libraries; Novell Evolution has adopted such an approach (see CVS[1]). If you could generate the correct .def files, I could do the build-fu part. [1] http://cvs.gnome.org/viewcvs/evolution/win32/Makefile.am Please let me know how you'd like to proceed.
I vote for the Evolution adopted solution.
OK, so can you generate the .def files for me from your linux .so's? I'll need one for each of the four libraries.
Actually, I realized I can just make static libs first and generate the .def files from them. I'm working on the build-fu now, although see bug #314732 in regards to linking against libgdasql.
Created attachment 55343 [details] [review] libgnomedb-1.9.100 Win32 patch OK, here it is. I'd be happy to explain anything that's unclear about this patch.
Have you more-or-less stabilized the libgda-3 and libgnomedb-3 APIs yet, before I redo these patches, or should I wait until 2.0.0?
FYI I'm working on 2.99.2 now.
Attaching a patch momentarily for libgnomedb-2.99.2. Some remaining issues: - should 3.0 be used instead of 3 for compatibility with libgda? - libgnomedb.schemas, apps, $(datadir)/gnome-db, mime-info files (obsolete?), and $(datadir)/pixmaps/libgnomedb are NOT parallel-installable. - extra/demos/demo.h has a broken make rule, which causes rebuilding on each pass of make. - gtk-docs wouldn't build; still diagnosing. - gtk-docs should be parallel installable; requires changing DOC_MODULE in doc/C/Makefile.am to libgnomedb-3 and renaming some of the files in same directory. - gnomedb-sharp should be sn'd and installed with gacutil like the rest of Gtk# (requires adjusting gnomedb-sharp-3.0.pc.in as well).
Created attachment 78933 [details] [review] libgnome-2.99.2 Cygwin patch Here's the patch for 2.99.2. Summary: - Bootstrap libgnomedb_handlers-3, as it is interdependent with libgnomedb-3. Fix build and link order elsewhere as needed. - Fix gnomedb-sharp.dll.config on Cygwin (yes, mono and Gtk# do work on Cygwin, but I haven't pushed the patches upstream yet). - Fix install location of libglade plugin. - Fix compilation of glade3 plugin. - libgnomedb_entry_builtin_plugins.la depends on libcrypto, not libssl (but this *should* be done via a configure test and AC_SUBST).
On Linux, I get this error: murrayc@ubuntumurrayc:~/cvs/gnome216/branches/HEAD/libgnomedb$ make Makefile:810: *** missing separator. Stop. Line 810 is the WIN32_DIRECTORY line here: " .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local \ am--refresh check check-am clean clean-generic clean-libtool \ clean-recursive ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ distclean-generic distclean-libtool distclean-recursive \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-exec install-exec-am \ install-info install-info-am install-man install-pixmapDATA \ install-pkgconfigDATA install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic maintainer-clean-recursive \ mostlyclean mostlyclean-generic mostlyclean-libtool \ mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-info-am uninstall-pixmapDATA \ uninstall-pkgconfigDATA WIN32_DIRECTORY all-local: libgnomedb.spec # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: "
Comment on attachment 78933 [details] [review] libgnome-2.99.2 Cygwin patch >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/Makefile.am src/libgnomedb-2.99.2/Makefile.am >--- origsrc/libgnomedb-2.99.2/Makefile.am 2006-11-15 06:28:13.000000000 -0600 >+++ src/libgnomedb-2.99.2/Makefile.am 2006-12-26 21:31:21.027875000 -0600 >@@ -1,5 +1,11 @@ > DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc > >+if PLATFORM_WIN32 >+WIN32_DIRECTORY=win32 >+else >+WIN32_DIRECTORY= >+endif >+ > if HAVE_LIBGLADE > LIBGLADE_DIRECTORY=glade > else >@@ -32,6 +38,7 @@ > > SUBDIRS = \ > po \ >+ $(WIN32_DIRECTORY) \ > libgnomedb \ > $(LIBGLADE_DIRECTORY) \ > $(GLADE3_DIRECTORY) \ >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/configure.in src/libgnomedb-2.99.2/configure.in >--- origsrc/libgnomedb-2.99.2/configure.in 2006-11-19 05:30:20.000000000 -0600 >+++ src/libgnomedb-2.99.2/configure.in 2006-12-26 21:39:25.949750000 -0600 >@@ -26,6 +26,10 @@ > # set GNOMEDB_CURRENT += 1, GNOMEDB_REVISION and GNOMEDB_AGE to 0 > # - If interfaces is the same as the previous version, set GNOMEDB_REVISION += 1 > # >+# IMPORTANT for Win32: >+# If bumping these numbers changes the soname, be sure to also change >+# the dll names in win32/Makefile.am. >+# > GNOMEDB_CURRENT=4 > GNOMEDB_REVISION=0 > GNOMEDB_AGE=0 >@@ -53,6 +57,32 @@ > # CFLAGS="-Wall -g" > #fi > >+dnl ****************************** >+dnl Win32 >+dnl ****************************** >+ >+AC_MSG_CHECKING([for Win32 platform]) >+case "$host" in >+*-cygwin*) >+ platform_win32=yes >+ NO_UNDEFINED='-no-undefined' >+ SOPREFIX=cyg >+ ;; >+*-mingw*) >+ platform_win32=yes >+ NO_UNDEFINED='-no-undefined' >+ SOPREFIX=lib >+ ;; >+*) >+ platform_win32=no >+ NO_UNDEFINED= >+ SOPREFIX=lib >+ ;; >+esac >+AC_MSG_RESULT([$platform_win32]) >+AM_CONDITIONAL(PLATFORM_WIN32, [test $platform_win32 = yes]) >+AC_SUBST(NO_UNDEFINED) >+AC_SUBST(SOPREFIX) > > dnl ****************************** > dnl glib-genmarshal >@@ -276,13 +306,23 @@ > AC_PATH_PROG(GAPI_FIXUP, gapi2-fixup, no) > AC_PATH_PROG(GAPI_CODEGEN, gapi2-codegen, no) > >- if test `uname -s` = "Darwin"; then >- LIB_PREFIX= >+ case `uname -s` in >+ Darwin) >+ LIB_PREFIX=lib >+ LIB_SONAME=. > LIB_SUFFIX=.dylib >- else >- LIB_PREFIX=.so >+ ;; >+ CYGWIN*) >+ LIB_PREFIX=cyg >+ LIB_SONAME=- >+ LIB_SUFFIX=.dll >+ ;; >+ *) >+ LIB_PREFIX=lib >+ LIB_SONAME=.so. > LIB_SUFFIX= >- fi >+ ;; >+ esac > > else > AC_MSG_NOTICE("Not building gnomedb-sharp") >@@ -291,6 +331,7 @@ > AC_SUBST(MCS) > AC_SUBST(GAPI) > AC_SUBST(LIB_PREFIX) >+AC_SUBST(LIB_SONAME) > AC_SUBST(LIB_SUFFIX) > AC_SUBST(GNOMEDB_SHARP_CFLAGS) > AC_SUBST(GNOMEDB_SHARP_LIBS) >@@ -323,6 +364,7 @@ > gnomedb-sharp/AssemblyInfo.cs > po/Makefile.in > testing/Makefile >+win32/Makefile > extra/Makefile > extra/demos/Makefile > extra/demos/geninclude.pl >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/glade/Makefile.am src/libgnomedb-2.99.2/glade/Makefile.am >--- origsrc/libgnomedb-2.99.2/glade/Makefile.am 2006-11-15 06:03:06.000000000 -0600 >+++ src/libgnomedb-2.99.2/glade/Makefile.am 2006-12-27 00:03:47.949750000 -0600 >@@ -8,7 +8,7 @@ > $(WITHGNOME_CFLAGS) \ > $(LIBGLADE_CFLAGS) > >-glademoduledir = $(libdir)/libglade/3.0 >+glademoduledir = $(libdir)/libglade/2.0 > glademodule_LTLIBRARIES = libgnomedb.la > > libgnomedb_la_LIBADD = \ >@@ -16,7 +16,7 @@ > $(LIBGNOMEDB_LIBS) $(WITHGNOME_LIBS) $(LIBGLADE_LIBS) > > libgnomedb_la_LDFLAGS = \ >- -export-dynamic -module -avoid-version -no-undefined >+ -export-dynamic -module -avoid-version $(NO_UNDEFINED) > > libgnomedb_la_SOURCES = \ > glade-gnomedb.c >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/glade3/Makefile.am src/libgnomedb-2.99.2/glade3/Makefile.am >--- origsrc/libgnomedb-2.99.2/glade3/Makefile.am 2006-12-22 09:36:36.000000000 -0600 >+++ src/libgnomedb-2.99.2/glade3/Makefile.am 2006-12-27 00:43:25.371625000 -0600 >@@ -4,14 +4,13 @@ > libgladegnomedb_la_SOURCES = glade3-gnomedb.c > libgladegnomedb_la_CFLAGS = -g -Wall -I$(top_srcdir) -I$(top_builddir) \ > -DG_LOG_DOMAIN=\"GnomeDB\" \ >- $(LIBGNOMEDB_CFLAGS) $(WITHGNOME_CFLAGS) $(LIBGLADE_CFLAGS) $(GLADE3_CFLAGS) >-libgladegnomedb_la_LDFLAGS = -module -avoid-version >+ $(GLADE3_CFLAGS) $(LIBGNOMEDB_CFLAGS) $(WITHGNOME_CFLAGS) $(LIBGLADE_CFLAGS) >+libgladegnomedb_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) > libgladegnomedb_la_LIBADD = \ >- $(WITHGNOME_LIBS) $(LIBGNOMEDB_LIBS) $(WITHGNOME_LIBS) $(GLADE3_LIBS) $(LIBGLADE_LIBS) \ >+ $(LIBGNOMEDB_LIBS) $(GLADE3_LIBS) \ > $(top_builddir)/libgnomedb/libgnomedb-3.la \ > $(top_builddir)/libgnomedb/data-entries/libgnomedb_handlers-3.la \ >- $(top_builddir)/libgnomedb/data-entries/plugins/libgnomedb_entry_builtin_plugins.la \ >- $(top_builddir)/libgnomedb/graph/libgnomedb_graph-3.la >+ $(top_builddir)/libgnomedb/graph/libgnomedb_graph-3.la > > gladegnomedbdir = @GLADE3_MODULES_DIR@ > >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/glade3/glade3-gnomedb.c src/libgnomedb-2.99.2/glade3/glade3-gnomedb.c >--- origsrc/libgnomedb-2.99.2/glade3/glade3-gnomedb.c 2006-10-02 14:46:32.000000000 -0500 >+++ src/libgnomedb-2.99.2/glade3/glade3-gnomedb.c 2006-12-27 00:38:39.668500000 -0600 >@@ -19,9 +19,9 @@ > * Authors: > * Daniel Espinosa Ortiz <esodan@gmail.com> > */ >-#include <libgnomedb/libgnomedb.h> > #include <glade.h> > #include <glade-gtk.h> >+#include <libgnomedb/libgnomedb.h> > > #define GLADEGNOMEDB_API GLADEGTK_API > >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/gnomedb-sharp/gnomedb-sharp.dll.config.in src/libgnomedb-2.99.2/gnomedb-sharp/gnomedb-sharp.dll.config.in >--- origsrc/libgnomedb-2.99.2/gnomedb-sharp/gnomedb-sharp.dll.config.in 2006-11-15 06:03:06.000000000 -0600 >+++ src/libgnomedb-2.99.2/gnomedb-sharp/gnomedb-sharp.dll.config.in 2006-12-26 21:21:44.902875000 -0600 >@@ -1,3 +1,3 @@ > <configuration> >- <dllmap dll="gnomedb-3" target="libgnomedb-2@LIB_PREFIX@.1@LIB_SUFFIX@"/> >+ <dllmap dll="gnomedb-3" target="@LIB_PREFIX@gnomedb-3@LIB_SONAME@4@LIB_SUFFIX@"/> > </configuration> >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/libgnomedb/Makefile.am src/libgnomedb-2.99.2/libgnomedb/Makefile.am >--- origsrc/libgnomedb-2.99.2/libgnomedb/Makefile.am 2006-11-15 07:36:19.000000000 -0600 >+++ src/libgnomedb-2.99.2/libgnomedb/Makefile.am 2006-12-26 21:33:15.606000000 -0600 >@@ -20,6 +20,10 @@ > -DDATADIR=\""$(datadir)"\" \ > -DLIBDIR=\""$(libdir)"\" > >+if PLATFORM_WIN32 >+WIN32_BOOTSTRAP_LIBS = $(top_builddir)/win32/libgnomedb_handlers-3.la >+endif >+ > # To be removed later > if BUILD_WITH_GNOME > withgnome_headers = \ >@@ -152,8 +156,8 @@ > $(gnomedb_sources) > > $(libgnomedb_3_la_OBJECTS): $(libgnomedb_marshal_built_files) >-libgnomedb_3_la_LDFLAGS = -version-info $(GNOMEDB_CURRENT):$(GNOMEDB_REVISION):$(GNOMEDB_AGE) -no-undefined >-libgnomedb_3_la_LIBADD = $(LIBGNOMEDB_LIBS) $(GTKSOURCEVIEW_LIBS) $(LIBGLADE_LIBS) $(WITHGNOME_LIBS) >+libgnomedb_3_la_LDFLAGS = -version-info $(GNOMEDB_CURRENT):$(GNOMEDB_REVISION):$(GNOMEDB_AGE) $(NO_UNDEFINED) >+libgnomedb_3_la_LIBADD = $(WIN32_BOOTSTRAP_LIBS) $(LIBGNOMEDB_LIBS) $(GTKSOURCEVIEW_LIBS) $(LIBGLADE_LIBS) $(WITHGNOME_LIBS) > > libgnomedb_marshal_built_files = marshal.h marshal.c > >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/libgnomedb/data-entries/Makefile.am src/libgnomedb-2.99.2/libgnomedb/data-entries/Makefile.am >--- origsrc/libgnomedb-2.99.2/libgnomedb/data-entries/Makefile.am 2006-11-15 06:03:08.000000000 -0600 >+++ src/libgnomedb-2.99.2/libgnomedb/data-entries/Makefile.am 2006-12-26 21:29:21.043500000 -0600 >@@ -1,6 +1,6 @@ > lib_LTLIBRARIES = libgnomedb_handlers-3.la > >-SUBDIRS = plugins >+SUBDIRS = . plugins > > AM_CPPFLAGS = \ > -I$(top_srcdir) -I$(srcdir)/.. \ >@@ -57,4 +57,5 @@ > gnome-db-entry-wrapper.c > > >-libgnomedb_handlers_3_la_LDFLAGS = -version-info $(GNOMEDB_CURRENT):$(GNOMEDB_REVISION):$(GNOMEDB_AGE) >+libgnomedb_handlers_3_la_LDFLAGS = -version-info $(GNOMEDB_CURRENT):$(GNOMEDB_REVISION):$(GNOMEDB_AGE) $(NO_UNDEFINED) >+libgnomedb_handlers_3_la_LIBADD = ../libgnomedb-3.la $(LIBGNOMEDB_LIBS) >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/libgnomedb/data-entries/plugins/Makefile.am src/libgnomedb-2.99.2/libgnomedb/data-entries/plugins/Makefile.am >--- origsrc/libgnomedb-2.99.2/libgnomedb/data-entries/plugins/Makefile.am 2006-12-10 07:23:02.000000000 -0600 >+++ src/libgnomedb-2.99.2/libgnomedb/data-entries/plugins/Makefile.am 2006-12-26 22:38:31.996625000 -0600 >@@ -45,7 +45,8 @@ > gnome-db-entry-pict.c \ > gbase64.c > >-libgnomedb_entry_builtin_plugins_la_LDFLAGS = -module -export-dynamic -version-info $(GNOMEDB_CURRENT):$(GNOMEDB_REVISION):$(GNOMEDB_AGE) -lssl >+libgnomedb_entry_builtin_plugins_la_LDFLAGS = -module -export-dynamic -avoid-version $(NO_UNDEFINED) >+libgnomedb_entry_builtin_plugins_la_LIBADD = ../libgnomedb_handlers-3.la ../../libgnomedb-3.la $(LIBGNOMEDB_LIBS) -lcrypto > > xmldir = $(datadir)/gnome-db > xml_in_files = \ >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/libgnomedb/graph/Makefile.am src/libgnomedb-2.99.2/libgnomedb/graph/Makefile.am >--- origsrc/libgnomedb-2.99.2/libgnomedb/graph/Makefile.am 2006-11-15 06:03:06.000000000 -0600 >+++ src/libgnomedb-2.99.2/libgnomedb/graph/Makefile.am 2006-12-26 22:48:26.621625000 -0600 >@@ -53,4 +53,5 @@ > gnome-db-canvas-tip.c > > >-libgnomedb_graph_3_la_LDFLAGS = -version-info $(GNOMEDB_CURRENT):$(GNOMEDB_REVISION):$(GNOMEDB_AGE) >+libgnomedb_graph_3_la_LDFLAGS = -version-info $(GNOMEDB_CURRENT):$(GNOMEDB_REVISION):$(GNOMEDB_AGE) $(NO_UNDEFINED) >+libgnomedb_graph_3_la_LIBADD = ../libgnomedb-3.la $(LIBGNOMEDB_LIBS) $(WITHGNOME_LIBS) >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/win32/Makefile.am src/libgnomedb-2.99.2/win32/Makefile.am >--- origsrc/libgnomedb-2.99.2/win32/Makefile.am 1969-12-31 18:00:00.000000000 -0600 >+++ src/libgnomedb-2.99.2/win32/Makefile.am 2006-12-26 23:23:38.262250000 -0600 >@@ -0,0 +1,30 @@ >+# >+# The .def files were manually generated. Could be automated as follows: >+# >+# echo "EXPORTS" > $lib.def >+# nm $lib.{a,so} | grep ' T _' | sed 's/.* T _/\t/' | sort -bu >> $lib.def >+# >+ >+EXTRA_DIST = \ >+ dummy.la \ >+ libgnomedb_handlers-3.def >+ >+BOOTSTRAP_LIBS = \ >+ libgnomedb_handlers-3.la >+ >+noinst_DATA = $(BOOTSTRAP_LIBS) >+ >+libgnomedb_handlers-3.la: dummy.la libgnomedb_handlers-3.def >+ mkdir -p .libs >+ dlltool --output-lib=.libs/libgnomedb_handlers-3.dll.a --dllname=$(SOPREFIX)gnomedb_handlers-3-4.dll --input-def=$(srcdir)/libgnomedb_handlers-3.def >+ sed -e s!%DLL%!$(SOPREFIX)gnomedb_handlers-3-4! -e s!%LIB%!libgnomedb_handlers-3! -e s!%PFX%!$(prefix)! < $(srcdir)/dummy.la > $@ >+ >+install-exec-local: $(BOOTSTRAP_LIBS) >+ $(mkinstalldirs) $(DESTDIR)$(libdir) >+ for la in $(BOOTSTRAP_LIBS) ; do \ >+ implib=`echo $$la | sed -e s!\.la!.dll.a!` ; \ >+ $(INSTALL) .libs/$$implib $(DESTDIR)$(libdir) ; \ >+ sed -e s!installed=no!installed=yes! < $$la > $(DESTDIR)$(libdir)/$$la ; \ >+ done >+ >+CLEANFILES = $(BOOTSTRAP_LIBS) >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/win32/dummy.la src/libgnomedb-2.99.2/win32/dummy.la >--- origsrc/libgnomedb-2.99.2/win32/dummy.la 1969-12-31 18:00:00.000000000 -0600 >+++ src/libgnomedb-2.99.2/win32/dummy.la 2006-12-26 21:37:59.918500000 -0600 >@@ -0,0 +1,32 @@ >+# %LIB%.la - a libtool library file >+# Generated by ltmain.sh - GNU libtool - well, actually not, hacked manually >+ >+# The name that we can dlopen(3). >+dlname='%DLL%.dll' >+ >+# Names of this library. >+library_names='%LIB%.dll.a' >+ >+# The name of the static archive. >+old_library='' >+ >+# Libraries that this one depends upon. >+dependency_libs='' >+ >+# Version information for %LIB% >+current=0 >+age=0 >+revision=0 >+ >+# Is this an already installed library? >+installed=no >+ >+# Should we warn about portability when linking against -modules? >+shouldnotlink=no >+ >+# Files to dlopen/dlpreopen >+dlopen='' >+dlpreopen='' >+ >+# Directory that this library needs to be installed in: >+libdir='%PFX%/lib' >diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x ltmain.sh -x 'config.*' -x depcomp -x install-sh -x missing -x mkinstalldirs -x autom4te.cache -x '*compile' -x Makefile.in.in -x 'intltool*.in' -x 'xml-i18n-*.in' -x '*.pyc' -x '*.mo' -x '*.gmo' -x ABOUT-NLS -x Makevars.template -x COPYING -x INSTALL -x mdate-sh -x '*.orig' -x '*.rej' -x '*~' -x '*.temp' -x texinfo.tex -x ylwrap -x Makefile.in -x makefile.in -x configure -x '*.stamp' -x '*.html' -x '*.bak' -x '*.sgml' -x '*.tmpl' -x '*.txt' -x '*.xml' -x '*.args' -x '*.devhelp*' -x '*.css' -x '*.hierarchy' -x '*.interfaces' -x '*.prerequisites' -x '*.signals' -x '*.top' -x '*.bottom' -x gtk-doc.make -x gtk-doc.m4 -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x omf.make -x xmldocs.make origsrc/libgnomedb-2.99.2/win32/libgnomedb_handlers-3.def src/libgnomedb-2.99.2/win32/libgnomedb_handlers-3.def >--- origsrc/libgnomedb-2.99.2/win32/libgnomedb_handlers-3.def 1969-12-31 18:00:00.000000000 -0600 >+++ src/libgnomedb-2.99.2/win32/libgnomedb_handlers-3.def 2006-12-26 22:13:03.637250000 -0600 >@@ -0,0 +1,17 @@ >+EXPORTS >+ gnome_db_data_cell_renderer_boolean_new >+ gnome_db_data_cell_renderer_combo_new >+ gnome_db_data_cell_renderer_info_new >+ gnome_db_data_cell_renderer_textual_new >+ gnome_db_entry_boolean_new >+ gnome_db_entry_combo_get_type >+ gnome_db_entry_combo_get_values >+ gnome_db_entry_combo_get_values_orig >+ gnome_db_entry_combo_new >+ gnome_db_entry_combo_set_values >+ gnome_db_entry_combo_set_values_orig >+ gnome_db_entry_date_new >+ gnome_db_entry_none_new >+ gnome_db_entry_string_new >+ gnome_db_entry_time_new >+ gnome_db_entry_timestamp_new
Committed, updating slightly for trunk, and fixing this: if PLATFORM_WIN32 WIN32_DIRECTORY=win32 else WIN32_DIRECTORY endif in configure.in to this: if PLATFORM_WIN32 WIN32_DIRECTORY=win32 else WIN32_DIRECTORY= endif Many thanks for the hard work. Please do patch the ChangeLog next time.