+2004-09-22 Tor Lillqvist <tml@iki.fi>
+
+ * Makefile.am (install-libtool-import-lib): [Win32] Add code to
+ remove the bug-compatibility entries (see #134813, and related
+ comments below) from the import library. The PRIVATE keyword in
+ the .def file is supposed to mean that, but it isn't implemented
+ yet by GNU ld.
+
+ * makegobjectalias.pl: In case the symbol is followed by some
+ stuff ("PRIVATE") that's intended for the .def file, use just the
+ actual symbol.
+
+ * gobject.symbols: For binary bug compatibility on Win32, add the
+ g_slist_remove_all and g_unichar_validate symbols inside #ifdef
+ INCLUDE_INTERNAL_SYMBOLS. (See #134813 and log entries from March
+ below.)
+
2004-09-18 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.3 ===
export_symbols = -export-symbols $(srcdir)/gobject.def
install-libtool-import-lib:
+# Don't put the bug compatibility entries in the import lib!
+# (Unfortunately the GNU linker doesn't yet understand the PRIVATE
+# directive in .def files.)
+#
+ for entry in `grep PRIVATE gobject.def | sed -e 's/PRIVATE//'`; do \
+ file=`nm -A .libs/libgobject-2.0.dll.a | grep -m 1 $$entry | cut -d: -f2`; \
+ ar d .libs/libgobject-2.0.dll.a $$file; \
+ done
$(INSTALL) .libs/libgobject-2.0.dll.a $(DESTDIR)$(libdir)
$(INSTALL) $(srcdir)/gobject.def $(DESTDIR)$(libdir)/gobject-2.0.def
gmarshal.h \
gmarshal.c \
stamp-gmarshal.h \
- gobjectalias.h
+ gobjectalias.h
if OS_WIN32
#ifdef INCLUDE_VARIABLES
g_param_spec_types
#endif
+#ifdef INCLUDE_INTERNAL_SYMBOLS
+g_slist_remove_all PRIVATE
+g_unichar_validate PRIVATE
+#endif
my $str = $_;
chomp($str);
+ # Drop any Win32 specific .def file syntax
+ $str = (split (/ /, $str))[0];
my $alias = "IA__".$str;
print <<EOF