configure.ac (libgcj_ld_export_all): Set for windows native targets to export-all...
authorKai Tietz <ktietz@redhat.com>
Fri, 8 Apr 2011 14:16:38 +0000 (16:16 +0200)
committerKai Tietz <ktietz@gcc.gnu.org>
Fri, 8 Apr 2011 14:16:38 +0000 (16:16 +0200)
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.

From-SVN: r172186

16 files changed:
libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in
libjava/configure
libjava/configure.ac
libjava/gcj/Makefile.in
libjava/gcj/javaprims.h
libjava/headers.txt
libjava/include/Makefile.in
libjava/include/jni_md.h
libjava/java/lang/Class.h
libjava/java/lang/reflect/Constructor.h
libjava/java/lang/reflect/Field.h
libjava/java/lang/reflect/Method.h
libjava/sysdep/i386/backtrace.h
libjava/testsuite/Makefile.in

index 0bb6e4c9298efbe1bfc8f70ee2b981f837467e76..51dd786b528aec1719c5fbea5e25a350f3a2085c 100644 (file)
@@ -1,3 +1,27 @@
+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.
+
 2011-04-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * configure.ac: Redirect $JAR -cf@ output to /dev/null.
index 52d099556092dafa79e46f679c2090108201f551..152170862c07007c7759d72416306e42850e59c4 100644 (file)
@@ -492,7 +492,7 @@ xlib_nat_files = $(xlib_nat_source_files:.cc=.lo)
 libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \
        $(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
        -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
-       $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
+       $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBGCJ_LD_EXPORT_ALL)
 libgcj_la_LIBADD = \
        classpath/native/fdlibm/libfdlibm.la \
        java/lang/Object.lo \
index bf5ab9dcda6e92db3f693dfc7e971f52dd3cef54..6c966a1efd5b73d2f96e78c5ad7581b0fde4e721 100644 (file)
@@ -606,6 +606,7 @@ LIBGCJ_BC_SPEC = @LIBGCJ_BC_SPEC@
 LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
 LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
 LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
+LIBGCJ_LD_EXPORT_ALL = @LIBGCJ_LD_EXPORT_ALL@
 LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@
 LIBGCJ_LD_SYMBOLIC_FUNCTIONS = @LIBGCJ_LD_SYMBOLIC_FUNCTIONS@
 LIBGCJ_SPEC = @LIBGCJ_SPEC@
@@ -1066,7 +1067,7 @@ xlib_nat_files = $(xlib_nat_source_files:.cc=.lo)
 libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \
        $(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
        -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
-       $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS)
+       $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBGCJ_LD_EXPORT_ALL)
 
 libgcj_la_LIBADD = \
        classpath/native/fdlibm/libfdlibm.la \
index 542ca8a0f769a884e918fb688c4cc201f4c311e1..8d7f0d572158f3b88bedd5732d898947193cd12b 100755 (executable)
@@ -786,6 +786,7 @@ TOOLKIT
 LIBGCJDEBUG
 BUILD_SUBLIBS_FALSE
 BUILD_SUBLIBS_TRUE
+LIBGCJ_LD_EXPORT_ALL
 LIBGCJ_LD_SYMBOLIC_FUNCTIONS
 LIBGCJ_LD_SYMBOLIC
 LIBGCJ_SUBLIB_CORE_EXTRA_DEPS
@@ -5957,6 +5958,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}"
@@ -5964,6 +5975,8 @@ 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}"
+
 
 
 
@@ -13346,7 +13359,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 13349 "configure"
+#line 13362 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13452,7 +13465,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 13455 "configure"
+#line 13468 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -19445,7 +19458,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then :
   enableval=$enable_sjlj_exceptions; :
 else
   cat > conftest.$ac_ext << EOF
-#line 19448 "configure"
+#line 19461 "configure"
 struct S { ~S(); };
 void bar();
 void foo()
