# fallback_backtrace_h Header to use for fallback backtrace implementation
# (only for targets that don't support DWARF2 unwind)
# descriptor_h Header to use for looking past function descriptors
+# use_libgcj_bc Whether to build a "libgcj-bc" library for BC-ABI
+# binaries to link against.
libgcj_flags=
libgcj_cflags=
# 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
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
;;
mips-tx39-*|mipstx39-unknown-*)
libgcj_flags="${libgcj_flags} -G 0"
enable_java_net_default=no
enable_getenv_properties_default=no
;;
+ mips*-*)
+ libgcj_interpreter=yes
+ ;;
i686-*|i586-*|i486-*|i386-*)
sysdeps_dir=i386
# With -fomit-frame-pointer -maccumulate-outgoing-args (implied),
# the .text section of libgcj.so is 30k larger, and the .eh_frame
# section is 1.4M smaller.
libgcj_flags="${libgcj_flags} -ffloat-store -fomit-frame-pointer"
+ # On Solaris we have defined 'sun' which later conflicts with
+ # namespace usage. So to work this away we use the below undefine.
+ libgcj_flags="${libgcj_flags} -Usun"
libgcj_interpreter=yes
libgcj_cxxflags=
libgcj_cflags=
enable_hash_synchronization_default=yes
IEEESPEC=-mieee
;;
- hppa-*)
+ hppa*-*)
sysdeps_dir=pa
libgcj_interpreter=yes
- enable_hash_synchronization_default=yes
+ enable_hash_synchronization_default=no
+ ;;
+ m68k-*)
+ sysdeps_dir=m68k
+ libgcj_interpreter=yes
;;
powerpc64*-*)
sysdeps_dir=powerpc
enable_hash_synchronization_default=yes
;;
sparc*-*)
+ sysdeps_dir=sparc
+ # On Solaris we have defined 'sun' which later conflicts with
+ # namespace usage. So to work this away we use the below undefine.
+ libgcj_flags="${libgcj_flags} -Usun"
libgcj_interpreter=yes
;;
ia64-*)
ia64-* | \
x86_64*-linux* | \
hppa*-linux* | \
+ m68k*-linux* | \
sh-linux* | sh[34]*-linux*)
can_unwind_signal=yes
libgcj_ld_symbolic='-Wl,-Bsymbolic'
rm -f conftest conftest.c
fi
;;
+ i[34567]86*-kfreebsd*-gnu | x86_64*-kfreebsd*-gnu)
+ libgcj_ld_symbolic='-Wl,-Bsymbolic'
+ slow_pthread_self=
+ ;;
i[34567]86-*-solaris2.1[0-9]* )
sysdeps_dir=x86-64
DIVIDESPEC=-f%{m32:no-}%{!m32:%{!m64:no-}}%{m64:}use-divide-subroutine
;;
+ 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
slow_pthread_self=
can_unwind_signal=yes
;;
+ i?86-*-darwin*)
+ enable_hash_synchronization_default=yes
+ 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=
;;
enable_hash_synchronization_default=no
slow_pthread_self=
;;
+ hppa*-hp-hpux11.*)
+ slow_pthread_self=no
+ can_unwind_signal=yes
+ DIVIDESPEC=-fuse-divide-subroutine
+ ;;
esac
case "${host}" in
descriptor_h=sysdep/descriptor-y.h
;;
+ hppa*64*-*-hpux*)
+ descriptor_h=sysdep/pa/descriptor-pa64-hpux.h
+ ;;
+
+ hppa*-*-hpux*)
+ descriptor_h=sysdep/pa/descriptor-pa32-hpux.h
+ ;;
+
hppa*-*)
descriptor_h=sysdep/pa/descriptor.h
;;
;;
esac
+case "${host}" in
+ *linux*|*-kfreebsd*-gnu|*-gnu*)
+ use_libgcj_bc=yes
+ ;;
+ *)
+ use_libgcj_bc=no
+ ;;
+esac
+
libgcj_cflags="${libgcj_cflags} ${libgcj_flags}"
libgcj_cxxflags="${libgcj_cxxflags} ${libgcj_flags}"
libgcj_javaflags="${libgcj_javaflags} ${libgcj_flags}"