# 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
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
EXCEPTIONSPEC=-fnon-call-exceptions
CHECKREFSPEC=
BACKTRACESPEC=
+ATOMICSPEC=
# This case statement supports per-CPU defaults.
case "${host}" in
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"
;;
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=yes
DIVIDESPEC=-fuse-divide-subroutine
;;
+ sparc*-sun-solaris2.*)
+ slow_pthread_self=
+ can_unwind_signal=yes
+ ;;
esac
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