@@ -20540,6 +20553,9 @@ arm*linux*eabi)
 *-*-cygwin)
     extra_ldflags_libjava=-liconv
     ;;
+*-*-mingw*)
+    extra_ldflags_libjava=-lws2_32
+    ;;
 esac
 
 LIBMATHSPEC=
index 5172aa1aca48cd748f9d50f06b507fd36d40b20c..4cbff945f86d0ec4057671e60ccf7aeca9385759 100644 (file)
@@ -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=
index 626bfb3af627bea7cacfa6315a1f57114eaa3369..4497938127107b857afcbb49f9cd4bb03c54c7fa 100644 (file)
@@ -189,6 +189,7 @@ LIBGCJ_BC_SPEC = @LIBGCJ_BC_SPEC@
 LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
 LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
 LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
+LIBGCJ_LD_EXPORT_ALL = @LIBGCJ_LD_EXPORT_ALL@
 LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@
 LIBGCJ_LD_SYMBOLIC_FUNCTIONS = @LIBGCJ_LD_SYMBOLIC_FUNCTIONS@
 LIBGCJ_SPEC = @LIBGCJ_SPEC@
index 3a0c964a437802ac4bbfd6ef4aaaf53d219dae4b..3d4c3c947cb82e07710f9557bef25a7116f66f53 100644 (file)
@@ -26,6 +26,15 @@ details.  */
 #undef FALSE
 #define FALSE FALSE
 
+// JNI calling convention also defined in jni.h  */
+#ifndef JNICALL
+ #if (defined (_WIN32) || defined (__WIN32__) || defined (WIN32)) && !defined (_WIN64)
+  #define JNICALL __stdcall
+ #else
+  #define JNICALL
+ #endif
+#endif
+
 // To force selection of correct types that will mangle consistently
 // across platforms.
 extern "Java"
index 73162fcaab3b27dfd43a938862c8646820a0d629..bc1331db7b6c02ad5a4667ab017e34319e661877 100644 (file)
@@ -41,26 +41,26 @@ friend jstring (::_Jv_AllocString) (jsize);
 
 class java/lang/reflect/Constructor
 prepend jmethodID _Jv_FromReflectedConstructor (java::lang::reflect::Constructor *);
-prepend jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
+prepend jobject JNICALL _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
 friend jmethodID (::_Jv_FromReflectedConstructor) (java::lang::reflect::Constructor *);
-friend jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
+friend jobject JNICALL (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
 friend class java::lang::Class;
 
 class java/lang/reflect/Field
 prepend jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);
-prepend jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean);
+prepend jobject JNICALL _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean);
 prepend jobject _Jv_getFieldInternal (java::lang::reflect::Field *f, jclass c, jobject o);
 friend jfieldID (::_Jv_FromReflectedField) (java::lang::reflect::Field *);
-friend jobject (::_Jv_JNI_ToReflectedField) (_Jv_JNIEnv*, jclass, jfieldID, jboolean);
+friend jobject JNICALL (::_Jv_JNI_ToReflectedField) (_Jv_JNIEnv*, jclass, jfieldID, jboolean);
 friend class java::lang::Class;
 friend jobject (::_Jv_getFieldInternal) (java::lang::reflect::Field *f, jclass c, jobject o);
 
 class java/lang/reflect/Method
 prepend jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);
-prepend jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
+prepend jobject JNICALL _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
 prepend ::java::lang::reflect::Method *_Jv_GetReflectedMethod (jclass, _Jv_Utf8Const*, _Jv_Utf8Const*);
 friend jmethodID (::_Jv_FromReflectedMethod) (java::lang::reflect::Method *);
