After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 321663 - libgnomedb-3.0 Cygwin build fixes
libgnomedb-3.0 Cygwin build fixes
Status: RESOLVED FIXED
Product: libgnomedb
Classification: Deprecated
Component: general
2.99.x
Other Cygwin
: Normal normal
: ---
Assigned To: Rodrigo Moya
gnome-db Maintainers
Depends on: 314732
Blocks:
 
 
Reported: 2005-11-16 22:50 UTC by Yaakov Selkowitz
Modified: 2007-01-16 18:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
libgnomedb-1.9.100 Win32 patch (23.38 KB, patch)
2005-11-28 21:53 UTC, Yaakov Selkowitz
none Details | Review
libgnome-2.99.2 Cygwin patch (21.64 KB, patch)
2006-12-27 07:22 UTC, Yaakov Selkowitz
none Details | Review

Description Yaakov Selkowitz 2005-11-16 22:50:37 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.
Comment 1 Rodrigo Moya 2005-11-21 11:44:41 UTC
I vote for the Evolution adopted solution.
Comment 2 Yaakov Selkowitz 2005-11-21 21:16:10 UTC
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.
Comment 3 Yaakov Selkowitz 2005-11-24 00:22:10 UTC
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.
Comment 4 Yaakov Selkowitz 2005-11-28 21:53:47 UTC
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.
Comment 5 Yaakov Selkowitz 2006-05-05 23:23:28 UTC
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?
Comment 6 Yaakov Selkowitz 2006-12-27 03:55:21 UTC
FYI I'm working on 2.99.2 now.
Comment 7 Yaakov Selkowitz 2006-12-27 07:16:57 UTC
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).
Comment 8 Yaakov Selkowitz 2006-12-27 07:22:47 UTC
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).
Comment 9 Murray Cumming 2006-12-27 17:51:02 UTC
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 10 Yaakov Selkowitz 2007-01-10 05:55:55 UTC
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
Comment 11 Murray Cumming 2007-01-16 18:00:07 UTC
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.