summaryrefslogtreecommitdiff
path: root/libjava/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/configure.in')
-rw-r--r--libjava/configure.in25
1 files changed, 22 insertions, 3 deletions
diff --git a/libjava/configure.in b/libjava/configure.in
index b6b9baf8e7e..90837b3056f 100644
--- a/libjava/configure.in
+++ b/libjava/configure.in
@@ -16,7 +16,7 @@ AC_ARG_WITH(cross-host,
LIBGCJ_CONFIGURE(.)
-AM_CONFIG_HEADER(include/config.h)
+AM_CONFIG_HEADER(include/config.h gcj/libgcj-config.h)
# Only use libltdl for native builds.
if test -z "${with_cross_host}"; then
@@ -57,13 +57,32 @@ AC_ARG_ENABLE(getenv-properties,
don't set system properties from GCJ_PROPERTIES])
dnl Whether GCJ_PROPERTIES is used depends on the target.
-if test -n "$enable_getenv_properties"; then
+if test -z "$enable_getenv_properties"; then
enable_getenv_properties=${enable_getenv_properties_default-yes}
fi
if test "$enable_getenv_properties" = no; then
AC_DEFINE(DISABLE_GETENV_PROPERTIES)
fi
+
+dnl Should we use hashtable-based synchronization?
+dnl Currently works only for Linux X86/ia64
+dnl Typically faster and more space-efficient
+AC_ARG_ENABLE(hash-synchronization,
+[ --enable-hash-synchronization
+ Use global hash table for monitor locks])
+
+if test -z "$enable_hash_synchronization"; then
+ enable_hash_synchronization=$enable_hash_synchronization_default
+fi
+HASH_SYNC_SPEC=
+if test "$enable_hash_synchronization" = yes; then
+ HASH_SYNC_SPEC=-fhash-synchronization
+ AC_DEFINE(JV_HASH_SYNCHRONIZATION)
+fi
+AC_SUBST(HASH_SYNC_SPEC)
+
+
dnl See if the user has requested runtime debugging.
LIBGCJDEBUG="false"
AC_SUBST(LIBGCJDEBUG)
@@ -150,7 +169,7 @@ AC_ARG_ENABLE(java-net,
[ --disable-java-net disable java.net])
dnl Whether java.net is built by default can depend on the target.
-if test -n "$enable_java_net"; then
+if test -z "$enable_java_net"; then
enable_java_net=${enable_java_net_default-yes}
fi
if test "$enable_java_net" = no; then