X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libjava%2Fconfigure.host;h=460ef2fab07f122e7e5220df888d91de0ca30ec1;hb=76b615508c175d855f187df077ba97fbc399ce06;hp=c09867b54415901c486b613961bdc8032f92faf5;hpb=54b0551a36a74c1eb4d5af65e2dd5c107120383c;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libjava/configure.host b/libjava/configure.host index c09867b5441..460ef2fab07 100644 --- a/libjava/configure.host +++ b/libjava/configure.host @@ -18,11 +18,16 @@ # libgcj_cflags Special CFLAGS to use when building # libgcj_cxxflags Special CXXFLAGS to use when building # libgcj_javaflags Special JAVAFLAGS to use when building +# libgcj_sublib_ltflags Special Libtool flags to use when building sublibs +# libgcj_sublib_core_extra_deps Extra dependencies to add to core sublib # libgcj_interpreter If the bytecode interpreter supports this platform. # enable_java_net_default If java.net native code should be enabled by # default. # enable_hash_synchronization_default If hash synchronization should be # enabled by default. +# enable_libgcj_sublibs_default Whether to build libgcj as a bunch of +# separate shared libraries or in one +# monolithic one. # 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 @@ -38,9 +43,12 @@ libgcj_flags= libgcj_cflags= libgcj_cxxflags= libgcj_javaflags= +libgcj_sublib_ltflags= +libgcj_sublib_core_extra_deps= libgcj_interpreter= enable_java_net_default=yes enable_hash_synchronization_default=no +enable_libgcj_sublibs_default=no sysdeps_dir=generic slow_pthread_self= can_unwind_signal=no @@ -69,10 +77,11 @@ DIVIDESPEC=-fuse-divide-subroutine EXCEPTIONSPEC=-fnon-call-exceptions CHECKREFSPEC= BACKTRACESPEC= +ATOMICSPEC= # This case statement supports per-CPU defaults. case "${host}" in - arm*-elf | strongarm*-elf | xscale*-elf) + arm*-elf) with_libffi_default=no PROCESS=Ecos FILE=Posix @@ -81,10 +90,17 @@ case "${host}" in enable_java_net_default=no enable_getenv_properties_default=no enable_main_args_default=no + sysdeps_dir=arm ;; arm*-linux*) libgcj_interpreter=yes sysdeps_dir=arm + fallback_backtrace_h=sysdep/arm/backtrace.h + libgcj_cxxflags=-Wno-abi + ATOMICSPEC=-fuse-atomic-builtins + # Work around a strange libtool feature that causes libraries + # to be linked with libgcc_s but not libgcc. + LDFLAGS="${LDFLAGS} -Wl,-lgcc" ;; mips-tx39-*|mipstx39-unknown-*) libgcj_flags="${libgcj_flags} -G 0" @@ -96,7 +112,7 @@ case "${host}" in enable_java_net_default=no enable_getenv_properties_default=no ;; - mipsel-*|mips-*) + mips*-*) libgcj_interpreter=yes ;; i686-*|i586-*|i486-*|i386-*) @@ -144,6 +160,10 @@ case "${host}" in libgcj_interpreter=yes enable_hash_synchronization_default=no ;; + m68k-*) + sysdeps_dir=m68k + libgcj_interpreter=yes + ;; powerpc64*-*) sysdeps_dir=powerpc libgcj_interpreter=yes @@ -200,6 +220,7 @@ case "${host}" in ia64-* | \ x86_64*-linux* | \ hppa*-linux* | \ + m68k*-linux* | \ sh-linux* | sh[34]*-linux*) can_unwind_signal=yes libgcj_ld_symbolic='-Wl,-Bsymbolic' @@ -263,18 +284,18 @@ EOF ;; mips-sgi-irix6* ) sysdeps_dir=mips - # disable interpreter, no closure support for N32 and N64 ABIs - libgcj_interpreter=no + ;; + arm*-linux* ) + slow_pthread_self=no + can_unwind_signal=no + CHECKREFSPEC=-fcheck-references + DIVIDESPEC=-fuse-divide-subroutine ;; mips*-*-linux* ) sysdeps_dir=mips can_unwind_signal=yes DIVIDESPEC=-fno-use-divide-subroutine - case "${host}" in - mipsel*-linux* | mipsisa32el*-linux*) - enable_hash_synchronization_default=yes - ;; - esac + enable_hash_synchronization_default=yes ;; powerpc*-*-darwin*) enable_hash_synchronization_default=yes @@ -286,6 +307,17 @@ EOF slow_pthread_self= can_unwind_signal=no ;; + i?86-*-darwin[912]*) + can_unwind_signal=yes + DIVIDESPEC=-f%{m32:no-}%{!m32:%{!m64:no-}}%{m64:}use-divide-subroutine + ;; + x86_64-*-darwin[912]*) + enable_hash_synchronization_default=yes + slow_pthread_self= + can_unwind_signal=yes + DIVIDESPEC=-fuse-divide-subroutine + CHECKREFSPEC=-fcheck-references + ;; *-*-freebsd*) slow_pthread_self= ;; @@ -308,6 +340,10 @@ EOF can_unwind_signal=yes DIVIDESPEC=-fuse-divide-subroutine ;; + sparc*-sun-solaris2.*) + slow_pthread_self= + can_unwind_signal=yes + ;; esac case "${host}" in @@ -315,6 +351,11 @@ case "${host}" in fallback_backtrace_h=sysdep/i386/backtrace.h # We need a frame pointer on Windows, so override BACKTRACESPEC BACKTRACESPEC= + # Win32 DLLs are limited to 64k exported symbols each. + enable_libgcj_sublibs_default=yes + libgcj_sublib_ltflags='-no-undefined -bindir $(bindir) \ + -Wl,-u,__ZN3org4ietf4jgss10GSSManagerC1Ev,-L..,-lgcj-noncore-dummy' + libgcj_sublib_core_extra_deps=libgcj-noncore-dummy.dll.a ;; esac @@ -345,7 +386,7 @@ case "${host}" in esac case "${host}" in - *linux*|*-kfreebsd*-gnu) + *linux*|*-kfreebsd*-gnu|*-gnu*) use_libgcj_bc=yes ;; *)