-friend jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
+friend jobject JNICALL (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
 friend class java::lang::Class;
 friend class java::io::ObjectInputStream;
 friend java::lang::reflect::Method* ::_Jv_GetReflectedMethod (jclass, _Jv_Utf8Const*, _Jv_Utf8Const*);
index 1796971d146c90331e2050c8af84a4c185835907..e6b043c378daaf5362d20197e70a103b835ad9bc 100644 (file)
@@ -190,6 +190,7 @@ LIBGCJ_BC_SPEC = @LIBGCJ_BC_SPEC@
 LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
 LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
 LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
+LIBGCJ_LD_EXPORT_ALL = @LIBGCJ_LD_EXPORT_ALL@
 LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@
 LIBGCJ_LD_SYMBOLIC_FUNCTIONS = @LIBGCJ_LD_SYMBOLIC_FUNCTIONS@
 LIBGCJ_SPEC = @LIBGCJ_SPEC@
index d75efc6f28b8d411011a5c0a325166db06c43f31..403812704957cc10741ea346d91adfd320ab0651 100644 (file)
@@ -65,6 +65,15 @@ typedef struct _Jv_JavaVM JavaVM;
      reused between non-nesting JNI calls.  */                         \
   struct _Jv_JNI_LocalFrame *bottom_locals;
 
+/*  JNI calling convention.  Also defined in javaprims.h. */
+#ifndef JNICALL
+#if (defined (_WIN32) || defined (__WIN32__) || defined (WIN32)) \
+    && !defined (_WIN64)
+  #define JNICALL __stdcall
+ #else
+  #define JNICALL
+ #endif
+#endif
 
 #else /* __GCJ_JNI_IMPL__ */
 
@@ -117,14 +126,17 @@ typedef uint16_t jchar;
 
 
 /* Linkage and calling conventions. */
-#if defined (_WIN32) || defined (__WIN32__) || defined (WIN32)
+#if (defined (_WIN32) || defined (__WIN32__) || defined (WIN32)) \
+    && !defined (_WIN64)
 
 #define JNIIMPORT        __declspec(dllimport)
 #define JNIEXPORT        __declspec(dllexport)
 
-#define JNICALL          __stdcall
+#ifndef JNICALL
+#define JNICALL __stdcall
+#endif
 
-#else /* !( _WIN32 || __WIN32__ || WIN32) */
+#else /* !( _WIN32 || __WIN32__ || WIN32) || _WIN64 */
 
 #define JNIIMPORT
 #if defined(__GNUC__) && __GNUC__ > 3
@@ -133,9 +145,11 @@ typedef uint16_t jchar;
 #define JNIEXPORT
 #endif
 
+#ifndef JNICALL
 #define JNICALL
+#endif
 
-#endif /* !( _WIN32 || __WIN32__ || WIN32) */
+#endif /* !( _WIN32 || __WIN32__ || WIN32) || _WIN64 */
 
 /* These defines apply to symbols in libgcj */
 #ifdef __GCJ_DLL__
index d4a918483c3025078fbc45c5ac54666e9c7e2ef4..a05bdb0ad04ec4441c698808815f0b955348a0f7 100644 (file)
@@ -251,10 +251,10 @@ bool _Jv_getInterfaceMethod(jclass, jclass&, int&,
                            const _Jv_Utf8Const*,
                            const _Jv_Utf8Const*);
 
-jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv *, jclass, jfieldID,
-                                 jboolean);
-jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID,
-                                  jboolean);
+jobject JNICALL _Jv_JNI_ToReflectedField (_Jv_JNIEnv *, jclass, jfieldID,
+                                         jboolean);
+jobject JNICALL _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID,
+                                          jboolean);
 jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);
 
 jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);
index 5a200bc114df99da27727909bbd0ee0d990418df..1491ed7b5cf2f476e7b2799cbf9363c4bd88d89e 100644 (file)
@@ -11,7 +11,7 @@
 
 
 jmethodID _Jv_FromReflectedConstructor (java::lang::reflect::Constructor *);
-jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
+jobject JNICALL _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
 
 class java::lang::reflect::Constructor : public ::java::lang::reflect::AccessibleObject
 {
@@ -58,7 +58,7 @@ public:
   static ::java::lang::Class class$;
 
   friend jmethodID (::_Jv_FromReflectedConstructor) (java::lang::reflect::Constructor *);
-  friend jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
+  friend jobject JNICALL (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
   friend class java::lang::Class;
 };
 
index 0af95652def0d3da75aa33b160950d09907e40bd..9eb71c3e30e9cfd4e2f136403fd54be3ddeba221 100644 (file)
@@ -11,7 +11,7 @@
 
 
 jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);
-jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean);
+jobject JNICALL _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID, jboolean);
 jobject _Jv_getFieldInternal (java::lang::reflect::Field *f, jclass c, jobject o);
 
 class java::lang::reflect::Field : public ::java::lang::reflect::AccessibleObject
@@ -90,7 +90,7 @@ public:
   static ::java::lang::Class class$;
 
   friend jfieldID (::_Jv_FromReflectedField) (java::lang::reflect::Field *);
-  friend jobject (::_Jv_JNI_ToReflectedField) (_Jv_JNIEnv*, jclass, jfieldID, jboolean);
+  friend jobject JNICALL (::_Jv_JNI_ToReflectedField) (_Jv_JNIEnv*, jclass, jfieldID, jboolean);
   friend class java::lang::Class;
   friend jobject (::_Jv_getFieldInternal) (java::lang::reflect::Field *f, jclass c, jobject o);
 };
index 8a843d5d154b1b7b0c0514c664a1637a5e019340..914e04bede896b5367e990886604ff3bdaa18ed8 100644 (file)
@@ -11,7 +11,7 @@
 
 
 jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);
-jobject _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
+jobject JNICALL _Jv_JNI_ToReflectedMethod (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
 ::java::lang::reflect::Method *_Jv_GetReflectedMethod (jclass, _Jv_Utf8Const*, _Jv_Utf8Const*);
 
 class java::lang::reflect::Method : public ::java::lang::reflect::AccessibleObject
@@ -75,7 +75,7 @@ public:
   static ::java::lang::Class class$;
 
   friend jmethodID (::_Jv_FromReflectedMethod) (java::lang::reflect::Method *);
-  friend jobject (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
+  friend jobject JNICALL (::_Jv_JNI_ToReflectedMethod) (_Jv_JNIEnv *, jclass, jmethodID, jboolean);
   friend class java::lang::Class;
   friend class java::io::ObjectInputStream;
   friend java::lang::reflect::Method* ::_Jv_GetReflectedMethod (jclass, _Jv_Utf8Const*, _Jv_Utf8Const*);
index ee793b22a0f402adc7f740cc26a5bae1225e34cc..1bad2e1492f9c5542b219b1d9daa5ce9b8e2c9a4 100644 (file)
@@ -17,7 +17,10 @@ details.  */
 /* To allow this to link as a DLL.  */
 #define MAIN_FUNC dll_crt0__FP11per_process
 extern "C" int MAIN_FUNC () __declspec(dllimport);
-#else /* !__CYGWIN__ */
+#elif defined (_WIN32)
+#define MAIN_FUNC DllMain
+extern "C" int __stdcall MAIN_FUNC (void *, unsigned long, void *);
+#else /* !__CYGWIN__ && !_WIN32 */
 #define MAIN_FUNC main
 extern int MAIN_FUNC (int, char **);
 #endif /* ?__CYGWIN__ */
index 4af89562341ee397e7ce0f6b6c6fc8e4bec45db4..a3ac9d81f4ab0048cd7ea2e8e3ccf9e3fc6a827d 100644 (file)
@@ -165,6 +165,7 @@ LIBGCJ_BC_SPEC = @LIBGCJ_BC_SPEC@
 LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
 LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
 LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
+LIBGCJ_LD_EXPORT_ALL = @LIBGCJ_LD_EXPORT_ALL@
 LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@
 LIBGCJ_LD_SYMBOLIC_FUNCTIONS = @LIBGCJ_LD_SYMBOLIC_FUNCTIONS@
 LIBGCJ_SPEC = @LIBGCJ_SPEC@