OSDN Git Service

* Make-lang.in (treelang/tree1.o, treelang/treetree.o,
[pf3gnuchains/gcc-fork.git] / libjava / configure.host
index 8c48e82..5089b1d 100644 (file)
@@ -26,6 +26,8 @@
 #   sysdeps_dir                Directory containing system-dependent headers
 #   slow_pthread_self   The synchronization code should try to avoid 
 #                      pthread_self calls by caching thread IDs in a hashtable
+#   can_unwind_signal   Set to "yes" if the EH unwinder supports throwing
+#                      from a signal handler.
 
 libgcj_flags=
 libgcj_cflags=
@@ -36,6 +38,7 @@ enable_java_net_default=yes
 enable_hash_synchronization_default=no
 sysdeps_dir=generic
 slow_pthread_self=
+can_unwind_signal=no
 
 case "${target_optspace}:${host}" in
   yes:*)
@@ -58,7 +61,9 @@ echo "$target"
 
 DIVIDESPEC=-fuse-divide-subroutine
 EXCEPTIONSPEC=-fnon-call-exceptions
+CHECKREFSPEC=
 
+# This case statement supports per-CPU defaults.
 case "${host}" in
   mips-tx39-*|mipstx39-unknown-*)
        libgcj_flags="${libgcj_flags} -G 0"
@@ -86,16 +91,12 @@ case "${host}" in
        libgcj_interpreter=yes
        enable_hash_synchronization_default=yes
        ;;
-  powerpc*-linux*)
+  powerpc*-*)
        sysdeps_dir=powerpc
        libgcj_interpreter=yes
        enable_hash_synchronization_default=yes
        slow_pthread_self=yes
        ;;
-  powerpc*-darwin*)
-       sysdeps_dir=powerpc
-        libgcj_interpreter=yes
-       ;;
   sparc-*)
         ;;
   ia64-*)
@@ -108,12 +109,42 @@ case "${host}" in
        with_libffi_default=no
        PROCESS=Ecos
        FILE=Posix
+       CHECKREFSPEC=-fcheck-references
+       EXCEPTIONSPEC=
        enable_java_net_default=no
        enable_getenv_properties_default=no
        enable_main_args_default=no
        ;;
 esac
 
+# This case statement supports generic port properties and may refine
+# the above per-CPU defaults.  Note: If your OS implements
+# MD_FALLBACK_FRAME_STATE_FOR, then you want to set can_unwind_signal
+# here.
+case "${host}" in
+  i[34567]86*-linux* | \
+  powerpc*-linux* | \
+  alpha*-linux* | \
+  s390*-linux* | \
+  sparc*-linux* | \
+  ia64-*)
+       can_unwind_signal=yes
+       ;;
+  *-*-darwin*)
+       enable_hash_synchronization_default=no
+       slow_pthread_self=
+       ;;
+  *-*-freebsd*)
+       slow_pthread_self=
+       ;;
+  *-cygwin*)
+       # The cygwin linker doesn't do 8-byte alignment by default, so
+       # disable hash synchronization for now.
+       enable_hash_synchronization_default=no
+       slow_pthread_self=
+       ;;
+esac
+
 libgcj_cflags="${libgcj_cflags} ${libgcj_flags}"
 libgcj_cxxflags="${libgcj_cxxflags} ${libgcj_flags}"
 libgcj_javaflags="${libgcj_javaflags} ${libgcj_flags}"