Index: Makefile.am =================================================================== RCS file: /cvsroot/gcc/gcc/libjava/Makefile.am,v retrieving revision 1.500 diff -c -3 -r1.500 Makefile.am *** Makefile.am 23 Aug 2005 16:54:24 -0000 1.500 --- Makefile.am 4 Sep 2005 19:38:56 -0000 *************** *** 223,229 **** ## The mysterious backslash in the grep pattern is consumed by make. libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \ $(LIBLTDL) $(SYS_ZLIBS) \ ! -version-info `grep -v '^\#' $(srcdir)/libtool-version` libgcj_la_LIBADD = \ classpath/native/fdlibm/libfdlibm.la \ $(all_packages_source_files:.list=.lo) \ --- 223,229 ---- ## The mysterious backslash in the grep pattern is consumed by make. libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \ $(LIBLTDL) $(SYS_ZLIBS) \ ! -version-info `grep '^[0-9]' $(srcdir)/libtool-version` libgcj_la_LIBADD = \ classpath/native/fdlibm/libfdlibm.la \ $(all_packages_source_files:.list=.lo) \ *************** *** 235,240 **** --- 235,248 ---- $(LIBLTDL) $(libgcj_la_LIBADD) libgcj_la_LINK = $(LIBLINK) + if USING_WIN32_PLATFORM + libgcj_la_LDFLAGS += -no-undefined -lws2_32 -Wl,libgcj.def + libgcj_la_DEPENDENCIES += libgcj.def + + libgcj.def: $(libgcj_la_OBJECTS) $(all_packages_source_files:.list=.lo) $(bc_objects) $(propertyo_files) + $(DLLTOOL) --export-all --output-def $@ $(^:.lo=.o) + endif + ## The .db file. This rule is only used for native builds, so it is ## safe to invoke gcj-dbtool. *************** *** 721,726 **** --- 729,740 ---- ## Depend on the spec file to make sure it is up to date before ## linking this program. gcj_dbtool_DEPENDENCIES = libgcj.la libgcj.spec + + if USING_WIN32_PLATFORM + ## Note that enable-runtime-pseudo-reloc can be unreliable. + ## It should be considered a transitional step only. + gcj_dbtool_LDFLAGS += -Wl,--enable-runtime-pseudo-reloc + endif gij_SOURCES = ## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'. We Index: configure.ac =================================================================== RCS file: /cvsroot/gcc/gcc/libjava/configure.ac,v retrieving revision 1.39 diff -c -3 -r1.39 configure.ac *** configure.ac 30 Aug 2005 01:52:12 -0000 1.39 --- configure.ac 4 Sep 2005 19:38:56 -0000 *************** *** 332,337 **** --- 332,338 ---- AC_SUBST(INCLTDL) AC_SUBST(LIBLTDL) AC_SUBST(DIRLTDL) + AC_LIBTOOL_WIN32_DLL AC_PROG_LIBTOOL AM_PROG_GCJ AM_PROG_CC_C_O Index: libltdl/ltdl.h =================================================================== RCS file: /cvsroot/gcc/gcc/libjava/libltdl/ltdl.h,v retrieving revision 1.3 diff -c -3 -r1.3 ltdl.h *** libltdl/ltdl.h 16 Dec 2003 21:48:24 -0000 1.3 --- libltdl/ltdl.h 4 Sep 2005 19:38:56 -0000 *************** *** 201,209 **** libltdl relies on a featureful realloc, but if you are sure yours has the right semantics then you can assign it directly. Generally, it is safe to assign just a malloc() and a free() function. */ ! LT_SCOPE lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size)); ! LT_SCOPE lt_ptr (*lt_dlrealloc) LT_PARAMS((lt_ptr ptr, size_t size)); ! LT_SCOPE void (*lt_dlfree) LT_PARAMS((lt_ptr ptr)); --- 201,209 ---- libltdl relies on a featureful realloc, but if you are sure yours has the right semantics then you can assign it directly. Generally, it is safe to assign just a malloc() and a free() function. */ ! extern lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size)); ! extern lt_ptr (*lt_dlrealloc) LT_PARAMS((lt_ptr ptr, size_t size)); ! extern void (*lt_dlfree) LT_PARAMS((lt_ptr ptr));