summaryrefslogtreecommitdiff
path: root/libjava/configure.ac
diff options
context:
space:
mode:
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-08 14:16:38 +0000
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-08 14:16:38 +0000
commited023f07e4f7afa9ec7b6d43374f3a8502112603 (patch)
tree76a36003a27d06ea6d4a27f75f4ad725f9efcda5 /libjava/configure.ac
parenta060ed032c3f5f93bfd96d2e30d3f03fe3ebb9e4 (diff)
downloadgcc-ed023f07e4f7afa9ec7b6d43374f3a8502112603.tar.gz
2011-04-08 Kai Tietz <ktietz@redhat.com>
* configure.ac (libgcj_ld_export_all): Set for windows native targets to export-all-symbols. (LIBGCJ_LD_EXPORT_ALL): Export libgcj_ld_export_all. * Makefile.am (libgcj_la_LDFLAGS): Add LIBGCJ_LD_EXPORT_ALL. * sysdep/i386/backtrace.h (MAIN_FUNC): Define for windows native targets to DllMain. * gcj/javaprims.h (JNICALL): Define it dependent for different windows targets. * include/jni_md.h: Likewise. * headers.txt (_Jv_JNI_ToReflectedField): Mark JNICALLS for friends. (_Jv_JNI_ToReflectedMethod): Likewise. * java/lang/Class.h: Regenerated. * java/lang/reflect/Field.h: Regenerated. * java/lang/reflect/Constructor.h: Regenerated. * java/lang/reflect/Method.h: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172186 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/configure.ac')
-rw-r--r--libjava/configure.ac15
1 files changed, 15 insertions, 0 deletions
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 5172aa1aca4..4cbff945f86 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -214,6 +214,16 @@ if test -z "$libgcj_ld_symbolic"; then
libgcj_ld_symbolic=$SYMBOLIC_LDFLAGS
fi
+# for windows native targets enforce export of all symbols for shared libgcj.
+libgcj_ld_export_all=
+case "$host" in
+ *mingw*)
+ libgcj_ld_export_all=-Wl,--export-all-symbols
+ ;;
+ *)
+ ;;
+esac
+
LIBGCJ_CFLAGS="${libgcj_cflags}"
LIBGCJ_CXXFLAGS="${libgcj_cxxflags}"
LIBGCJ_JAVAFLAGS="${libgcj_javaflags}"
@@ -221,6 +231,7 @@ LIBGCJ_SUBLIB_LTFLAGS="${libgcj_sublib_ltflags}"
LIBGCJ_SUBLIB_CORE_EXTRA_DEPS="${libgcj_sublib_core_extra_deps}"
LIBGCJ_LD_SYMBOLIC="${libgcj_ld_symbolic}"
LIBGCJ_LD_SYMBOLIC_FUNCTIONS="${libgcj_ld_symbolic_functions}"
+LIBGCJ_LD_EXPORT_ALL="${libgcj_ld_export_all}"
AC_SUBST(LIBGCJ_CFLAGS)
AC_SUBST(LIBGCJ_CXXFLAGS)
AC_SUBST(LIBGCJ_JAVAFLAGS)
@@ -228,6 +239,7 @@ AC_SUBST(LIBGCJ_SUBLIB_LTFLAGS)
AC_SUBST(LIBGCJ_SUBLIB_CORE_EXTRA_DEPS)
AC_SUBST(LIBGCJ_LD_SYMBOLIC)
AC_SUBST(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
+AC_SUBST(LIBGCJ_LD_EXPORT_ALL)
# Only use libltdl for non-newlib builds.
if test "x${with_newlib}" = "x" || test "x${with_newlib}" = "xno"; then
@@ -930,6 +942,9 @@ arm*linux*eabi)
*-*-cygwin)
extra_ldflags_libjava=-liconv
;;
+*-*-mingw*)
+ extra_ldflags_libjava=-lws2_32
+ ;;
esac
LIBMATHSPEC=