aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/native
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/native')
-rw-r--r--libjava/classpath/native/Makefile.in29
-rw-r--r--libjava/classpath/native/fdlibm/Makefile.in35
-rw-r--r--libjava/classpath/native/jawt/Makefile.am2
-rw-r--r--libjava/classpath/native/jawt/Makefile.in37
-rw-r--r--libjava/classpath/native/jni/Makefile.in29
-rw-r--r--libjava/classpath/native/jni/classpath/Makefile.in35
-rw-r--r--libjava/classpath/native/jni/gconf-peer/Makefile.am2
-rw-r--r--libjava/classpath/native/jni/gconf-peer/Makefile.in37
-rw-r--r--libjava/classpath/native/jni/gtk-peer/Makefile.am5
-rw-r--r--libjava/classpath/native/jni/gtk-peer/Makefile.in45
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gdkfont.h2
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c48
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c227
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c139
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c70
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c31
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c5
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c115
-rw-r--r--libjava/classpath/native/jni/gtk-peer/gthread-jni.c2592
-rw-r--r--libjava/classpath/native/jni/java-io/Makefile.in35
-rw-r--r--libjava/classpath/native/jni/java-io/java_io_VMFile.c153
-rw-r--r--libjava/classpath/native/jni/java-lang/Makefile.am6
-rw-r--r--libjava/classpath/native/jni/java-lang/Makefile.in57
-rw-r--r--libjava/classpath/native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c (renamed from libjava/classpath/native/jni/gtk-peer/gthread-jni.h)40
-rw-r--r--libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c22
-rw-r--r--libjava/classpath/native/jni/java-net/Makefile.in35
-rw-r--r--libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c7
-rw-r--r--libjava/classpath/native/jni/java-net/local.c9
-rw-r--r--libjava/classpath/native/jni/java-nio/Makefile.in35
-rw-r--r--libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c19
-rw-r--r--libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c29
-rw-r--r--libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c29
-rw-r--r--libjava/classpath/native/jni/java-nio/javanio.c24
-rw-r--r--libjava/classpath/native/jni/java-util/Makefile.in35
-rw-r--r--libjava/classpath/native/jni/midi-alsa/Makefile.am2
-rw-r--r--libjava/classpath/native/jni/midi-alsa/Makefile.in37
-rw-r--r--libjava/classpath/native/jni/midi-dssi/Makefile.am2
-rw-r--r--libjava/classpath/native/jni/midi-dssi/Makefile.in37
-rw-r--r--libjava/classpath/native/jni/native-lib/Makefile.in35
-rw-r--r--libjava/classpath/native/jni/native-lib/cpio.c70
-rw-r--r--libjava/classpath/native/jni/native-lib/cpio.h5
-rw-r--r--libjava/classpath/native/jni/native-lib/cpnet.c65
-rw-r--r--libjava/classpath/native/jni/native-lib/cpnet.h2
-rw-r--r--libjava/classpath/native/jni/native-lib/cpproc.c4
-rw-r--r--libjava/classpath/native/jni/qt-peer/Makefile.am9
-rw-r--r--libjava/classpath/native/jni/qt-peer/Makefile.in50
-rw-r--r--libjava/classpath/native/jni/xmlj/Makefile.in35
-rw-r--r--libjava/classpath/native/plugin/Makefile.am2
-rw-r--r--libjava/classpath/native/plugin/Makefile.in43
49 files changed, 1335 insertions, 3083 deletions
diff --git a/libjava/classpath/native/Makefile.in b/libjava/classpath/native/Makefile.in
index be7f830..75ab244 100644
--- a/libjava/classpath/native/Makefile.in
+++ b/libjava/classpath/native/Makefile.in
@@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
SOURCES =
@@ -70,12 +75,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -121,6 +129,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -133,15 +142,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -149,7 +159,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -159,6 +168,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -170,6 +180,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -179,6 +190,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -198,6 +210,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -219,6 +232,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -246,8 +260,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -280,6 +296,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/fdlibm/Makefile.in b/libjava/classpath/native/fdlibm/Makefile.in
index 6289268..ffbb7bc 100644
--- a/libjava/classpath/native/fdlibm/Makefile.in
+++ b/libjava/classpath/native/fdlibm/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
@@ -70,15 +75,15 @@ am_libfdlibm_la_OBJECTS = dtoa.lo e_acos.lo e_asin.lo e_atan2.lo \
w_remainder.lo w_sinh.lo w_sqrt.lo
libfdlibm_la_OBJECTS = $(am_libfdlibm_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libfdlibm_la_SOURCES)
DIST_SOURCES = $(libfdlibm_la_SOURCES)
@@ -89,12 +94,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -140,6 +148,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -152,15 +161,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -168,7 +178,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -178,6 +187,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -189,6 +199,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -198,6 +209,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -217,6 +229,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -238,6 +251,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -265,8 +279,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -299,6 +315,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/jawt/Makefile.am b/libjava/classpath/native/jawt/Makefile.am
index c81e754..87dcc9b 100644
--- a/libjava/classpath/native/jawt/Makefile.am
+++ b/libjava/classpath/native/jawt/Makefile.am
@@ -2,7 +2,7 @@ nativeexeclib_LTLIBRARIES = libjawt.la
libjawt_la_SOURCES = jawt.c
libjawt_la_LIBADD = $(top_builddir)/native/jni/gtk-peer/libgtkpeer.la
-libjawt_la_LDFLAGS = -avoid-version
+libjawt_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @PANGOFT2_LIBS@ @X_LIBS@ @XTEST_LIBS@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@
diff --git a/libjava/classpath/native/jawt/Makefile.in b/libjava/classpath/native/jawt/Makefile.in
index 13993aa..2fb6bb4 100644
--- a/libjava/classpath/native/jawt/Makefile.in
+++ b/libjava/classpath/native/jawt/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -70,15 +75,15 @@ libjawt_la_DEPENDENCIES = \
am_libjawt_la_OBJECTS = jawt.lo
libjawt_la_OBJECTS = $(am_libjawt_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libjawt_la_SOURCES)
DIST_SOURCES = $(libjawt_la_SOURCES)
@@ -89,12 +94,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -140,6 +148,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -152,15 +161,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -168,7 +178,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -178,6 +187,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -189,6 +199,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -198,6 +209,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -217,6 +229,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -238,6 +251,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -265,8 +279,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -299,6 +315,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
@@ -319,7 +336,7 @@ vm_classes = @vm_classes@
nativeexeclib_LTLIBRARIES = libjawt.la
libjawt_la_SOURCES = jawt.c
libjawt_la_LIBADD = $(top_builddir)/native/jni/gtk-peer/libgtkpeer.la
-libjawt_la_LDFLAGS = -avoid-version
+libjawt_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @PANGOFT2_LIBS@ @X_LIBS@ @XTEST_LIBS@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@
diff --git a/libjava/classpath/native/jni/Makefile.in b/libjava/classpath/native/jni/Makefile.in
index 6241af2..d4ad33b 100644
--- a/libjava/classpath/native/jni/Makefile.in
+++ b/libjava/classpath/native/jni/Makefile.in
@@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
SOURCES =
@@ -70,12 +75,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -121,6 +129,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -133,15 +142,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -149,7 +159,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -159,6 +168,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -170,6 +180,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -179,6 +190,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -198,6 +210,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -219,6 +232,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -246,8 +260,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -280,6 +296,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/jni/classpath/Makefile.in b/libjava/classpath/native/jni/classpath/Makefile.in
index da4577a..f942857 100644
--- a/libjava/classpath/native/jni/classpath/Makefile.in
+++ b/libjava/classpath/native/jni/classpath/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
@@ -61,15 +66,15 @@ libclasspath_la_LIBADD =
am_libclasspath_la_OBJECTS = jcl.lo jnilink.lo native_state.lo
libclasspath_la_OBJECTS = $(am_libclasspath_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libclasspath_la_SOURCES)
DIST_SOURCES = $(libclasspath_la_SOURCES)
@@ -80,12 +85,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -131,6 +139,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -143,15 +152,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -159,7 +169,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -169,6 +178,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -180,6 +190,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -189,6 +200,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -208,6 +220,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -229,6 +242,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -256,8 +270,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -290,6 +306,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/jni/gconf-peer/Makefile.am b/libjava/classpath/native/jni/gconf-peer/Makefile.am
index 1c8c4a1..3008b3d 100644
--- a/libjava/classpath/native/jni/gconf-peer/Makefile.am
+++ b/libjava/classpath/native/jni/gconf-peer/Makefile.am
@@ -5,7 +5,7 @@ libgconfpeer_la_SOURCES = GConfNativePeer.c
libgconfpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \
$(top_builddir)/native/jni/classpath/jcl.lo
-libgconfpeer_la_LDFLAGS = -avoid-version
+libgconfpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@ @GCONF_LIBS@ @GDK_LIBS@
diff --git a/libjava/classpath/native/jni/gconf-peer/Makefile.in b/libjava/classpath/native/jni/gconf-peer/Makefile.in
index 0bc0b25..109df48 100644
--- a/libjava/classpath/native/jni/gconf-peer/Makefile.in
+++ b/libjava/classpath/native/jni/gconf-peer/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -71,15 +76,15 @@ libgconfpeer_la_DEPENDENCIES = \
am_libgconfpeer_la_OBJECTS = GConfNativePeer.lo
libgconfpeer_la_OBJECTS = $(am_libgconfpeer_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libgconfpeer_la_SOURCES)
DIST_SOURCES = $(libgconfpeer_la_SOURCES)
@@ -90,12 +95,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -141,6 +149,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -153,15 +162,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -169,7 +179,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -179,6 +188,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -190,6 +200,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -199,6 +210,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -218,6 +230,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -239,6 +252,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -266,8 +280,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -300,6 +316,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
@@ -322,7 +339,7 @@ libgconfpeer_la_SOURCES = GConfNativePeer.c
libgconfpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \
$(top_builddir)/native/jni/classpath/jcl.lo
-libgconfpeer_la_LDFLAGS = -avoid-version
+libgconfpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@ @GCONF_LIBS@ @GDK_LIBS@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@
AM_CFLAGS = @WARNING_CFLAGS@ @ERROR_CFLAGS@ @GCONF_CFLAGS@ @GDK_CFLAGS@
diff --git a/libjava/classpath/native/jni/gtk-peer/Makefile.am b/libjava/classpath/native/jni/gtk-peer/Makefile.am
index b7e8414..15f865d 100644
--- a/libjava/classpath/native/jni/gtk-peer/Makefile.am
+++ b/libjava/classpath/native/jni/gtk-peer/Makefile.am
@@ -6,7 +6,6 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \
gnu_java_awt_peer_gtk_ComponentGraphics.c \
gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c \
gnu_java_awt_peer_gtk_FreetypeGlyphVector.c \
- gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c \
gnu_java_awt_peer_gtk_GdkFontPeer.c \
gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c \
gnu_java_awt_peer_gtk_GdkPixbufDecoder.c \
@@ -42,16 +41,14 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \
gnu_java_awt_peer_gtk_GtkVolatileImage.c \
GtkDragSourceContextPeer.c \
cairographics2d.h \
- gthread-jni.c \
gdkdisplay.h \
gdkfont.h \
- gthread-jni.h \
gtk_jawt.c \
gtkpeer.h
libgtkpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \
$(top_builddir)/native/jni/classpath/jcl.lo
-libgtkpeer_la_LDFLAGS = -avoid-version
+libgtkpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @FREETYPE2_LIBS@ \
@PANGOFT2_LIBS@ @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ @XTEST_LIBS@
diff --git a/libjava/classpath/native/jni/gtk-peer/Makefile.in b/libjava/classpath/native/jni/gtk-peer/Makefile.in
index 4f4ce7b..c12ee60 100644
--- a/libjava/classpath/native/jni/gtk-peer/Makefile.in
+++ b/libjava/classpath/native/jni/gtk-peer/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -73,7 +78,6 @@ am_libgtkpeer_la_OBJECTS = gnu_java_awt_peer_gtk_CairoSurface.lo \
gnu_java_awt_peer_gtk_ComponentGraphics.lo \
gnu_java_awt_peer_gtk_ComponentGraphicsCopy.lo \
gnu_java_awt_peer_gtk_FreetypeGlyphVector.lo \
- gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.lo \
gnu_java_awt_peer_gtk_GdkFontPeer.lo \
gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.lo \
gnu_java_awt_peer_gtk_GdkPixbufDecoder.lo \
@@ -107,18 +111,18 @@ am_libgtkpeer_la_OBJECTS = gnu_java_awt_peer_gtk_CairoSurface.lo \
gnu_java_awt_peer_gtk_GtkToolkit.lo \
gnu_java_awt_peer_gtk_GtkWindowPeer.lo \
gnu_java_awt_peer_gtk_GtkVolatileImage.lo \
- GtkDragSourceContextPeer.lo gthread-jni.lo gtk_jawt.lo
+ GtkDragSourceContextPeer.lo gtk_jawt.lo
libgtkpeer_la_OBJECTS = $(am_libgtkpeer_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libgtkpeer_la_SOURCES)
DIST_SOURCES = $(libgtkpeer_la_SOURCES)
@@ -129,12 +133,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -180,6 +187,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -192,15 +200,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -208,7 +217,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -218,6 +226,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -229,6 +238,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -238,6 +248,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -257,6 +268,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -278,6 +290,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -305,8 +318,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -339,6 +354,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
@@ -364,7 +380,6 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \
gnu_java_awt_peer_gtk_ComponentGraphics.c \
gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c \
gnu_java_awt_peer_gtk_FreetypeGlyphVector.c \
- gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c \
gnu_java_awt_peer_gtk_GdkFontPeer.c \
gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c \
gnu_java_awt_peer_gtk_GdkPixbufDecoder.c \
@@ -400,17 +415,15 @@ libgtkpeer_la_SOURCES = gnu_java_awt_peer_gtk_CairoSurface.c \
gnu_java_awt_peer_gtk_GtkVolatileImage.c \
GtkDragSourceContextPeer.c \
cairographics2d.h \
- gthread-jni.c \
gdkdisplay.h \
gdkfont.h \
- gthread-jni.h \
gtk_jawt.c \
gtkpeer.h
libgtkpeer_la_LIBADD = $(top_builddir)/native/jni/classpath/native_state.lo \
$(top_builddir)/native/jni/classpath/jcl.lo
-libgtkpeer_la_LDFLAGS = -avoid-version
+libgtkpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@ @GTK_LIBS@ @FREETYPE2_LIBS@ \
@PANGOFT2_LIBS@ @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ @XTEST_LIBS@
@@ -497,7 +510,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_ComponentGraphics.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_FreetypeGlyphVector.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GdkFontPeer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GdkPixbufDecoder.Plo@am__quote@
@@ -531,7 +543,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GtkToolkit.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GtkVolatileImage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_awt_peer_gtk_GtkWindowPeer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gthread-jni.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_jawt.Plo@am__quote@
.c.o:
diff --git a/libjava/classpath/native/jni/gtk-peer/gdkfont.h b/libjava/classpath/native/jni/gtk-peer/gdkfont.h
index 5545bcc..20b8e42 100644
--- a/libjava/classpath/native/jni/gtk-peer/gdkfont.h
+++ b/libjava/classpath/native/jni/gtk-peer/gdkfont.h
@@ -40,6 +40,7 @@
#include "gtkpeer.h"
+#define PANGO_ENABLE_ENGINE
#include <pango/pango.h>
#include <pango/pango-context.h>
#include <pango/pango-fontmap.h>
@@ -123,6 +124,7 @@ extern struct state_table *cp_gtk_native_text_layout_state_table;
struct peerfont
{
PangoFont *font;
+ PangoFontset *set;
PangoFontDescription *desc;
PangoContext *ctx;
PangoLayout *layout;
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
index 2da68e0..40ddeedf 100644
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
+++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
@@ -312,9 +312,8 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector
jobject font,
jfloat x, jfloat y, jint n,
jintArray java_codes,
- jfloatArray java_positions)
+ jfloatArray java_positions, jlongArray java_fontset)
{
-
struct cairographics2d *gr = NULL;
struct peerfont *pfont = NULL;
cairo_glyph_t *glyphs = NULL;
@@ -337,6 +336,7 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector
native_codes = (*env)->GetIntArrayElements (env, java_codes, NULL);
native_positions = (*env)->GetFloatArrayElements (env, java_positions, NULL);
+ /* Set up glyphs and layout */
for (i = 0; i < n; ++i)
{
glyphs[i].index = native_codes[i];
@@ -347,12 +347,34 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector
(*env)->ReleaseFloatArrayElements (env, java_positions, native_positions, 0);
(*env)->ReleaseIntArrayElements (env, java_codes, native_codes, 0);
- gdk_threads_enter ();
- pango_fc_font_lock_face( (PangoFcFont *)pfont->font );
- cairo_show_glyphs (gr->cr, glyphs, n);
- pango_fc_font_unlock_face( (PangoFcFont *)pfont->font );
+ /* Iterate through glyphs and draw */
+ jlong* fonts = (*env)->GetLongArrayElements (env, java_fontset, NULL);
+ gdk_threads_enter();
+ for (i = 0; i < n; i++)
+ {
+ PangoFcFont *font = JLONG_TO_PTR(PangoFcFont, fonts[i]);
gdk_threads_leave ();
+ /* Draw as many glyphs as possible with the current font */
+ int length = 0;
+ while (i < n-1 && fonts[i] == fonts[i+1])
+ {
+ length++;
+ i++;
+ }
+
+ FT_Face face = pango_fc_font_lock_face( font );
+ cairo_font_face_t *ft = cairo_ft_font_face_create_for_ft_face (face, 0);
+ g_assert (ft != NULL);
+
+ cairo_set_font_face (gr->cr, ft);
+ cairo_show_glyphs (gr->cr, &glyphs[i-length], length+1);
+
+ cairo_font_face_destroy (ft);
+ pango_fc_font_unlock_face(font);
+ }
+ gdk_threads_leave();
+
g_free(glyphs);
}
@@ -700,6 +722,20 @@ Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoResetClip
cairo_reset_clip( gr->cr );
}
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetAntialias
+(JNIEnv *env __attribute__ ((unused)), jobject obj __attribute__ ((unused)),
+ jlong pointer, jboolean aa)
+{
+ struct cairographics2d *gr = JLONG_TO_PTR(struct cairographics2d, pointer);
+ g_assert (gr != NULL);
+
+ if (aa)
+ cairo_set_antialias(gr->cr, CAIRO_ANTIALIAS_GRAY);
+ else
+ cairo_set_antialias(gr->cr, CAIRO_ANTIALIAS_NONE);
+}
+
static void
update_pattern_transform (struct cairographics2d *gr)
{
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
index 350cd34..839153a 100644
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
+++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c
@@ -47,7 +47,7 @@ exception statement from your version. */
* Field names in CairoSurface.java
*/
#define SURFACE "surfacePointer"
-#define BUFFER "bufferPointer"
+#define SHARED "sharedBuffer"
/* prototypes */
static void setNativeObject( JNIEnv *env, jobject obj, void *ptr, const char *pointer );
@@ -56,13 +56,33 @@ static void setNativeObject( JNIEnv *env, jobject obj, void *ptr, const char *po
* Creates a cairo surface, ARGB32, native ordering, premultiplied alpha.
*/
JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_CairoSurface_create (JNIEnv *env, jobject obj, jint width, jint height, jint stride)
+Java_gnu_java_awt_peer_gtk_CairoSurface_create
+(JNIEnv *env, jobject obj, jint width, jint height, jint stride,
+ jintArray buf )
{
cairo_surface_t* surface;
- void *data = g_malloc(stride * height * 4);
- memset(data, 0, stride * height * 4);
- setNativeObject(env, obj, data, BUFFER);
+ jboolean isCopy;
+ /* Retrieve java-created data array */
+ void *data = (*env)->GetIntArrayElements (env, buf, &isCopy);
+
+ /* Set sharedBuffer variable */
+ jclass cls = (*env)->GetObjectClass (env, obj);
+ jfieldID field = (*env)->GetFieldID (env, cls, SHARED, "Z");
+ g_assert (field != 0);
+
+ if (isCopy == JNI_TRUE)
+ {
+ (*env)->SetBooleanField (env, obj, field, JNI_FALSE);
+ void* temp = g_malloc(stride * height * 4);
+ memcpy(temp, data, stride * height * 4);
+ (*env)->ReleaseIntArrayElements (env, buf, data, 0);
+ data = temp;
+ }
+ else
+ (*env)->SetBooleanField (env, obj, field, JNI_TRUE);
+
+ /* Create the cairo surface and set the java pointer */
surface = cairo_image_surface_create_for_data
(data, CAIRO_FORMAT_ARGB32, width, height, stride * 4);
@@ -75,107 +95,26 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_create (JNIEnv *env, jobject obj, jint w
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_CairoSurface_destroy
(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)),
- jlong surfacePointer, jlong bufferPointer)
+ jlong surfacePointer, jintArray buf)
{
- void *buffer;
cairo_surface_t* surface = JLONG_TO_PTR(void, surfacePointer);
+ void *data = cairo_image_surface_get_data(surface);
if( surface != NULL )
+ {
+ /* Release or free the data buffer as appropriate */
+ jclass cls = (*env)->GetObjectClass (env, obj);
+ jfieldID field = (*env)->GetFieldID (env, cls, SHARED, "Z");
+ g_assert (field != 0);
+ jboolean sharedBuffer = (*env)->GetBooleanField (env, obj, field);
+
+ if (sharedBuffer == JNI_TRUE)
+ (*env)->ReleaseIntArrayElements (env, buf, data, 0);
+ else
+ g_free(data);
+
+ /* Destroy the cairo surface itself */
cairo_surface_destroy(surface);
-
- buffer = JLONG_TO_PTR(void, bufferPointer);
- if( buffer != NULL )
- g_free(buffer);
-}
-
-/**
- * Gets a pixel
- */
-JNIEXPORT jint JNICALL
-Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetElem
-(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)),
- jlong bufferPointer, jint i)
-{
- jint *pixeldata = JLONG_TO_PTR(void, bufferPointer);
-
- if( pixeldata == NULL )
- return 0;
-
- return pixeldata[i];
-}
-
-/**
- * Sets a pixel
- */
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetElem
-(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)),
- jlong bufferPointer, jint i, jint val)
-{
- jint *pixeldata = JLONG_TO_PTR(void, bufferPointer);
-
- if( pixeldata == NULL )
- return;
-
- pixeldata[i] = val;
-}
-
-/**
- * Gets all pixels in an array
- */
-JNIEXPORT jintArray JNICALL
-Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetPixels
-(JNIEnv *env __attribute((unused)), jobject obj __attribute((unused)),
- jlong bufferPointer, int size)
-{
- jint *pixeldata, *jpixdata;
- jintArray jpixels;
-
- pixeldata = JLONG_TO_PTR(void, bufferPointer);
- g_assert(pixeldata != NULL);
-
- jpixels = (*env)->NewIntArray (env, size);
- jpixdata = (*env)->GetIntArrayElements (env, jpixels, NULL);
- memcpy (jpixdata, pixeldata, size * sizeof( jint ));
-
- (*env)->ReleaseIntArrayElements (env, jpixels, jpixdata, 0);
- return jpixels;
-}
-
-/**
- * Sets all pixels by an array.
- */
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetPixels
-(JNIEnv *env, jobject obj, jlong bufferPointer, jintArray jpixels)
-{
- jint *pixeldata, *jpixdata;
- int size;
- int width, height;
- jclass cls;
- jfieldID field;
-
- if( jpixels == NULL )
- return;
-
- cls = (*env)->GetObjectClass (env, obj);
- field = (*env)->GetFieldID (env, cls, "width", "I");
- g_assert (field != 0);
- width = (*env)->GetIntField (env, obj, field);
-
- field = (*env)->GetFieldID (env, cls, "height", "I");
- g_assert (field != 0);
- height = (*env)->GetIntField (env, obj, field);
-
- pixeldata = JLONG_TO_PTR(void, bufferPointer);
- g_assert(pixeldata != NULL);
-
- jpixdata = (*env)->GetIntArrayElements (env, jpixels, NULL);
- size = (*env)->GetArrayLength( env, jpixels );
- if( size > width * height ) size = width * height; /* stop overflows. */
-
- memcpy (pixeldata, jpixdata, size * sizeof( jint ));
-
- (*env)->ReleaseIntArrayElements (env, jpixels, jpixdata, 0);
+ }
}
JNIEXPORT void JNICALL
@@ -243,17 +182,35 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface
JNIEXPORT jlong JNICALL
Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer
(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)),
- jlong bufferPointer, jint size)
+ jlong surfacePointer)
{
+ cairo_surface_t* surface;
+ jint *src;
jint *dst;
- jint *src = JLONG_TO_PTR(void, bufferPointer);
- int i;
- int t;
+ int i, t, width, height;
+ jclass cls;
+ jfieldID field;
+ /* Retrieve pointer to cairo data buffer */
+ surface = JLONG_TO_PTR(void, surfacePointer);
+ src = (jint*)cairo_image_surface_get_data(surface);
+
+ /* Retrieve dimensions of surface, from java fields */
+ cls = (*env)->GetObjectClass (env, obj);
+ field = (*env)->GetFieldID (env, cls, "width", "I");
+ g_assert (field != 0);
+ width = (*env)->GetIntField (env, obj, field);
+
+ field = (*env)->GetFieldID (env, cls, "height", "I");
+ g_assert (field != 0);
+ height = (*env)->GetIntField (env, obj, field);
+
+ /* Create destination array */
g_assert( src != NULL );
- dst = g_malloc( size * sizeof( jint ) );
+ dst = g_malloc( width * height * sizeof( jint ) );
- for(i = 0; i < size; i++ )
+ /* Copy data into destination array, reversing sample order of each pixel */
+ for(i = 0; i < (height * width); i++ )
{
t = (src[i] & 0x0000FF) << 16;
dst[i] = (src[i] & 0x00FF0000) >> 16;
@@ -287,24 +244,30 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_nativeNewCairoContext
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative2
(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)),
- jlong bufferPointer,
+ jlong surfacePointer,
jint x, jint y, jint w, jint h, jint dx, jint dy, jint stride)
{
int row;
int srcOffset, dstOffset;
jint *temp;
- jint *pixeldata = JLONG_TO_PTR(jint, bufferPointer);
+
+ /* Retrieve pointer to cairo data buffer */
+ cairo_surface_t* surface = JLONG_TO_PTR(void, surfacePointer);
+ jint *pixeldata = (jint*)cairo_image_surface_get_data(surface);
g_assert( pixeldata != NULL );
+ /* Create temporary buffer and calculate offsets */
temp = g_malloc( h * w * 4 );
g_assert( temp != NULL );
srcOffset = x + (y * stride);
dstOffset = (x + dx) + ((y + dy) * stride);
+ /* Copy desired region into temporary buffer */
for( row = 0; row < h; row++ )
memcpy( temp + (w * row), pixeldata + srcOffset + (stride * row), w * 4 );
+ /* Copy out of buffer and to destination */
for( row = 0; row < h; row++ )
memcpy( pixeldata + dstOffset + (stride * row), temp + (w * row), w * 4 );
@@ -312,6 +275,50 @@ Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative2
}
/*
+ * Synchronizes the java and native data buffers, copying any changes made in
+ * the java array into the native array.
+ * This method should only be called if (sharedBuffer == false).
+ */
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_CairoSurface_syncJavaToNative
+(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)),
+ jlong surfacePointer, jintArray buffer)
+{
+ /* Get size of java array */
+ int size = (*env)->GetArrayLength(env, buffer);
+
+ /* Get native data buffer */
+ cairo_surface_t* surface = JLONG_TO_PTR(void, surfacePointer);
+ g_assert(surface != NULL);
+ void* nativeBuffer = cairo_image_surface_get_data(surface);
+
+ /* Sync buffers */
+ (*env)->GetIntArrayRegion(env, buffer, 0, size, nativeBuffer);
+}
+
+/*
+ * Synchronizes the java and native data buffers, copying any changes made in
+ * the native array into the java array.
+ * This method should only be called if (sharedBuffer == false).
+ */
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_CairoSurface_syncNativeToJava
+(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)),
+ jlong surfacePointer, jintArray buffer)
+{
+ /* Get size of java array */
+ int size = (*env)->GetArrayLength(env, buffer);
+
+ /* Get native data buffer */
+ cairo_surface_t* surface = JLONG_TO_PTR(void, surfacePointer);
+ g_assert(surface != NULL);
+ void* nativeBuffer = cairo_image_surface_get_data(surface);
+
+ /* Sync buffers */
+ (*env)->SetIntArrayRegion(env, buffer, 0, size, nativeBuffer);
+}
+
+/*
* Sets the native object field.
*/
static void
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
index c8b74d2..1a2d2a0 100644
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
+++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
@@ -35,6 +35,7 @@ this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
+#define PANGO_ENABLE_ENGINE
#include <jni.h>
#include <gtk/gtk.h>
#include <string.h>
@@ -43,6 +44,7 @@ exception statement from your version. */
#include <pango/pangofc-font.h>
#include <freetype/ftglyph.h>
#include <freetype/ftoutln.h>
+#include "jcl.h"
#include "native_state.h"
#include "gdkfont.h"
#include "gnu_java_awt_peer_gtk_FreetypeGlyphVector.h"
@@ -81,42 +83,96 @@ getFont(JNIEnv *env, jobject obj)
return (PangoFcFont *)pfont->font;
}
-JNIEXPORT jintArray JNICALL
+static PangoFontset *
+getFontSet(JNIEnv *env, jobject obj)
+{
+ jfieldID fid;
+ jobject data;
+ jclass cls;
+ struct peerfont *pfont;
+
+ cls = (*env)->GetObjectClass (env, obj);
+ fid = (*env)->GetFieldID (env, cls, "peer",
+ "Lgnu/java/awt/peer/gtk/GdkFontPeer;");
+ g_assert (fid != 0);
+
+ data = (*env)->GetObjectField (env, obj, fid);
+ g_assert (data != NULL);
+
+ pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, data);
+ g_assert (pfont != NULL);
+ g_assert (pfont->font != NULL);
+
+ return (PangoFontset *)pfont->set;
+}
+
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs
- (JNIEnv *env, jobject obj, jintArray codepoints)
+ (JNIEnv *env, jobject obj, jintArray codepoints, jintArray glyphs,
+ jlongArray fonts)
{
- FT_Face ft_face;
- jintArray retArray;
- PangoFcFont *font;
- jint *values, *cpvals;
+ PangoFcFont *default_font, *current_font;
+ PangoFontset *pfs;
+ jint *cpvals;
jint length;
int i;
- font = getFont(env, obj);
-
- ft_face = pango_fc_font_lock_face( font );
- g_assert (ft_face != NULL);
+ /* Set up default font and fontset */
+ default_font = getFont(env, obj);
+ current_font = default_font;
+ pfs = getFontSet(env, obj);
+ /* Retrieve string information */
length = (*env)->GetArrayLength (env, codepoints);
cpvals = (*env)->GetIntArrayElements (env, codepoints, NULL);
+
+ jint *glyphArray = (*env)->GetIntArrayElements (env, glyphs, NULL);
+ jlong *fontArray = (*env)->GetLongArrayElements (env, fonts, NULL);
- retArray = (*env)->NewIntArray (env, length);
- values = (*env)->GetIntArrayElements (env, retArray, NULL);
+ /* A design goal of Pango is to be threadsafe, but it's admitted that it is
+ * not actually threadsafe at the moment. Using gdk locking here to be safe,
+ * but I don't know if if actually helps at all... */
+ gdk_threads_enter();
for( i = 0; i < length; i++ )
- values[i] = FT_Get_Char_Index( ft_face, cpvals[i] );
+ {
+ /* Ensure the current font has the requested character; if it doesn't,
+ * try the default font before pulling a new font out of the fontset.
+ * Once chosen, a font will be used until a character not in the font is
+ * encountered. */
+ if (!pango_fc_font_has_char(current_font, cpvals[i]))
+ {
+ if (pango_fc_font_has_char(default_font, cpvals[i]))
+ {
+ current_font = default_font;
+ g_object_ref(current_font);
+ }
+ else
+ {
+ current_font = (PangoFcFont*)pango_fontset_get_font(pfs, cpvals[i]);
+ }
+ }
+ else
+ {
+ g_object_ref(current_font);
+ }
+
+ /* Get glyph, and store both glyph and pointer to font */
+ glyphArray[i] = (int)pango_fc_font_get_glyph(current_font,
+ (gunichar)cpvals[i]);
+ fontArray[i] = PTR_TO_JLONG(current_font);
+ }
+
+ gdk_threads_leave();
- (*env)->ReleaseIntArrayElements (env, retArray, values, 0);
+ (*env)->ReleaseIntArrayElements (env, glyphs, glyphArray, 0);
(*env)->ReleaseIntArrayElements (env, codepoints, cpvals, 0);
-
- pango_fc_font_unlock_face (font);
-
- return retArray;
+ (*env)->ReleaseLongArrayElements (env, fonts, fontArray, 0);
}
JNIEXPORT jobject JNICALL
Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning
-(JNIEnv *env, jobject obj, jint rightGlyph, jint leftGlyph)
+(JNIEnv *env, jobject obj __attribute__((unused)), jint rightGlyph, jint leftGlyph, jlong fnt)
{
FT_Face ft_face;
FT_Vector kern;
@@ -125,7 +181,7 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning
jvalue values[2];
PangoFcFont *font;
- font = getFont(env, obj);
+ font = JLONG_TO_PTR(PangoFcFont, fnt);
ft_face = pango_fc_font_lock_face( font );
g_assert (ft_face != NULL);
FT_Get_Kerning( ft_face, rightGlyph, leftGlyph, FT_KERNING_DEFAULT, &kern );
@@ -142,14 +198,14 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning
JNIEXPORT jdoubleArray JNICALL
Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getMetricsNative
-(JNIEnv *env, jobject obj, jint glyphIndex )
+(JNIEnv *env, jobject obj __attribute__((unused)), jint glyphIndex, jlong fnt)
{
FT_Face ft_face;
jdouble *values;
jdoubleArray retArray = NULL;
PangoFcFont *font;
- font = getFont(env, obj);
+ font = JLONG_TO_PTR(PangoFcFont, fnt);
ft_face = pango_fc_font_lock_face( font );
g_assert (ft_face != NULL);
@@ -285,7 +341,7 @@ static int _curveTo( const FT_Vector* cp1,
JNIEXPORT jobject JNICALL
Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative
- (JNIEnv *env, jobject obj, jint glyphIndex)
+ (JNIEnv *env, jobject obj __attribute__((unused)), jint glyphIndex, jlong fnt)
{
generalpath *path;
jobject gp;
@@ -302,7 +358,7 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative
FT_Face ft_face;
FT_Glyph glyph;
- font = getFont(env, obj);
+ font = JLONG_TO_PTR(PangoFcFont, fnt);
ft_face = pango_fc_font_lock_face( font );
g_assert (ft_face != NULL);
@@ -345,4 +401,39 @@ Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative
return gp;
}
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_dispose
+ (JNIEnv *env, jobject obj __attribute__((unused)), jlongArray fontset)
+{
+ PangoFcFont *font;
+ jlong *fontArray;
+ int i, length;
+ length = (*env)->GetArrayLength (env, fontset);
+ fontArray = (*env)->GetLongArrayElements (env, fontset, NULL);
+
+ gdk_threads_enter();
+
+ for( i = 0; i < length; i++ )
+ {
+ font = JLONG_TO_PTR(PangoFcFont, fontArray[i]);
+ g_object_unref(font);
+ }
+
+ gdk_threads_leave();
+
+ (*env)->ReleaseLongArrayElements (env, fontset, fontArray, 0);
+}
+
+JNIEXPORT jlong JNICALL
+Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getNativeFontPointer
+ (JNIEnv *env, jobject obj, jint n)
+{
+ int i;
+ PangoFcFont *font = getFont(env, obj);
+
+ for (i = 0; i < n; i++)
+ g_object_ref(font);
+
+ return PTR_TO_JLONG(font);
+}
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c
deleted file mode 100644
index 595c1a2..0000000
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Native implementation of functions in GThreadNativeMethodRunner
- Copyright (C) 2004 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-
-#include "gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h"
-#include "gthread-jni.h"
-
-/*
- * Class: GThreadNativeMethodRunner
- * Method: nativeRun
- * Signature: (J)V
- *
- * Purpose: Run the C function whose function pointer is
- *
- */
-JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_nativeRun
- (JNIEnv *env __attribute__((unused)),
- jobject lcl_obj __attribute__((unused)),
- jlong funcAddr, jlong funcArg)
-{
- /* Convert the function's address back into a pointer to a C function. */
- void *(*funcPtr)(void *) = (void *(*)(void *)) (size_t)funcAddr;
-
- /* We do not need to worry about the return value from funcPtr(); it's
- just thrown away. That is part of the g_threads spec, so no reason
- to worry about returning it. */
- (void) funcPtr((void *) (size_t)funcArg);
- /* Fall off the end and terminate the thread of control. */
-}
-
-/* Local Variables: */
-/* c-file-style: "gnu" */
-/* End: */
-
-
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
index 0837ee1..022edee 100644
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
+++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
@@ -35,6 +35,7 @@
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
+#define PANGO_ENABLE_ENGINE
#include <pango/pango.h>
#include <pango/pangoft2.h>
#include <pango/pangofc-font.h>
@@ -97,6 +98,8 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_dispose
g_object_unref (pfont->layout);
if (pfont->font != NULL)
g_object_unref (pfont->font);
+ if (pfont->set != NULL)
+ g_object_unref (pfont->set);
if (pfont->ctx != NULL)
g_object_unref (pfont->ctx);
if (pfont->desc != NULL)
@@ -166,6 +169,8 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_getFontMetrics
face->underline_position / factory;
native_metrics[FONT_METRICS_UNDERLINE_THICKNESS] =
face->underline_thickness / factory;
+
+ pango_fc_font_unlock_face((PangoFcFont *)pfont->font);
(*env)->ReleaseDoubleArrayElements (env,
java_metrics,
@@ -253,13 +258,17 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont
pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, self);
g_assert (pfont != NULL);
+ /* Clear old font information */
if (pfont->ctx != NULL)
g_object_unref (pfont->ctx);
if (pfont->font != NULL)
g_object_unref (pfont->font);
+ if (pfont->set != NULL)
+ g_object_unref (pfont->set);
if (pfont->desc != NULL)
pango_font_description_free (pfont->desc);
+ /* Set new description information */
pfont->desc = pango_font_description_new ();
g_assert (pfont->desc != NULL);
@@ -268,7 +277,6 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont
pango_font_description_set_family (pfont->desc, family_name);
(*env)->ReleaseStringUTFChars(env, family_name_str, family_name);
-
if (style & java_awt_font_BOLD)
pango_font_description_set_weight (pfont->desc, PANGO_WEIGHT_BOLD);
@@ -276,22 +284,19 @@ Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont
pango_font_description_set_style (pfont->desc, PANGO_STYLE_ITALIC);
pango_font_description_set_size (pfont->desc, size * PANGO_SCALE);
- if (pfont->ctx == NULL)
- {
- ft2_map = PANGO_FT2_FONT_MAP(pango_ft2_font_map_for_display ());
- pfont->ctx = pango_ft2_font_map_create_context (ft2_map);
- }
-
- g_assert (pfont->ctx != NULL);
- if (pfont->font != NULL)
- {
- g_object_unref (pfont->font);
- pfont->font = NULL;
- }
+ /* Create new context */
+ ft2_map = PANGO_FT2_FONT_MAP(pango_ft2_font_map_new());
+ pfont->ctx = pango_ft2_font_map_create_context (ft2_map);
+ g_object_unref(ft2_map);
+ g_assert (pfont->ctx != NULL);
pango_context_set_font_description (pfont->ctx, pfont->desc);
pango_context_set_language (pfont->ctx, gtk_get_default_language());
+
+ /* Create new fontset and default font */
+ pfont->set = pango_context_load_fontset(pfont->ctx, pfont->desc,
+ gtk_get_default_language());
pfont->font = pango_context_load_font (pfont->ctx, pfont->desc);
g_assert (pfont->font != NULL);
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
index 8805ae7..ae7027e 100644
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
+++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
@@ -1,5 +1,5 @@
/* gtkimage.c
- Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -368,6 +368,9 @@ GdkPixbuf *cp_gtk_image_get_pixbuf (JNIEnv *env, jobject obj)
g_assert (data_fid != 0);
data = (*env)->GetObjectField (env, obj, data_fid);
+ if (data == NULL)
+ return NULL;
+
return (GdkPixbuf *)JCL_GetRawData (env, data);
}
diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
index 0f868ea..d2a4b0e 100644
--- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
+++ b/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
@@ -1,5 +1,6 @@
+
/* gtktoolkit.c -- Native portion of GtkToolkit
- Copyright (C) 1998, 1999, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2005, 2007 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -38,7 +39,6 @@ exception statement from your version. */
#include "gtkpeer.h"
#include "gnu_java_awt_peer_gtk_GtkToolkit.h"
-#include "gthread-jni.h"
#include "jcl.h"
#include <gdk/gdkx.h>
@@ -73,6 +73,12 @@ exception statement from your version. */
#define AWT_INFO_TEXT 25
#define AWT_NUM_COLORS 26
+#define VK_SHIFT 16
+#define VK_CONTROL 17
+#define VK_ALT 18
+#define VK_CAPS_LOCK 20
+#define VK_META 157
+
struct state_table *cp_gtk_native_state_table;
struct state_table *cp_gtk_native_global_ref_table;
@@ -82,6 +88,11 @@ static JavaVM *java_vm;
static jmethodID printCurrentThreadID;
static jmethodID setRunningID;
+/**
+ * The global AWT lock object.
+ */
+static jobject global_lock;
+
union env_union
{
void *void_env;
@@ -100,7 +111,9 @@ cp_gtk_gdk_env()
GtkWindowGroup *cp_gtk_global_window_group;
double cp_gtk_dpi_conversion_factor;
-static void init_glib_threads(JNIEnv *, jint);
+static void jni_lock_cb();
+static void jni_unlock_cb();
+static void init_glib_threads(JNIEnv*, jint, jobject);
static gboolean post_set_running_flag (gpointer);
static gboolean set_running_flag (gpointer);
static gboolean clear_running_flag (gpointer);
@@ -131,7 +144,8 @@ static void glog_func (const gchar *log_domain,
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env,
jclass clazz __attribute__((unused)),
- jint portableNativeSync)
+ jint portableNativeSync,
+ jobject lock)
{
int argc = 1;
char **argv;
@@ -154,8 +168,8 @@ Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env,
argv[0] = (char *) g_malloc(1);
argv[0][0] = '\0';
argv[1] = NULL;
-
- init_glib_threads(env, portableNativeSync);
+
+ init_glib_threads(env, portableNativeSync, lock);
/* From GDK 2.0 onwards we have to explicitly call gdk_threads_init */
gdk_threads_init();
@@ -209,6 +223,32 @@ Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env,
"setRunning", "(Z)V");
}
+/**
+ * A callback function that implements gdk_threads_enter(). This is
+ * implemented to wrap the JNI MonitorEnter() function.
+ */
+static void jni_lock_cb()
+{
+ JNIEnv * env = cp_gtk_gdk_env();
+ if ((*env)->MonitorEnter(env, global_lock) != JNI_OK)
+ {
+ printf("failure while entering GTK monitor\n");
+ }
+}
+
+/**
+ * A callback function that implements gdk_threads_leave(). This is
+ * implemented to wrap the JNI MonitorExit() function.
+ */
+static void jni_unlock_cb()
+{
+
+ JNIEnv * env = cp_gtk_gdk_env();
+ if ((*env)->MonitorExit(env, global_lock))
+ {
+ printf("failure while exiting GTK monitor\n");
+ }
+}
/** Initialize GLIB's threads properly, based on the value of the
gnu.classpath.awt.gtk.portable.native.sync Java system property. If
@@ -216,7 +256,7 @@ Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env,
In some release following 0.10, that config.h macro will go away.)
*/
static void
-init_glib_threads(JNIEnv *env, jint portableNativeSync)
+init_glib_threads(JNIEnv *env, jint portableNativeSync, jobject lock)
{
if (portableNativeSync < 0)
{
@@ -228,13 +268,14 @@ init_glib_threads(JNIEnv *env, jint portableNativeSync)
#endif
}
- (*env)->GetJavaVM( env, &cp_gtk_the_vm );
if (!g_thread_supported ())
{
if (portableNativeSync)
- g_thread_init ( &cp_gtk_portable_native_sync_jni_functions );
- else
- g_thread_init ( NULL );
+ {
+ global_lock = (*env)->NewGlobalRef(env, lock);
+ gdk_threads_set_lock_functions(&jni_lock_cb, &jni_unlock_cb);
+ }
+ g_thread_init(NULL);
}
else
{
@@ -330,14 +371,14 @@ JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkMain
(JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)))
{
- gdk_threads_enter ();
+ gdk_threads_enter();
gtk_init_add (post_set_running_flag, NULL);
gtk_quit_add (gtk_main_level (), clear_running_flag, NULL);
gtk_main ();
- gdk_threads_leave ();
+ gdk_threads_leave();
}
JNIEXPORT void JNICALL
@@ -514,6 +555,53 @@ gdk_color_to_java_color (GdkColor gdk_color)
return (jint) (0xff000000 | (red << 16) | (green << 8) | blue);
}
+JNIEXPORT jint JNICALL
+Java_gnu_java_awt_peer_gtk_GtkToolkit_getLockState
+ (JNIEnv *env __attribute__((unused)), jobject obj __attribute__((unused)),
+ jint key)
+{
+ gint coord;
+ GdkModifierType state, mask;
+ GdkWindow *root_window;
+
+ gdk_threads_enter ();
+
+ root_window = gdk_get_default_root_window ();
+ gdk_window_get_pointer (root_window, &coord, &coord, &state);
+
+ switch (key)
+ {
+ case VK_SHIFT:
+ mask = GDK_SHIFT_MASK;
+ break;
+ case VK_CONTROL:
+ mask = GDK_CONTROL_MASK;
+ break;
+ case VK_ALT:
+ /* This is dubious, since MOD1 could have been mapped to something
+ other than ALT. */
+ mask = GDK_MOD1_MASK;
+ break;
+#if GTK_CHECK_VERSION(2, 10, 0)
+ case VK_META:
+ mask = GDK_META_MASK;
+ break;
+#endif
+ case VK_CAPS_LOCK:
+ mask = GDK_LOCK_MASK;
+ break;
+ default:
+ mask = 0;
+ }
+
+ gdk_threads_leave ();
+
+ if (mask == 0)
+ return -1;
+
+ return state & mask ? 1 : 0;
+}
+
static gboolean
post_set_running_flag (gpointer data __attribute__((unused)))
{
@@ -538,3 +626,4 @@ clear_running_flag (gpointer data __attribute__((unused)))
setRunningID, FALSE);
return FALSE;
}
+
diff --git a/libjava/classpath/native/jni/gtk-peer/gthread-jni.c b/libjava/classpath/native/jni/gtk-peer/gthread-jni.c
deleted file mode 100644
index 384ad0d..0000000
--- a/libjava/classpath/native/jni/gtk-peer/gthread-jni.c
+++ /dev/null
@@ -1,2592 +0,0 @@
-/* gthread-jni.c -- JNI threading routines for GLIB
- Copyright (C) 1998, 2004 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-/************************************************************************/
-/* Header */
-/************************************************************************/
-
-/*
- * @author Julian Dolby (dolby@us.ibm.com)
- * @date February 7, 2003 implemented for GLIB v.1
- *
- *
- * @author Steven Augart
- * <steve+classpath at augart dot com>, <augart at watson dot ibm dot com>
- * @date April 30, 2004 -- May 10 2004: Support new functions for Glib v.2,
- * fix cond_wait to free and re-acquire the mutex,
- * replaced trylock stub implementation with a full one.
- *
- * This code implements the GThreadFunctions interface for GLIB using
- * Java threading primitives. All of the locking and conditional variable
- * functionality required by GThreadFunctions is implemented using the
- * monitor and wait/notify functionality of Java objects. The thread-
- * local functionality uses the java.lang.ThreadLocal class.
- *
- * Classpath's AWT support uses GTK+ peers. GTK+ uses GLIB. GLIB by default
- * uses the platform's native threading model -- pthreads in most cases. If
- * the Java runtime doesn't use the native threading model, then it needs this
- * code in order to use Classpath's (GTK+-based) AWT routines.
- *
- * This code should be portable; I believe it makes no assumptions
- * about the underlying VM beyond that it implements the JNI functionality
- * that this code uses.
- *
- * Currently, use of this code is governed by the configuration option
- * --enable-portable-native-sync. We will soon add a VM hook so the VM can
- * select which threading model it wants to use at run time; at that point,
- * the configuration option will go away.
- *
- * The code in this file uses only JNI 1.1, except for one JNI 1.2 function:
- * GetEnv, in the JNI Invocation API. (There seems to be no way around using
- * GetEnv).
- *
- * ACKNOWLEDGEMENT:
- *
- * I would like to thank Mark Wielaard for his kindness in spending at least
- * six hours of his own time in reviewing this code and correcting my GNU
- * coding and commenting style. --Steve Augart
- *
- *
- * NOTES:
- *
- * This code has been tested with Jikes RVM and with Kaffe.
- *
- * This code should have proper automated unit tests. I manually tested it
- * by running an application that uses AWT. --Steven Augart
- *
- * MINOR NIT:
- *
- * - Using a jboolean in the arglist to "throw()" and "rethrow()"
- * triggers many warnings from GCC's -Wconversion operation, because that
- * is not the same as the conversion (upcast to an int) that would occur in
- * the absence of a prototype.
- *
- * It would be very slightly more efficient to just pass the jboolean, but
- * is not worth the clutter of messages. The right solution would be to
- * turn off the -Wconversion warning for just this file, *except* that
- * -Wconversion also warns you against constructs such as:
- * unsigned u = -1;
- * and that is a useful warning. So I went from a "jboolean" to a
- * "gboolean" (-Wconversion is not enabled by default for GNU Classpath,
- * but it is in my own CFLAGS, which, for gcc 3.3.3, read: -pipe -ggdb3 -W
- * -Wall -Wbad-function-cast -Wcast-align -Wpointer-arith -Wcast-qual
- * -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
- * -fkeep-static-consts -fkeep-inline-functions -Wundef -Wwrite-strings
- * -Wno-aggregate-return -Wmissing-noreturn -Wnested-externs -Wtrigraphs
- * -Wconversion -Wsign-compare -Wno-float-equal -Wmissing-format-attribute
- * -Wno-unreachable-code -Wdisabled-optimization )
- */
-
-#include <config.h>
-
-/************************************************************************/
-/* Configuration */
-/************************************************************************/
-
-/** Tracing and Reporting **/
-#define TRACE_API_CALLS 0 /* announce entry and exit into each method,
- by printing to stderr. */
-
-#define TRACE_MONITORS 0 /* Every enterMonitor() and exitMonitor() goes
- to stderr. */
-
-/** Trouble handling. There is a discussion below of this. **/
-#define EXPLAIN_TROUBLE 1 /* Describe any unexpected trouble that
- happens. This is a superset
- of EXPLAIN_BROKEN, and if set trumps an
- unset EXPLAIN_BROKEN. It is not a strict
- superset, since at the moment there is no
- TROUBLE that is not also BROKEN.
-
- Use criticalMsg() to describe the problem.
- */
-
-#define EXPLAIN_BROKEN 1 /* Describe trouble that is serious enough to
- be BROKEN. (Right now all trouble is at
- least BROKEN.) */
-
-/* There is no EXPLAIN_BADLY_BROKEN definition. We always explain
- BADLY_BROKEN trouble, since there is no other way to report it. */
-
-
-/** Error Handling **/
-#define DIE_IF_BROKEN 1 /* Dies if serious trouble happens. There is
- really no non-serious trouble, except
- possibly problems that arise during
- pthread_create, which are reported by a
- GError.
-
- If you do not set DIE_IF_BROKEN, then
- trouble will raise a Java RuntimeException.
- We probably do want to die right away,
- since anything that's BROKEN really
- indicates a programming error or a
- system-wide error, and that's what the glib
- documentation says you should do in case of
- that kind of error in a glib-style
- function. But it does work to turn this
- off. */
-
-#if DIE_IF_BROKEN
-#define DIE_IF_BADLY_BROKEN 1 /* DIE_IF_BROKEN implies DIE_IF_BADLY_BROKEN */
-#else
-#define DIE_IF_BADLY_BROKEN 1 /* Die if the system is badly broken --
- that is, if we have further trouble while
- attempting to throw an exception
- upwards, or if we are unable to generate
- one of the classes we'll need in order to
- throw wrapped exceptions upward.
-
- If unset, we will print a warning message,
- and limp along anyway. Not that the system
- is likely to work. */
-#endif
-
-/** Performance tuning parameters **/
-
-#define ENABLE_EXPENSIVE_ASSERTIONS 0 /* Enable expensive assertions? */
-
-#define DELETE_LOCAL_REFS 1 /* Whether to delete local references.
-
- JNI only guarantees that there wil be 16
- available. (Jikes RVM provides an number
- only limited by VM memory.)
-
- Jikes RVM will probably perform faster if
- this is turned off, but other VMs may need
- this to be turned on in order to perform at
- all, or might need it if things change.
-
- Remember, we don't know how many of those
- local refs might have already been used up
- by higher layers of JNI code that end up
- calling g_thread_self(),
- g_thread_set_private(), and so on.
-
- We set this to 1 for GNU Classpath, since
- one of our principles is "always go for the
- most robust implementation" */
-
-#define HAVE_JNI_VERSION_1_2 0 /* Assume we don't. We could
- dynamically check for this. We will
- assume JNI 1.2 in later versions of
- Classpath.
-
- As it stands, the code in this file
- already needs one JNI 1.2 function:
- GetEnv, in the JNI Invocation API.
-
- TODO This code hasn't been tested yet.
- And really hasn't been implemented yet.
- */
-
-/************************************************************************/
-/* Global data */
-/************************************************************************/
-
-#if defined HAVE_STDINT_H
-#include <stdint.h> /* provides intptr_t */
-#elif defined HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <stdarg.h> /* va_list */
-#include <glib.h>
-#include "gthread-jni.h"
-#include <assert.h> /* assert() */
-
-/* For Java thread priority constants. */
-#include <gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h>
-
-/* Since not all JNI header generators actually define constants we
- define them here explicitly. */
-#ifndef gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MIN_PRIORITY
-#define gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MIN_PRIORITY 1
-#endif
-#ifndef gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_NORM_PRIORITY
-#define gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_NORM_PRIORITY 5
-#endif
-#ifndef gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MAX_PRIORITY
-#define gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MAX_PRIORITY 10
-#endif
-
-/* The VM handle. This is set in
- Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit */
-JavaVM *cp_gtk_the_vm;
-
-/* Unions used for type punning. */
-union env_union
-{
- void **void_env;
- JNIEnv **jni_env;
-};
-
-union func_union
-{
- void *void_func;
- GThreadFunc g_func;
-};
-
-/* Forward Declarations for Functions */
-static int threadObj_set_priority (JNIEnv * env, jobject threadObj,
- GThreadPriority gpriority);
-static void fatalMsg (const char fmt[], ...)
- __attribute__ ((format (printf, 1, 2)))
- __attribute__ ((noreturn));
-
-static void criticalMsg (const char fmt[], ...)
- __attribute__ ((format (printf, 1, 2)));
-
-static void tracing (const char fmt[], ...)
- __attribute__ ((format (printf, 1, 2)));
-
-static jint javaPriorityLevel (GThreadPriority priority)
- __attribute__ ((const));
-
-/************************************************************************/
-/* Trouble-handling, including utilities to reflect exceptions */
-/* back to the VM. Also some status reporting. */
-/************************************************************************/
-
-/* How are we going to handle problems?
-
- There are several approaches:
-
- 1) Report them with the GError mechanism.
-
- (*thread_create)() is the only one of these functions that takes a
- GError pointer. And the only G_THREAD error defined maps onto EAGAIN.
- We don't have any errors in our (*thread_create)() implementation that
- can be mapped to EAGAIN. So this idea is a non-starter.
-
- 2) Reflect the exception back to the VM, wrapped in a RuntimeException.
- This will fail sometimes, if we're so broken (BADLY_BROKEN) that we
- fail to throw the exception.
-
- 3) Abort execution. This is what the glib functions themselves do for
- errors that they can't report via GError.
-
- Enable DIE_IF_BROKEN and/or DIE_IF_BADLY_BROKEN to
- make this the default for BROKEN and/or BADLY_BROKEN trouble.
-
- 4) Display messages to stderr. We always do this for BADLY_BROKEN
- trouble. The glib functions do that for errors they can't report via
- GError.
-
- There are some complications.
-
- When I attempted to report a problem in g_thread_self() using g_critical (a
- macro around g_log(), I found that g_log in turn looks for thread-private
- data and calls g_thread_self() again.
-
- We got a segfault, probably due to stack overflow. So, this code doesn't
- use the g_critical() and g_error() functions any more. Nor do we use
- g_assert(); we use the C library's assert() instead.
-*/
-
-
-#define WHERE __FILE__ ":" G_STRINGIFY(__LINE__) ": "
-
-/* This is portable to older compilers that lack variable-argument macros.
- This used to be just g_critical(), but then we ran into the error reporting
- problem discussed above.
-*/
-static void
-fatalMsg (const char fmt[], ...)
-{
- va_list ap;
- va_start (ap, fmt);
- vfprintf (stderr, fmt, ap);
- va_end (ap);
- fputs ("\nAborting execution\n", stderr);
- abort ();
-}
-
-
-static void
-criticalMsg (const char fmt[], ...)
-{
- va_list ap;
- va_start (ap, fmt);
- vfprintf (stderr, fmt, ap);
- va_end (ap);
- putc ('\n', stderr);
-}
-
-/* Unlike the other two, this one does not append a newline. This is only
- used if one of the TRACE_ macros is defined. */
-static void
-tracing (const char fmt[], ...)
-{
- va_list ap;
- va_start (ap, fmt);
- vfprintf (stderr, fmt, ap);
- va_end (ap);
-}
-
-#define assert_not_reached() \
- do \
- { \
- fputs(WHERE "You should never get here. Aborting execution.\n", \
- stderr); \
- abort(); \
- } \
- while(0)
-
-
-#if DIE_IF_BADLY_BROKEN
-#define BADLY_BROKEN fatalMsg
-#else
-#define BADLY_BROKEN criticalMsg
-/* So, the user may still attempt to recover, even though we do not advise
- this. */
-#endif
-
-/* I find it so depressing to have to use C without varargs macros. */
-#define BADLY_BROKEN_MSG WHERE "Something fundamental" \
- " to GNU Classpath's AWT JNI broke while we were trying to pass up a Java error message"
-
-#define BADLY_BROKEN0() \
- BADLY_BROKEN(BADLY_BROKEN_MSG);
-#define BADLY_BROKEN1(msg) \
- BADLY_BROKEN(BADLY_BROKEN_MSG ": " msg)
-#define BADLY_BROKEN2(msg, arg) \
- BADLY_BROKEN(BADLY_BROKEN_MSG ": " msg, arg)
-#define BADLY_BROKEN3(msg, arg, arg2) \
- BADLY_BROKEN(BADLY_BROKEN_MSG ": " msg, arg1, arg2)
-#define BADLY_BROKEN4(msg, arg, arg2, arg3) \
- BADLY_BROKEN(BADLY_BROKEN_MSG ": " msg, arg1, arg2, arg3)
-
-#define DELETE_LOCAL_REF(env, ref) \
- do \
- { \
- if ( DELETE_LOCAL_REFS ) \
- { \
- (*env)->DeleteLocalRef (env, ref); \
- (ref) = NULL; \
- } \
- } \
- while(0)
-
-/* Cached info for Exception-wrapping */
-
-static jclass runtimeException_class; /* java.lang.RuntimeException */
-static jmethodID runtimeException_ctor; /* constructor for it */
-
-
-/* Throw a new RuntimeException. It may wrap around an existing exception.
- 1 if we did rethrow, -1 if we had trouble while rethrowing.
- isBroken is always true in this case. */
-static int
-throw (JNIEnv * env, jthrowable cause, const char *message,
- gboolean isBroken, const char *file, int line)
-{
- jstring jmessage;
- gboolean describedException = FALSE; /* Did we already describe the
- exception to stderr or the
- equivalent? */
- jthrowable wrapper;
-
- /* allocate local message in Java */
- const char fmt[] = "In AWT JNI, %s (at %s:%d)";
- size_t len = strlen (message) + strlen (file) + sizeof fmt + 25;
- char *buf;
-
- if (EXPLAIN_TROUBLE || (isBroken && EXPLAIN_BROKEN))
- {
- criticalMsg ("%s:%d: AWT JNI failure%s: %s\n", file, line,
- isBroken ? " (BROKEN)" : "", message);
- if (cause)
- {
- jthrowable currentException = (*env)->ExceptionOccurred (env);
-
- if (cause == currentException)
- {
- criticalMsg ("Description follows to System.err:");
- (*env)->ExceptionDescribe (env);
- /* ExceptionDescribe has the side-effect of clearing the pending
- exception; relaunch it. */
- describedException = TRUE;
-
- if ((*env)->Throw (env, cause))
- {
- BADLY_BROKEN1
- ("Relaunching an exception with Throw failed.");
- return -1;
- }
- }
- else
- {
- DELETE_LOCAL_REF (env, currentException);
- criticalMsg (WHERE
- "currentException != cause; something else happened"
- " while handling an exception.");
- }
- }
- } /* if (EXPLAIN_TROUBLE) */
-
- if (isBroken && DIE_IF_BROKEN)
- fatalMsg ("%s:%d: Aborting execution; BROKEN: %s\n", file, line, message);
-
- if ((buf = malloc (len)))
- {
- memset (buf, 0, len);
- g_snprintf (buf, len, fmt, message, file, line);
- jmessage = (*env)->NewStringUTF (env, buf);
- free (buf);
- }
- else
- {
- jmessage = NULL;
- }
-
- /* Create the RuntimeException wrapper object and throw it. It is OK for
- CAUSE to be NULL. */
- wrapper = (jthrowable) (*env)->NewObject
- (env, runtimeException_class, runtimeException_ctor, jmessage, cause);
- DELETE_LOCAL_REF (env, jmessage);
-
- if (!wrapper)
- {
- /* I think this should only happen:
- - if there are bugs in my JNI code, or
- - if the VM is broken, or
- - if we run out of memory.
- */
- if (EXPLAIN_TROUBLE)
- {
- criticalMsg (WHERE "GNU Classpath: JNI NewObject() could not create"
- " a new java.lang.RuntimeException.");
- criticalMsg ("We were trying to warn about the following"
- " previous failure:");
- criticalMsg ("%s:%d: %s", file, line, message);
- criticalMsg ("The latest (NewObject()) exception's description"
- " follows, to System.err:");
- (*env)->ExceptionDescribe (env);
- }
- BADLY_BROKEN1 ("Failure of JNI NewObject()"
- " to make a java.lang.RuntimeException");
- return -1;
- }
-
-
- /* throw it */
- if ((*env)->Throw (env, wrapper))
- {
- /* Throw() should just never fail, unless we're in such severe trouble
- that we might as well die. */
- BADLY_BROKEN1
- ("GNU Classpath: Failure of JNI Throw to report an Exception");
- return -1;
- }
-
- DELETE_LOCAL_REF (env, wrapper);
- return 1;
-}
-
-
-
-/* Rethrow an exception we received, wrapping it with a RuntimeException. 1
- if we did rethrow, -1 if we had trouble while rethrowing.
- CAUSE should be identical to the most recent exception that happened, so
- that ExceptionDescribe will work. (Otherwise nix.) */
-static int
-rethrow (JNIEnv * env, jthrowable cause, const char *message,
- gboolean isBroken, const char *file, int line)
-{
- assert (cause);
- return throw (env, cause, message, isBroken, file, line);
-}
-
-
-/* This function checks for a pending exception, and rethrows it with
- * a wrapper RuntimeException to deal with possible type problems (in
- * case some calling piece of code does not expect the exception being
- * thrown) and to include the given extra message.
- *
- * Returns 0 if no problems found (so no exception thrown), 1 if we rethrew an
- * exception. Returns -1 on failure.
- */
-static int
-maybe_rethrow (JNIEnv * env, const char *message, gboolean isBroken,
- const char *file, int line)
-{
- jthrowable cause = (*env)->ExceptionOccurred (env);
- int ret = 0;
-
- /* rethrow if an exception happened */
- if (cause)
- {
- ret = rethrow (env, cause, message, isBroken, file, line);
- DELETE_LOCAL_REF (env, cause);
- }
-
- return 0;
-}
-
-/* MAYBE_TROUBLE() is used to include a source location in the exception
- message. Once we have run maybe_rethrow, if there WAS trouble,
- return TRUE, else FALSE.
-
- MAYBE_TROUBLE() is actually never used; all problems that throw exceptions
- are BROKEN, at least. Nothing is recoverable :(. See the discussion of
- possible errors at thread_create_jni_impl(). */
-#define MAYBE_TROUBLE(_env, _message) \
- maybe_rethrow(_env, _message, FALSE, __FILE__, __LINE__)
-
-/* MAYBE_TROUBLE(), but something would be BROKEN if it were true. */
-#define MAYBE_BROKEN(_env, _message) \
- maybe_rethrow(_env, _message, TRUE, __FILE__, __LINE__)
-
-/* Like MAYBE_TROUBLE(), TROUBLE() is never used. */
-#define TROUBLE(_env, _message) \
- rethrow(_env, (*env)->ExceptionOccurred (env), _message, FALSE, \
- __FILE__, __LINE__)
-
-#define BROKEN(_env, _message) \
- rethrow (_env, (*env)->ExceptionOccurred (env), _message, TRUE, \
- __FILE__, __LINE__)
-
-/* Like MAYBE_TROUBLE(), NEW_TROUBLE() is never used. */
-#define NEW_TROUBLE(_env, _message) \
- throw (_env, NULL, _message, FALSE, __FILE__, __LINE__)
-
-#define NEW_BROKEN(_env, _message) \
- throw (_env, NULL, _message, TRUE, __FILE__, __LINE__)
-
-/* Like MAYBE_TROUBLE(), RETHROW_CAUSE() is never used. */
-#define RETHROW_CAUSE(_env, _cause, _message) \
- rethrow (_env, _cause, _message, FALSE, __FILE__, __LINE__)
-
-#define BROKEN_CAUSE(_env, _cause, _message) \
- rethrow (_env, _cause, _message, TRUE, __FILE__, __LINE__)
-
-/* Macros to handle the possibility that someone might have called one of the
- GThreadFunctions API functions with a Java exception pending. It is
- generally discouraged to continue to use JNI after a Java exception has
- been raised. Sun's JNI book advises that one trap JNI errors immediately
- and not continue with an exception pending.
-
- These are #if'd out for these reasons:
-
- 1) They do not work in the C '89 subset that Classpath is currently
- (2004 May 10) sticking to; HIDE_OLD_TROUBLE() includes a declaration
- that should be in scope for the rest of the function, so it needs a
- language version that lets you mix declarations and statements. (This
- could be worked around if it were important.)
-
- 2) They chew up more time and resources.
-
- 3) There does not ever seem to be old trouble -- the assertion in
- HIDE_OLD_TROUBLE never goes off.
-
- You will want to re-enable them if this code needs to be used in a context
- where old exceptions might be pending when the GThread functions are
- called.
-
- The implementations in this file are responsible for skipping around calls
- to SHOW_OLD_TROUBLE() if they've raised exceptions during the call. So, if
- we reach SHOW_OLD_TROUBLE, we are guaranteed that there are no exceptions
- pending. */
-#if 1
-#define HIDE_OLD_TROUBLE(env) \
- assert ( NULL == (*env)->ExceptionOccurred (env) )
-
-#define SHOW_OLD_TROUBLE() \
- assert ( NULL == (*env)->ExceptionOccurred (env) )
-#else /* 0 */
-#define HIDE_OLD_TROUBLE(env) \
- jthrowable savedTrouble = (*env)->ExceptionOccurred (env); \
- (*env)->ExceptionClear (env);
-
-#define SHOW_OLD_TROUBLE() do \
-{ \
- assert ( NULL == (*env)->ExceptionOccurred (env) ) \
- if (savedTrouble) \
- { \
- if ((*env)->Throw (env, savedTrouble)) \
- BADLY_BROKEN ("ReThrowing the savedTrouble failed"); \
- } \
- DELETE_LOCAL_REF (env, savedTrouble); \
-} while(0)
-
-#endif /* 0 */
-
-/* Set up the cache of jclass and jmethodID primitives we need
- in order to throw new exceptions and rethrow exceptions. We do this
- independently of the other caching. We need to have this cache set up
- first, so that we can then report errors properly.
-
- If any errors while setting up the error cache, the world is BADLY_BROKEN.
-
- May be called more than once.
-
- Returns -1 if the cache was not initialized properly, 1 if it was.
-*/
-static int
-setup_exception_cache (JNIEnv * env)
-{
- static int exception_cache_initialized = 0; /* -1 for trouble, 1 for proper
- init. */
-
- jclass lcl_class; /* a class used for local refs */
-
- if (exception_cache_initialized)
- return exception_cache_initialized;
- lcl_class = (*env)->FindClass (env, "java/lang/RuntimeException");
- if ( ! lcl_class )
- {
- BADLY_BROKEN1 ("Broken Class library or VM?"
- " Couldn't find java/lang/RuntimeException");
- return exception_cache_initialized = -1;
- }
- /* Pin it down. */
- runtimeException_class = (jclass) (*env)->NewGlobalRef (env, lcl_class);
- DELETE_LOCAL_REF (env, lcl_class);
- if (!runtimeException_class)
- {
- BADLY_BROKEN1 ("Serious trouble: could not turn"
- " java.lang.RuntimeException into a global reference");
- return exception_cache_initialized = -1;
- }
-
- runtimeException_ctor =
- (*env)->GetMethodID (env, runtimeException_class, "<init>",
- "(Ljava/lang/String;Ljava/lang/Throwable;)V");
- if ( ! runtimeException_ctor )
- {
- BADLY_BROKEN1 ("Serious trouble: classpath couldn't find a"
- " two-arg constructor for java/lang/RuntimeException");
- return exception_cache_initialized = -1;
- }
-
- return exception_cache_initialized = 1;
-}
-
-
-/**********************************************************/
-/***** The main cache *************************************/
-/**********************************************************/
-
-/** This is a cache of all classes, methods, and field IDs that we use during
- the run. We maintain a permanent global reference to each of the classes
- we cache, since otherwise the (local) jclass that refers to that class
- would go out of scope and possibly be reused in further calls.
-
- The permanent global reference also achieves the secondary goal of
- protecting the validity of the methods and field IDs in case the classes
- were otherwise unloaded and then later loaded again. Obviously, this will
- never happen to classes such as java.lang.Thread and java.lang.Object, but
- the primary reason for maintaining permanent global refs is sitll valid.
-
- The code in jnilink.c has a similar objective. TODO: Consider using that
- code instead.
-
- --Steven Augart
-*/
-
-/* All of these are cached classes and method IDs: */
-/* java.lang.Object */
-static jclass obj_class; /* java.lang.Object */
-static jmethodID obj_ctor; /* no-arg Constructor for java.lang.Object */
-static jmethodID obj_notify_mth; /* java.lang.Object.notify() */
-static jmethodID obj_notifyall_mth; /* java.lang.Object.notifyall() */
-static jmethodID obj_wait_mth; /* java.lang.Object.wait() */
-static jmethodID obj_wait_nanotime_mth; /* java.lang.Object.wait(JI) */
-
-/* GThreadMutex and its methods */
-static jclass mutex_class;
-static jmethodID mutex_ctor;
-static jfieldID mutex_lockForPotentialLockers_fld;
-static jfieldID mutex_potentialLockers_fld;
-
-/* java.lang.Thread and its methods*/
-static jclass thread_class; /* java.lang.Thread */
-static jmethodID thread_current_mth; /* Thread.currentThread() */
-static jmethodID thread_equals_mth; /* Thread.equals() */
-static jmethodID thread_join_mth; /* Thread.join() */
-static jmethodID thread_setPriority_mth; /* Thread.setPriority() */
-static jmethodID thread_stop_mth; /* Thread.stop() */
-static jmethodID thread_yield_mth; /* Thread.yield() */
-
-/* java.lang.ThreadLocal and its methods */
-static jclass threadlocal_class; /* java.lang.ThreadLocal */
-static jmethodID threadlocal_ctor; /* Its constructor */
-static jmethodID threadlocal_set_mth; /* ThreadLocal.set() */
-static jmethodID threadlocal_get_mth; /* ThreadLocal.get() */
-
-/* java.lang.Long and its methods */
-static jclass long_class; /* java.lang.Long */
-static jmethodID long_ctor; /* constructor for it: (J) */
-static jmethodID long_longValue_mth; /* longValue()J */
-
-
-/* GThreadNativeMethodRunner */
-static jclass runner_class;
-static jmethodID runner_ctor;
-static jmethodID runner_threadToThreadID_mth;
-static jmethodID runner_threadIDToThread_mth;
-static jmethodID runner_deRegisterJoinable_mth;
-static jmethodID runner_start_mth; /* Inherited Thread.start() */
-
-
-/* java.lang.InterruptedException */
-static jclass interrupted_exception_class;
-
-
-
-
-/* Returns a negative value if there was trouble during initialization.
- Returns a positive value of the cache was initialized correctly.
- Never returns zero. */
-static int
-setup_cache (JNIEnv * env)
-{
- jclass lcl_class;
- static int initialized = 0; /* 1 means initialized, 0 means uninitialized,
- -1 means mis-initialized */
-
- if (initialized)
- return initialized;
-
- /* make sure we can report on trouble */
- if (setup_exception_cache (env) < 0)
- return initialized = -1;
-
-#ifdef JNI_VERSION_1_2
- if (HAVE_JNI_VERSION_1_2)
- assert ( ! (*env)->ExceptionCheck (env));
- else
-#endif
- assert ( ! (*env)->ExceptionOccurred (env));
-
- /* java.lang.Object and its methods */
- lcl_class = (*env)->FindClass (env, "java/lang/Object");
- if (!lcl_class)
- {
- BROKEN (env, "cannot find java.lang.Object");
- return initialized = -1;
- }
-
- /* Pin it down. */
- obj_class = (jclass) (*env)->NewGlobalRef (env, lcl_class);
- DELETE_LOCAL_REF (env, lcl_class);
- if (!obj_class)
- {
- BROKEN (env, "Cannot get a global reference to java.lang.Object");
- return initialized = -1;
- }
-
- obj_ctor = (*env)->GetMethodID (env, obj_class, "<init>", "()V");
- if (!obj_ctor)
- {
- BROKEN (env, "cannot find constructor for java.lang.Object");
- return initialized = -1;
- }
-
- obj_notify_mth = (*env)->GetMethodID (env, obj_class, "notify", "()V");
- if ( ! obj_notify_mth )
- {
- BROKEN (env, "cannot find java.lang.Object.notify()V");
- return initialized = -1;
- }
-
- obj_notifyall_mth =
- (*env)->GetMethodID (env, obj_class, "notifyAll", "()V");
- if ( ! obj_notifyall_mth)
- {
- BROKEN (env, "cannot find java.lang.Object.notifyall()V");
- return initialized = -1;
- }
-
- obj_wait_mth = (*env)->GetMethodID (env, obj_class, "wait", "()V");
- if ( ! obj_wait_mth )
- {
- BROKEN (env, "cannot find Object.<wait()V>");
- return initialized = -1;
- }
-
- obj_wait_nanotime_mth =
- (*env)->GetMethodID (env, obj_class, "wait", "(JI)V");
- if ( ! obj_wait_nanotime_mth )
- {
- BROKEN (env, "cannot find Object.<wait(JI)V>");
- return initialized = -1;
- }
-
- /* GThreadMutex and its methods */
- lcl_class = (*env)->FindClass (env, "gnu/java/awt/peer/gtk/GThreadMutex");
- if ( ! lcl_class)
- {
- BROKEN (env, "cannot find gnu.java.awt.peer.gtk.GThreadMutex");
- return initialized = -1;
- }
- /* Pin it down. */
- mutex_class = (jclass) (*env)->NewGlobalRef (env, lcl_class);
- DELETE_LOCAL_REF (env, lcl_class);
- if ( ! mutex_class)
- {
- BROKEN (env, "Cannot get a global reference to GThreadMutex");
- return initialized = -1;
- }
-
- mutex_ctor = (*env)->GetMethodID (env, mutex_class, "<init>", "()V");
- if ( ! mutex_ctor)
- {
- BROKEN (env, "cannot find zero-arg constructor for GThreadMutex");
- return initialized = -1;
- }
-
- mutex_potentialLockers_fld = (*env)->GetFieldID
- (env, mutex_class, "potentialLockers", "I");
- if ( ! mutex_class )
- {
- BROKEN (env, "cannot find GThreadMutex.potentialLockers");
- return initialized = -1;
- }
-
- if (! (mutex_lockForPotentialLockers_fld = (*env)->GetFieldID
- (env, mutex_class, "lockForPotentialLockers", "Ljava/lang/Object;")))
- {
- BROKEN (env, "cannot find GThreadMutex.lockForPotentialLockers");
- return initialized = -1;
- }
-
-
- /* java.lang.Thread */
- if (! (lcl_class = (*env)->FindClass (env, "java/lang/Thread")))
- {
- BROKEN (env, "cannot find java.lang.Thread");
- return initialized = -1;
- }
-
- /* Pin it down. */
- thread_class = (jclass) (*env)->NewGlobalRef (env, lcl_class);
- DELETE_LOCAL_REF (env, lcl_class);
- if (!thread_class)
- {
- BROKEN (env, "Cannot get a global reference to java.lang.Thread");
- return initialized = -1;
- }
-
- thread_current_mth =
- (*env)->GetStaticMethodID (env, thread_class, "currentThread",
- "()Ljava/lang/Thread;");
- if (!thread_current_mth)
- {
- BROKEN (env, "cannot find Thread.currentThread() method");
- return initialized = -1;
- }
-
- thread_equals_mth =
- (*env)->GetMethodID (env, thread_class, "equals", "(Ljava/lang/Object;)Z");
- if (!thread_equals_mth)
- {
- BROKEN (env, "cannot find Thread.equals() method");
- return initialized = -1;
- }
-
- thread_join_mth = (*env)->GetMethodID (env, thread_class, "join", "()V");
- if (!thread_join_mth)
- {
- BROKEN (env, "cannot find Thread.join() method");
- return initialized = -1;
- }
-
- thread_stop_mth = (*env)->GetMethodID (env, thread_class, "stop", "()V");
- if ( ! thread_stop_mth )
- {
- BROKEN (env, "cannot find Thread.stop() method");
- return initialized = -1;
- }
-
- thread_setPriority_mth =
- (*env)->GetMethodID (env, thread_class, "setPriority", "(I)V");
- if ( ! thread_setPriority_mth )
- {
- BROKEN (env, "cannot find Thread.setPriority() method");
- return initialized = -1;
- }
-
- thread_yield_mth =
- (*env)->GetStaticMethodID (env, thread_class, "yield", "()V");
- if ( ! thread_yield_mth )
- {
- BROKEN (env, "cannot find Thread.yield() method");
- return initialized = -1;
- }
-
- /* java.lang.ThreadLocal */
- lcl_class = (*env)->FindClass (env, "java/lang/ThreadLocal");
- if ( ! lcl_class )
- {
- BROKEN (env, "cannot find class java.lang.ThreadLocal");
- return initialized = -1;
- }
-
- /* Pin it down. */
- threadlocal_class = (jclass) (*env)->NewGlobalRef (env, lcl_class);
- DELETE_LOCAL_REF (env, lcl_class);
- if ( ! threadlocal_class )
- {
- BROKEN (env, "Cannot get a global reference to java.lang.ThreadLocal");
- return initialized = -1;
- }
-
- threadlocal_ctor = (*env)->GetMethodID (env, threadlocal_class,
- "<init>", "()V");
- if ( ! threadlocal_ctor )
- {
- BROKEN (env, "cannot find ThreadLocal.<init>()V");
- return initialized = -1;
- }
-
- threadlocal_get_mth = (*env)->GetMethodID (env, threadlocal_class,
- "get", "()Ljava/lang/Object;");
- if ( ! threadlocal_get_mth )
- {
- BROKEN (env, "cannot find java.lang.ThreadLocal.get()Object");
- return initialized = -1;
- }
-
- threadlocal_set_mth = (*env)->GetMethodID (env, threadlocal_class,
- "set", "(Ljava/lang/Object;)V");
- if ( ! threadlocal_set_mth )
- {
- BROKEN (env, "cannot find ThreadLocal.set(Object)V");
- return initialized = -1;
- }
-
- /* java.lang.Long */
- lcl_class = (*env)->FindClass (env, "java/lang/Long");
- if ( ! lcl_class )
- {
- BROKEN (env, "cannot find class java.lang.Long");
- return initialized = -1;
- }
-
- /* Pin it down. */
- long_class = (jclass) (*env)->NewGlobalRef (env, lcl_class);
- DELETE_LOCAL_REF (env, lcl_class);
- if (!long_class)
- {
- BROKEN (env, "Cannot get a global reference to java.lang.Long");
- return initialized = -1;
- }
-
- long_ctor = (*env)->GetMethodID (env, long_class, "<init>", "(J)V");
- if (!long_ctor)
- {
- BROKEN (env, "cannot find method java.lang.Long.<init>(J)V");
- return initialized = -1;
- }
-
- long_longValue_mth =
- (*env)->GetMethodID (env, long_class, "longValue", "()J");
- if (!long_longValue_mth)
- {
- BROKEN (env, "cannot find method java.lang.Long.longValue()J");
- return initialized = -1;
- }
-
-
- /* GThreadNativeMethodRunner */
- lcl_class =
- (*env)->FindClass (env,
- "gnu/java/awt/peer/gtk/GThreadNativeMethodRunner");
- if ( ! lcl_class )
- {
- BROKEN (env,
- "cannot find gnu.java.awt.peer.gtk.GThreadNativeMethodRunner");
- return initialized = -1;
- }
-
- /* Pin it down. */
- runner_class = (jclass) (*env)->NewGlobalRef (env, lcl_class);
- DELETE_LOCAL_REF (env, lcl_class);
- if (!runner_class)
- {
- BROKEN (env,
- "Cannot get a global reference to the class GThreadNativeMethodRunner");
- return initialized = -1;
- }
-
- runner_ctor = (*env)->GetMethodID (env, runner_class, "<init>", "(JJZ)V");
- if ( ! runner_ctor )
- {
- BROKEN (env,
- "cannot find method GThreadNativeMethodRunner.<init>(JJZ)");
- return initialized = -1;
- }
-
- runner_start_mth = (*env)->GetMethodID (env, runner_class, "start", "()V");
- if ( ! runner_start_mth )
- {
- BROKEN (env, "cannot find method GThreadNativeMethodRunner.start()V");
- return initialized = -1;
- }
-
-
- runner_threadToThreadID_mth =
- (*env)->GetStaticMethodID (env, runner_class,
- "threadToThreadID", "(Ljava/lang/Thread;)I");
- if ( ! runner_threadToThreadID_mth )
- {
- BROKEN (env,
- "cannot find method GThreadNativeMethodRunner.threadToThreadID(java.lang.Thread)I");
- return initialized = -1;
- }
-
-
- runner_threadIDToThread_mth =
- (*env)->GetStaticMethodID (env, runner_class,
- "threadIDToThread", "(I)Ljava/lang/Thread;");
- if ( ! runner_threadIDToThread_mth )
- {
- BROKEN (env,
- "cannot find method GThreadNativeMethodRunner.threadIDToThread(I)java.lang.Thread");
- return initialized = -1;
- }
-
-
- runner_deRegisterJoinable_mth =
- (*env)->GetStaticMethodID (env, runner_class, "deRegisterJoinable",
- "(Ljava/lang/Thread;)V");
- if (!runner_deRegisterJoinable_mth)
- {
- BROKEN (env,
- "cannot find method GThreadNativeMethodRunner.deRegisterJoinable(java.lang.Thread)V");
- return initialized = -1;
- }
-
-
- /* java.lang.InterruptedException */
- lcl_class = (*env)->FindClass (env, "java/lang/InterruptedException");
- if ( ! lcl_class )
- {
- BROKEN (env, "cannot find class java.lang.InterruptedException");
- return initialized = -1;
- }
-
- /* Pin it down. */
- interrupted_exception_class = (jclass) (*env)->NewGlobalRef (env, lcl_class);
- DELETE_LOCAL_REF (env, lcl_class);
- if (!interrupted_exception_class)
- {
- BROKEN (env, "Cannot make a global reference"
- " to java.lang.InterruptedException");
- return initialized = -1;
- }
-
-#ifdef JNI_VERSION_1_2
- if (HAVE_JNI_VERSION_1_2)
- assert ( ! (*env)->ExceptionCheck (env));
- else
-#endif
- assert ( ! (*env)->ExceptionOccurred (env));
-
-
- return initialized = 1;
-}
-
-
-
-
-
-/************************************************************************/
-/* Utilities to allocate and free java.lang.Objects */
-/************************************************************************/
-
-/* The condition variables are java.lang.Object objects,
- * which this method allocates and returns a global ref. Note that global
- * refs must be explicitly freed (isn't C fun?).
- */
-static jobject
-allocatePlainObject (JNIEnv * env)
-{
- jobject lcl_obj, global_obj;
-
- lcl_obj = (*env)->NewObject (env, obj_class, obj_ctor);
- if (!lcl_obj)
- {
- BROKEN (env, "cannot allocate object");
- return NULL;
- }
-
- global_obj = (*env)->NewGlobalRef (env, lcl_obj);
- DELETE_LOCAL_REF (env, lcl_obj);
- if (!global_obj)
- {
- NEW_BROKEN (env, "cannot make global ref for a new plain Java object");
- /* Deliberate fall-through */
- }
-
- return global_obj;
-}
-
-/* Frees any Java object given a global ref (isn't C fun?) */
-static void
-freeObject (JNIEnv * env, jobject obj)
-{
- if (obj)
- {
- (*env)->DeleteGlobalRef (env, obj);
- /* DeleteGlobalRef can never fail */
- }
-}
-
-
-/************************************************************************/
-/* Utilities to allocate and free Java mutexes */
-/************************************************************************/
-
-/* The mutexes are gnu.java.awt.peer.gtk.GThreadMutex objects,
- * which this method allocates and returns a global ref. Note that global
- * refs must be explicitly freed (isn't C fun?).
- *
- * Free this with freeObject()
- */
-static jobject
-allocateMutexObject (JNIEnv * env)
-{
- jobject lcl_obj, global_obj;
-
- lcl_obj = (*env)->NewObject (env, mutex_class, mutex_ctor);
- if (!lcl_obj)
- {
- BROKEN (env, "cannot allocate a GThreadMutex");
- return NULL;
- }
-
- global_obj = (*env)->NewGlobalRef (env, lcl_obj);
- DELETE_LOCAL_REF (env, lcl_obj);
- if (!global_obj)
- {
- NEW_BROKEN (env, "cannot make global ref");
- /* Deliberate fallthrough */
- }
-
- return global_obj;
-}
-
-
-/************************************************************************/
-/* Locking code */
-/************************************************************************/
-
-/* Lock a Java object */
-#define ENTER_MONITOR(env, m) \
- enterMonitor(env, m, G_STRINGIFY(m))
-
-/* Return -1 on failure, 0 on success. */
-static int
-enterMonitor (JNIEnv * env, jobject monitorObj, const char monName[])
-{
- if (TRACE_MONITORS)
- tracing (" <MonitorEnter(%s)>", monName);
- assert (monitorObj);
- if ((*env)->MonitorEnter (env, monitorObj) < 0)
- {
- BROKEN (env, "cannot enter monitor");
- return -1;
- }
- return 0;
-}
-
-
-/* Unlock a Java object */
-#define EXIT_MONITOR(env, m) \
- exitMonitor(env, m, G_STRINGIFY(m))
-
-static int
-exitMonitor (JNIEnv * env, jobject mutexObj, const char monName[])
-{
- if (TRACE_MONITORS)
- tracing (" <MonitorExit(%s)>", monName);
- assert (mutexObj);
- if ((*env)->MonitorExit (env, mutexObj) < 0)
- {
- BROKEN (env, "cannot exit monitor ");
- return -1;
- }
- return 0;
-}
-
-
-/************************************************************************/
-/* Miscellaneous utilities */
-/************************************************************************/
-
-/* Get the Java Thread object that corresponds to a particular thread ID.
- A negative thread Id gives us a null object.
-
- Returns a local reference.
-*/
-static jobject
-getThreadFromThreadID (JNIEnv * env, gpointer gThreadID)
-{
- jint threadNum = GPOINTER_TO_INT(gThreadID);
- jobject thread;
-
- if (threadNum < 0)
- {
- NEW_BROKEN (env, "getThreadFromThreadID asked to look up"
- " a negative thread index");
- return NULL;
- }
-
- thread = (*env)->CallStaticObjectMethod
- (env, runner_class, runner_threadIDToThread_mth, threadNum);
-
- if (MAYBE_BROKEN (env, "cannot get Thread for threadID "))
- return NULL;
-
- return thread;
-}
-
-/** Return the unique threadID of THREAD.
-
- Error handling: Return (gpointer) -1 on all failures,
- and propagate an exception.
-*/
-static gpointer
-getThreadIDFromThread (JNIEnv * env, jobject thread)
-{
- jint threadNum;
-
- if (ENABLE_EXPENSIVE_ASSERTIONS)
- assert ((*env)->IsInstanceOf (env, thread, thread_class));
-
- HIDE_OLD_TROUBLE (env);
-
- threadNum = (*env)->CallStaticIntMethod
- (env, runner_class, runner_threadToThreadID_mth, thread);
-
- if (MAYBE_BROKEN (env, "cannot get ThreadID for a Thread "))
- {
- threadNum = -1;
- goto done;
- }
-
-
- SHOW_OLD_TROUBLE ();
-
-done:
- return GINT_TO_POINTER(threadNum);
-}
-
-
-/************************************************************************/
-/* The Actual JNI functions that we pass to the function vector. */
-/************************************************************************/
-
-
-/************************************************************************/
-/* Mutex Functions */
-/************************************************************************/
-
-/*** Mutex Utilities ****/
-struct mutexObj_cache
-{
- jobject lockForPotentialLockersObj; /* Lock for the potentialLockers
- field. Local reference. */
- jobject lockObj; /* The real lock we use. This is a GLOBAL
- reference and must not be freed. */
-};
-
-/* Initialize the cache of sub-locks for a particular mutex object.
-
- -1 on error, 0 on success. The caller is not responsible for freeing the
- partially-populated cache in case of failure (but in practice does anyway)
- (This actually never fails, though, since GetObjectField allegedly never
- fails.)
-
- Guaranteed to leave all fields of the cache initialized, even if only to
- zero.
-*/
-static int
-populate_mutexObj_cache (JNIEnv * env, jobject mutexObj,
- struct mutexObj_cache *mcache)
-{
- mcache->lockObj = mutexObj; /* the mutexObj is its own lock. */
- assert (mcache->lockObj);
-
- mcache->lockForPotentialLockersObj = (*env)->GetObjectField
- (env, mutexObj, mutex_lockForPotentialLockers_fld);
- /* GetObjectField can never fail. */
-
- /* Retrieving a NULL object could only happen if we somehow got a
- a mutex object that was not properly intialized. */
- assert (mcache->lockForPotentialLockersObj);
-
- return 0;
-}
-
-
-/* Clean out the mutexObj_cache, even if it was never populated. */
-static void
-clean_mutexObj_cache (JNIEnv * env, struct mutexObj_cache *mcache)
-{
- /* OK to pass NULL refs to DELETE_LOCAL_REF */
- DELETE_LOCAL_REF (env, mcache->lockForPotentialLockersObj);
- /* mcache->lockObj is a GLOBAL reference. */
- mcache->lockObj = NULL;
-}
-
-/* -1 on failure, 0 on success.
- The mutexObj_cache is already populated for this particular object. */
-static int
-mutexObj_lock (JNIEnv * env, jobject mutexObj, struct mutexObj_cache *mcache)
-{
- jint potentialLockers;
-
- if (ENTER_MONITOR (env, mcache->lockForPotentialLockersObj))
- return -1;
-
- assert(mutexObj);
- potentialLockers =
- (*env)->GetIntField (env, mutexObj, mutex_potentialLockers_fld);
- /* GetIntField() never fails. */
-
- ++potentialLockers;
-
- (*env)->SetIntField
- (env, mutexObj, mutex_potentialLockers_fld, potentialLockers);
-
- if (EXIT_MONITOR (env, mcache->lockForPotentialLockersObj))
- return -1;
-
- if (ENTER_MONITOR (env, mcache->lockObj))
- return -1;
-
- SHOW_OLD_TROUBLE ();
-
- return 0;
-}
-
-/* Unlock a GMutex, once we're already in JNI and have already gotten the
- mutexObj for it. This skips the messages that TRACE_API_CALLS would
- print.
-
- Returns -1 on error, 0 on success. */
-static int
-mutexObj_unlock (JNIEnv * env, jobject mutexObj,
- struct mutexObj_cache *mcache)
-{
- jint potentialLockers;
- int ret = -1; /* assume failure until we suceed. */
-
- /* Free the lock first, so that someone waiting for the lock can get it
- ASAP. */
- /* This is guaranteed not to block. */
- if (EXIT_MONITOR (env, mcache->lockObj) < 0)
- goto done;
-
- /* Kick down potentialLockers by one. We do this AFTER we free the lock, so
- that we hold it no longer than necessary. */
- if (ENTER_MONITOR (env, mcache->lockForPotentialLockersObj) < 0)
- goto done;
-
- potentialLockers = (*env)->GetIntField
- (env, mutexObj, mutex_potentialLockers_fld);
- /* GetIntField never fails */
-
- assert (potentialLockers >= 1);
- --potentialLockers;
-
- (*env)->SetIntField
- (env, mutexObj, mutex_potentialLockers_fld, potentialLockers);
- /* Never fails, so the JNI book says. */
-
- /* Clean up. */
- if (EXIT_MONITOR (env, mcache->lockForPotentialLockersObj) < 0)
- goto done;
- ret = 0;
-
-done:
- return ret;
-}
-
-/*** Mutex Implementations ****/
-
-/* Create a mutex, which is a java.lang.Object for us.
- In case of failure, we'll return NULL. Which will implicitly
- cause future calls to fail. */
-static GMutex *
-mutex_new_jni_impl (void)
-{
- jobject mutexObj;
- JNIEnv *env;
- union env_union e;
-
- if (TRACE_API_CALLS)
- tracing ("mutex_new_jni_impl()");
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
-
- if (setup_cache (env) < 0)
- {
- mutexObj = NULL;
- goto done;
- }
-
- mutexObj = allocateMutexObject (env);
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> %p \n", mutexObj);
-
- return (GMutex *) mutexObj;
-
-}
-
-/* Lock a mutex. */
-static void
-mutex_lock_jni_impl (GMutex * mutex)
-{
- struct mutexObj_cache mcache;
- jobject mutexObj = (jobject) mutex;
- JNIEnv *env;
- union env_union e;
-
- if (TRACE_API_CALLS)
- tracing ("mutex_lock_jni_impl( mutexObj = %p )", mutexObj);
-
- assert (mutexObj);
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
-
- if (setup_cache (env) < 0)
- goto done;
-
- HIDE_OLD_TROUBLE (env);
-
- if (populate_mutexObj_cache (env, mutexObj, &mcache) < 0)
- goto done;
-
- mutexObj_lock (env, mutexObj, &mcache);
- /* No need to error check; we've already reported it in any case. */
-
-done:
- clean_mutexObj_cache (env, &mcache);
- if (TRACE_API_CALLS)
- tracing (" ==> VOID \n");
-}
-
-
-/* Try to lock a mutex. Return TRUE if we succeed, FALSE if we fail.
- FALSE on error. */
-static gboolean
-mutex_trylock_jni_impl (GMutex * gmutex)
-{
- jobject mutexObj = (jobject) gmutex;
- jint potentialLockers;
- gboolean ret = FALSE;
- JNIEnv *env;
- union env_union e;
- struct mutexObj_cache mcache;
-
- if (TRACE_API_CALLS)
- tracing ("mutex_trylock_jni_impl(mutexObj=%p)", mutexObj);
-
- assert (mutexObj);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- if (populate_mutexObj_cache (env, mutexObj, &mcache) < 0)
- goto done;
-
- if (ENTER_MONITOR (env, mcache.lockForPotentialLockersObj))
- goto done;
-
- potentialLockers = (*env)->GetIntField
- (env, mutexObj, mutex_potentialLockers_fld);
-
- assert (potentialLockers >= 0);
-
- if (potentialLockers)
- {
- /* Already locked. Clean up and leave. */
- EXIT_MONITOR (env, mcache.lockForPotentialLockersObj);
- /* Ignore any error code from EXIT_MONITOR; there's nothing we could do
- at this level, in any case. */
- goto done;
- }
-
- /* Guaranteed not to block. */
- if (ENTER_MONITOR (env, mcache.lockObj))
- {
- /* Clean up the existing lock. */
- EXIT_MONITOR (env, mcache.lockForPotentialLockersObj);
- /* Ignore any error code from EXIT_MONITOR; there's nothing we could do
- at this level, in any case. */
- goto done;
- }
-
-
- /* We have the monitor. Record that fact. */
- potentialLockers = 1;
- (*env)->SetIntField
- (env, mutexObj, mutex_potentialLockers_fld, potentialLockers);
- /* Set*Field() never fails */
-
- ret = TRUE; /* We have the lock. */
-
- /* Clean up. */
- if (EXIT_MONITOR (env, mcache.lockForPotentialLockersObj))
- goto done; /* If we fail at this point, still keep the
- main lock. */
-
- SHOW_OLD_TROUBLE ();
-done:
- clean_mutexObj_cache (env, &mcache);
- if (TRACE_API_CALLS)
- tracing (" ==> %s\n", ret ? "TRUE" : "FALSE");
- return ret;
-}
-
-
-/* Unlock a mutex. */
-static void
-mutex_unlock_jni_impl (GMutex * gmutex)
-{
- jobject mutexObj = (jobject) gmutex;
- struct mutexObj_cache mcache;
- JNIEnv *env;
- union env_union e;
-
- if (TRACE_API_CALLS)
- tracing ("mutex_unlock_jni_impl(mutexObj=%p)", mutexObj);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- assert (mutexObj);
-
- if ( populate_mutexObj_cache (env, mutexObj, &mcache) < 0)
- goto done;
-
- (void) mutexObj_unlock (env, mutexObj, &mcache);
-
- SHOW_OLD_TROUBLE ();
-
-done:
- clean_mutexObj_cache (env, &mcache);
- if (TRACE_API_CALLS)
- tracing (" ==> VOID\n");
-}
-
-
-
-/* Free a mutex (isn't C fun?). OK this time for it to be NULL.
- No failure conditions, for a change. */
-static void
-mutex_free_jni_impl (GMutex * mutex)
-{
- jobject mutexObj = (jobject) mutex;
- JNIEnv *env;
- union env_union e;
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
-
- if (TRACE_API_CALLS)
- tracing ("mutex_free_jni_impl(%p)", mutexObj);
-
- freeObject (env, mutexObj);
-
- if (TRACE_API_CALLS)
- tracing (" ==> VOID\n");
-}
-
-
-
-
-/************************************************************************/
-/* Condition variable code */
-/************************************************************************/
-
-/* Create a new condition variable. This is a java.lang.Object for us. */
-static GCond *
-cond_new_jni_impl (void)
-{
- jobject condObj;
- JNIEnv *env;
- union env_union e;
-
- if (TRACE_API_CALLS)
- tracing ("mutex_free_jni_impl()");
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
-
- condObj = allocatePlainObject (env);
-
- if (TRACE_API_CALLS)
- tracing (" ==> %p\n", condObj);
-
- return (GCond *) condObj;
-}
-
-/* Signal on a condition variable. This is simply calling Object.notify
- * for us.
- */
-static void
-cond_signal_jni_impl (GCond * gcond)
-{
- JNIEnv *env;
- union env_union e;
- jobject condObj = (jobject) gcond;
-
- if (TRACE_API_CALLS)
- tracing ("cond_signal_jni_impl(condObj = %p)", condObj);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- assert (condObj);
-
- /* Must have locked an object to call notify */
- if (ENTER_MONITOR (env, condObj))
- goto done;
-
- (*env)->CallVoidMethod (env, condObj, obj_notify_mth);
- if (MAYBE_BROKEN (env, "cannot signal mutex with Object.notify()"))
- {
- if (EXIT_MONITOR (env, condObj))
- BADLY_BROKEN1 ("Failed to unlock a monitor; the VM may deadlock.");
- goto done;
- }
-
- EXIT_MONITOR (env, condObj);
-
- SHOW_OLD_TROUBLE ();
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> VOID\n");
-}
-
-/* Broadcast to all waiting on a condition variable. This is simply
- * calling Object.notifyAll for us.
- */
-static void
-cond_broadcast_jni_impl (GCond * gcond)
-{
- jobject condObj = (jobject) gcond;
- JNIEnv *env;
- union env_union e;
-
- if (TRACE_API_CALLS)
- tracing ("cond_broadcast_jni_impl(condObj=%p)", condObj);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- assert (condObj);
- /* Must have locked an object to call notifyAll */
- if (ENTER_MONITOR (env, condObj))
- goto done;
-
- (*env)->CallVoidMethod (env, condObj, obj_notifyall_mth);
- if (MAYBE_BROKEN (env, "cannot broadcast to mutex with Object.notify()"))
- {
- EXIT_MONITOR (env, condObj);
- goto done;
- }
-
- EXIT_MONITOR (env, condObj);
-
- SHOW_OLD_TROUBLE ();
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> VOID\n");
-}
-
-
-/* Wait on a condition variable. For us, this simply means calling
- * Object.wait.
- *
- * Throws a Java exception on trouble; may leave the mutexes set arbitrarily.
- * XXX TODO: Further improve error recovery.
- */
-static void
-cond_wait_jni_impl (GCond * gcond, GMutex * gmutex)
-{
- struct mutexObj_cache cache;
- jobject condObj = (jobject) gcond;
- jobject mutexObj = (jobject) gmutex;
- JNIEnv *env;
- union env_union e;
-
- if (TRACE_API_CALLS)
- tracing ("cond_wait_jni_impl(condObj=%p, mutexObj=%p)",
- condObj, mutexObj);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- assert (condObj);
- assert (mutexObj);
- /* Must have locked a Java object to call wait on it */
- if (ENTER_MONITOR (env, condObj) < 0)
- goto done;
-
- /* Our atomicity is now guaranteed; we're protected by the Java monitor on
- condObj. Unlock the GMutex. */
- if (mutexObj_unlock (env, mutexObj, &cache))
- goto done;
-
- (*env)->CallVoidMethod (env, condObj, obj_wait_mth);
- if (MAYBE_BROKEN (env, "cannot wait on condObj"))
- {
- EXIT_MONITOR (env, condObj); /* ignore err checking */
- goto done;
- }
-
- /* Re-acquire the lock on the GMutex. Do this while we're protected by the
- Java monitor on condObj. */
- if (mutexObj_lock (env, mutexObj, &cache))
- goto done;
-
- EXIT_MONITOR (env, condObj);
-
- SHOW_OLD_TROUBLE ();
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> VOID\n");
-}
-
-
-/** Wait on a condition variable until a timeout. This is a little tricky
- * for us. We first call Object.wait(J) giving it the appropriate timeout
- * value. On return, we check whether an InterruptedException happened. If
- * so, that is Java-speak for wait timing out.
- *
- * We return FALSE if we timed out. Return TRUE if the condition was
- * signalled first, before we timed out.
- *
- * In case of trouble we throw a Java exception. Whether we return FALSE or
- * TRUE depends upon whether the condition was raised before the trouble
- * happened.
- *
- * I believe that this function goes to the proper lengths to try to unlock
- * all of the locked mutexes and monitors, as appropriate, and that it further
- * tries to make sure that the thrown exception is the current one, not any
- * future cascaded one from something like a failure to unlock the monitors.
- */
-static gboolean
-cond_timed_wait_jni_impl (GCond * gcond, GMutex * gmutex, GTimeVal * end_time)
-{
- JNIEnv *env;
- union env_union e;
- jlong time_millisec;
- jint time_nanosec;
- jthrowable cause;
- jobject condObj = (jobject) gcond;
- jobject mutexObj = (jobject) gmutex;
- gboolean condRaised = FALSE; /* Condition has not been raised yet. */
- struct mutexObj_cache cache;
- gboolean interrupted;
-
- if (TRACE_API_CALLS)
- {
- tracing ("cond_timed_wait_jni_impl(cond=%p, mutex=%p,"
- " end_time=< sec=%lu, usec=%lu >)", condObj, mutexObj,
- (unsigned long) end_time->tv_sec,
- (unsigned long) end_time->tv_usec);
- }
-
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- time_millisec = end_time->tv_sec * 1000 + end_time->tv_usec / 1000;
- time_nanosec = 1000 * (end_time->tv_usec % 1000);
-
- /* Must have locked an object to call wait */
- if (ENTER_MONITOR (env, condObj) < 0)
- goto done;
-
- if (mutexObj_unlock (env, mutexObj, &cache) < 0)
- {
- if (EXIT_MONITOR (env, condObj) < 0)
- criticalMsg
- ("Unable to unlock an existing lock on a condition; your proram may deadlock");
- goto done;
- }
-
-
- (*env)->CallVoidMethod (env, condObj, obj_wait_nanotime_mth,
- time_millisec, time_nanosec);
-
- /* If there was trouble, save that fact, and the reason for the trouble. We
- want to respond to this condition as fast as possible. */
- cause = (*env)->ExceptionOccurred (env);
-
- if ( ! cause )
- {
- condRaised = TRUE; /* condition was signalled */
- }
- else if ((*env)->IsInstanceOf (env, cause, interrupted_exception_class))
- {
- condRaised = FALSE; /* Condition was not raised before timeout.
- (This is redundant with the initialization
- of condRaised above) */
- (*env)->ExceptionClear (env); /* Clear the InterruptedException. */
- cause = NULL; /* no pending cause now. */
- }
- else
- {
- interrupted = FALSE; /* Trouble, but not because of
- InterruptedException. Assume the condition
- was not raised. */
- /* Leave condRaised set to FALSE */
- }
-
- /* Irrespective of whether there is a pending problem to report, go ahead
- and try to clean up. This may end up throwing an exception that is
- different from the one that was thrown by the call to Object.wait().
- So we will override it with the first exception (don't want to have
- cascading problems). */
- if (mutexObj_lock (env, mutexObj, &cache) && !cause)
- {
- cause = (*env)->ExceptionOccurred (env);
- assert (cause);
- }
-
- if (EXIT_MONITOR (env, condObj) && !cause)
- {
- cause = (*env)->ExceptionOccurred (env);
- assert (cause);
- }
-
- if (cause) /* Raise the first cause. */
- {
- BROKEN_CAUSE (env, cause, "error in timed wait or during its cleanup");
- goto done;
- }
-
- SHOW_OLD_TROUBLE ();
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> condRaised = %s\n", condRaised ? "TRUE" : "FALSE");
- return condRaised;
-}
-
-
-/* Free a condition variable. (isn't C fun?). Can not fail. */
-static void
-cond_free_jni_impl (GCond * cond)
-{
- jobject condObj = (jobject) cond;
- JNIEnv *env;
- union env_union e;
-
- if (TRACE_API_CALLS)
- tracing ("cond_free_jni_impl(condObj = %p)", condObj);
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
-
- freeObject (env, condObj);
-
- if (TRACE_API_CALLS)
- tracing (" ==> VOID\n");
-}
-
-
-/************************************************************************/
-/* Thread-local data code */
-/************************************************************************/
-
-/* Create a new thread-local key. We use java.lang.ThreadLocal objects
- * for this. This returns the pointer representation of a Java global
- * reference.
- *
- * We will throw a Java exception and return NULL in case of failure.
- */
-static GPrivate *
-private_new_jni_impl (GDestroyNotify notify __attribute__ ((unused)))
-{
- JNIEnv *env;
- union env_union e;
- jobject lcl_key;
- jobject global_key;
- GPrivate *gkey = NULL; /* Error return code */
-
- if (TRACE_API_CALLS)
- tracing ("private_new_jni_impl()");
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- lcl_key = (*env)->NewObject (env, threadlocal_class, threadlocal_ctor);
- if ( ! lcl_key )
- {
- BROKEN (env, "cannot allocate a ThreadLocal");
- goto done;
- }
-
- global_key = ((*env)->NewGlobalRef (env, lcl_key));
- DELETE_LOCAL_REF (env, lcl_key);
- if ( ! global_key)
- {
- NEW_BROKEN (env, "cannot create a GlobalRef to a new ThreadLocal");
- goto done;
- }
-
- gkey = (GPrivate *) global_key;
- SHOW_OLD_TROUBLE ();
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> %p\n", (void *) gkey);
-
- return gkey;
-}
-
-/* Get this thread's value for a thread-local key. This is simply
- * ThreadLocal.get for us. Return NULL if no value. (I can't think of
- * anything else to do.)
- */
-static gpointer
-private_get_jni_impl (GPrivate * gkey)
-{
- JNIEnv *env;
- union env_union e;
- jobject val_wrapper;
- jobject keyObj = (jobject) gkey;
- gpointer thread_specific_data = NULL; /* Init to the error-return value */
-
- jlong val;
-
- if (TRACE_API_CALLS)
- tracing ("private_get_jni_impl(keyObj=%p)", keyObj);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- val_wrapper = (*env)->CallObjectMethod (env, keyObj, threadlocal_get_mth);
- if (MAYBE_BROKEN (env, "cannot find thread-local object"))
- goto done;
-
- if (! val_wrapper )
- {
- /* It's Java's "null" object. No ref found. This is OK; we must never
- have set a value in this thread. Note that this next statement is
- not necessary, strictly speaking, since we're already initialized to
- NULL. A good optimizing C compiler will detect that and optimize out
- this statement. */
- thread_specific_data = NULL;
- goto done;
- }
-
- val = (*env)->CallLongMethod (env, val_wrapper, long_longValue_mth);
-
- if (MAYBE_BROKEN (env, "cannot get thread local value"))
- goto done;
-
- thread_specific_data = (gpointer) (intptr_t) val;
-
- /* Only re-raise the old pending exception if a new one hasn't come along to
- supersede it. */
- SHOW_OLD_TROUBLE ();
-
-done:
-
- if (TRACE_API_CALLS)
- tracing (" ==> %p\n", thread_specific_data);
-
- return thread_specific_data;
-}
-
-/* Set this thread's value for a thread-local key. This is simply
- * ThreadLocal.set() for us.
- */
-static void
-private_set_jni_impl (GPrivate * gkey, gpointer thread_specific_data)
-{
- JNIEnv *env;
- union env_union e;
- jobject val_wrapper;
- jobject keyObj = (jobject) gkey;
-
-
- if (TRACE_API_CALLS)
- tracing ("private_set_jni_impl(keyObj=%p, thread_specific_data=%p)",
- keyObj, thread_specific_data);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- /* We are just going to always use a Java long to represent a C pointer.
- Otherwise all of the code would end up being conditionalized for various
- pointer sizes, and that seems like too much of a hassle, in order to save
- a paltry few bytes, especially given the horrendous overhead of JNI in
- any case.
- */
-
- val_wrapper = (*env)->NewObject (env, long_class, long_ctor,
- (jlong) (intptr_t) thread_specific_data);
- if ( ! val_wrapper )
- {
- BROKEN (env, "cannot create a java.lang.Long");
- goto done;
- }
-
- /* At this point, we now have set lcl_obj as a numeric class that wraps
- around the thread-specific data we were given. */
- (*env)->CallVoidMethod (env, keyObj, threadlocal_set_mth, val_wrapper);
- if (MAYBE_BROKEN (env, "cannot set thread local value"))
- goto done;
-
- SHOW_OLD_TROUBLE ();
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> VOID\n");
-}
-
-
-/** Create an object of type gnu.java.awt.peer.gtk.GThreadNativeMethodRunner.
- Run it.
-
- We need to create joinable threads. We handle the notion of a joinable
- thread by determining whether or not we are going to maintain a permanent
- hard reference to it until it croaks.
-
- Posix does not appear to have a Java-like concept of daemon threads, where
- the JVM will exit when there are only daemon threads running.
-
- Error handling:
-
- To quote from the glib guide:
- "GError should only be used to report recoverable runtime errors, never
- to report programming errors."
-
- So how do we consider the failure to create a thread? Well, each of the
- failure cases in this function are discussed, and none of them are really
- recoverable.
-
- The glib library is really designed so that you should fail
- catastrophically in case of "programming errors". The only error defined
- for the GThread functions is G_THREAD_ERROR_AGAIN, and that for
- thread_create.
-
- Most of these GThread functions could fail if we run out of memory, for
- example, but the only one capable of reporting that fact is
- thread_create. */
-static void
-thread_create_jni_impl (GThreadFunc func,
- gpointer data,
- gulong stack_size __attribute__((unused)),
- gboolean joinable,
- gboolean bound __attribute__((unused)),
- GThreadPriority gpriority,
- /* This prototype is horrible. threadIDp is actually
- a gpointer to the thread's thread-ID. Which is,
- of course, itself a gpointer-typed value. Ouch. */
- gpointer threadIDp,
- /* Do not touch the GError stuff unless you have
- RECOVERABLE trouble. There is no recoverable
- trouble in this implementation. */
- GError **errorp __attribute__((unused)))
-{
- JNIEnv *env;
- union env_union e;
- union func_union f;
- jboolean jjoinable = joinable;
- jobject newThreadObj;
- gpointer threadID; /* to be filled in */
-
- if (TRACE_API_CALLS)
- {
- f.g_func = func;
- tracing ("thread_create_jni_impl(func=%p, data=%p, joinable=%s,"
- " threadIDp=%p, *(int *) threadIDp = %d)",
- f.void_func, data, joinable ? "TRUE" : "FALSE",
- threadIDp, *(int *) threadIDp);
- }
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- {
- /* The failed call to setup the cache is certainly not recoverable;
- not appropriate for G_THREAD_ERROR_AGAIN. */
- *(gpointer *) threadIDp = NULL;
- goto done;
- }
- HIDE_OLD_TROUBLE (env);
-
- /* If a thread is joinable, then notify its constructor. The constructor
- will enter a hard reference for it, and the hard ref. won't go away until
- the thread has been joined. */
- newThreadObj =
- (*env)->NewObject (env, runner_class, runner_ctor,
- (jlong) (intptr_t) func, (jlong) (intptr_t) data,
- jjoinable);
- if ( ! newThreadObj )
- {
- BROKEN (env, "creating a new thread failed in the constructor");
- *(gpointer *) threadIDp = NULL;
- /* The failed call to the constructor does not throw any errors such
- that G_THREAD_ERROR_AGAIN is appropriate. No other recoverable
- errors defined. Once again, we go back to the VM. */
- goto done;
- }
-
- if (threadObj_set_priority (env, newThreadObj, gpriority) < 0)
- {
- *(gpointer *) threadIDp = NULL;
- /* None of these possible exceptions from Thread.setPriority() are
- recoverable, so they are not appropriate for EAGAIN. So we should
- fail. */
- goto done;
- }
-
- (*env)->CallVoidMethod (env, runner_class, runner_start_mth);
-
- if (MAYBE_BROKEN (env, "starting a new thread failed"))
- {
- *(gpointer *) threadIDp = NULL;
- /* The only exception Thread.start() throws is
- IllegalStateException. And that would indicate a programming error.
-
- So there are no situations such that G_THREAD_ERROR_AGAIN would be
- OK.
-
- So, we don't use g_set_error() here to perform any error reporting.
- */
- goto done;
- }
-
- threadID = getThreadIDFromThread (env, newThreadObj);
-
- *(gpointer *) threadIDp = threadID;
- SHOW_OLD_TROUBLE ();
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> (threadID = %p) \n", threadID);
-}
-
-
-/* Wraps a call to g_thread_yield. */
-static void
-thread_yield_jni_impl (void)
-{
- JNIEnv *env;
- union env_union e;
-
- if (TRACE_API_CALLS)
- tracing ("thread_yield_jni_impl()");
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- (*env)->CallStaticVoidMethod (env, thread_class, thread_yield_mth);
- if (MAYBE_BROKEN (env, "Thread.yield() failed"))
- goto done;
-
- SHOW_OLD_TROUBLE ();
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> VOID\n");
-}
-
-
-static void
-thread_join_jni_impl (gpointer threadID)
-{
- JNIEnv *env;
- union env_union e;
- jobject threadObj = NULL;
-
- if ( TRACE_API_CALLS )
- tracing ("thread_join_jni_impl(threadID=%p) ", threadID);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
- HIDE_OLD_TROUBLE (env);
-
- threadObj = getThreadFromThreadID (env, threadID);
- if ( ! threadObj ) /* Already reported with BROKEN */
- goto done;
-
- (*env)->CallVoidMethod (env, threadObj, thread_join_mth);
- if (MAYBE_BROKEN (env, "Thread.join() failed"))
- goto done;
-
-
- (*env)->CallStaticVoidMethod
- (env, runner_class, runner_deRegisterJoinable_mth, threadObj);
- if (MAYBE_BROKEN (env, "Thread.deRegisterJoinableThread() failed"))
- goto done;
-
- SHOW_OLD_TROUBLE ();
-
-done:
- DELETE_LOCAL_REF (env, threadObj);
- if (TRACE_API_CALLS)
- tracing (" ==> VOID \n");
-}
-
-/* Terminate the current thread. Unlike pthread_exit(), here we do not need
- to bother with a return value or exit value for the thread which is about
- to croak. (The gthreads abstraction doesn't use it.) However, we *do*
- need to bail immediately. We handle this with Thread.stop(), which is
- a deprecated method.
-
- It's deprecated since we might leave objects protected by monitors in
- half-constructed states on the way out -- Thread.stop() throws a
- ThreadDeath exception, which is usually unchecked. There is no good
- solution that I can see. */
-static void
-thread_exit_jni_impl (void)
-{
- JNIEnv *env;
- union env_union e;
- jobject this_thread;
-
- if (TRACE_API_CALLS)
- tracing ("thread_exit_jni_impl() ");
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- goto done;
-
- HIDE_OLD_TROUBLE (env);
-
- this_thread = (*env)->
- CallStaticObjectMethod (env, thread_class, thread_current_mth);
-
- if ( ! this_thread )
- {
- BROKEN (env, "cannot get current thread");
- goto done;
- }
-
- (*env)->CallVoidMethod (env, this_thread, thread_stop_mth);
- if (MAYBE_BROKEN (env, "cannot call Thread.stop() on current thread"))
- goto done;
-
- SHOW_OLD_TROUBLE ();
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> VOID \n");
-}
-
-
-/* Translate a GThreadPriority to a Java priority level. */
-static jint
-javaPriorityLevel (GThreadPriority priority)
-{
- /* We have these fields in java.lang.Thread to play with:
-
- static int MIN_PRIORITY The minimum priority that a thread can have.
- static int NORM_PRIORITY The default priority that is assigned to a
- thread.
- static int MAX_PRIORITY The maximum priority that a thread can have.
-
- We get these from the header file generated by javah, even though they're
- documented as being 1, 5, and 10.
- */
- static const jint minJPri =
- gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MIN_PRIORITY;
- static const jint normJPri =
- gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_NORM_PRIORITY;
- static const jint maxJPri =
- gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_MAX_PRIORITY;
-
- switch (priority)
- {
- case G_THREAD_PRIORITY_LOW:
- return minJPri;
- break;
-
- default:
- assert_not_reached ();
- /* Deliberate fall-through if assertions are turned off; also shuts up
- GCC warnings if they're turned on. */
- case G_THREAD_PRIORITY_NORMAL:
- return normJPri;
- break;
-
- case G_THREAD_PRIORITY_HIGH:
- return (normJPri + maxJPri) / 2;
- break;
-
- case G_THREAD_PRIORITY_URGENT:
- return maxJPri;
- break;
- }
-}
-
-
-/** It would be safe not to implement this, according to the JNI docs, since
- not all platforms do thread priorities. However, we might as well
- provide the hint for those who want it.
-*/
-static void
-thread_set_priority_jni_impl (gpointer gThreadID, GThreadPriority gpriority)
-{
- jobject threadObj = NULL;
- JNIEnv *env;
- union env_union e;
-
- if (TRACE_API_CALLS)
- tracing ("thread_set_priority_jni_impl(gThreadID=%p, gpriority = %u) ",
- gThreadID, gpriority);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
-
- if (setup_cache (env) < 0)
- goto done;
-
- HIDE_OLD_TROUBLE (env);
-
-
- threadObj = getThreadFromThreadID (env, gThreadID);
- if ( ! threadObj) /* Reported with BROKEN already. */
- goto done;
-
- if (threadObj_set_priority (env, threadObj, gpriority))
- goto done;
-
- SHOW_OLD_TROUBLE ();
-
-done:
- DELETE_LOCAL_REF (env, threadObj);
-
- if (TRACE_API_CALLS)
- tracing (" ==> VOID\n");
-}
-
-
-/** It would be safe not to implement this, according to the JNI docs, since
- not all platforms do thread priorities. However, we might as well
- provide the hint for those who want it.
-
- -1 on failure, 0 on success. */
-static int
-threadObj_set_priority (JNIEnv * env, jobject threadObj,
- GThreadPriority gpriority)
-{
- jint javaPriority = javaPriorityLevel (gpriority);
- (*env)->CallVoidMethod (env, threadObj, thread_setPriority_mth,
- javaPriority);
- return MAYBE_BROKEN (env, "Thread.setPriority() failed");
-}
-
-
-/** Return the result of Thread.currentThread(), a static method. */
-static void
-thread_self_jni_impl (/* Another confusing glib prototype. This is
- actually a gpointer to the thread's thread-ID.
- Which is, of course, a gpointer. */
- gpointer my_thread_IDp)
-{
- JNIEnv *env;
- union env_union e;
- jobject this_thread;
- gpointer my_threadID;
-
- if (TRACE_API_CALLS)
- tracing ("thread_self_jni_impl(my_thread_IDp=%p)", my_thread_IDp);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
-
- if (setup_cache (env) < 0)
- return;
-
- HIDE_OLD_TROUBLE (env);
-
- this_thread = (*env)->
- CallStaticObjectMethod (env, thread_class, thread_current_mth);
- if (! this_thread )
- {
- BROKEN (env, "cannot get current thread");
- my_threadID = NULL;
- goto done;
- }
-
- my_threadID = getThreadIDFromThread (env, this_thread);
- SHOW_OLD_TROUBLE ();
-
-done:
- if (TRACE_API_CALLS)
- tracing (" ==> (my_threadID = %p) \n", my_threadID);
-
- *(gpointer *) my_thread_IDp = my_threadID;
-}
-
-
-static gboolean
-thread_equal_jni_impl (gpointer thread1, gpointer thread2)
-{
- JNIEnv *env;
- union env_union e;
-
- gpointer threadID1 = *(gpointer *) thread1;
- gpointer threadID2 = *(gpointer *) thread2;
-
- jobject thread1_obj = NULL;
- jobject thread2_obj = NULL;
- gboolean ret;
-
- if (TRACE_API_CALLS)
- tracing ("thread_equal_jni_impl(threadID1=%p, threadID2=%p)",
- threadID1, threadID2);
-
- e.jni_env = &env;
- (*cp_gtk_the_vm)->GetEnv (cp_gtk_the_vm, e.void_env, JNI_VERSION_1_1);
- if (setup_cache (env) < 0)
- {
- ret = FALSE; /* what is safer? We really don't ever want
- to return from here. */
- goto done;
- }
-
- HIDE_OLD_TROUBLE (env);
- thread1_obj = getThreadFromThreadID (env, threadID1);
- thread2_obj = getThreadFromThreadID (env, threadID2);
-
- ret = (*env)->CallBooleanMethod (env, thread1_obj,
- thread_equals_mth, thread2_obj);
-
- if (MAYBE_BROKEN (env, "Thread.equals() failed"))
- {
- ret = FALSE;
- goto done;
- }
-
- SHOW_OLD_TROUBLE ();
-
-
-done:
- DELETE_LOCAL_REF (env, thread1_obj);
- DELETE_LOCAL_REF (env, thread2_obj);
-
- if (TRACE_API_CALLS)
- tracing (" ==> %s\n", ret ? "TRUE" : "FALSE");
-
- return ret;
-}
-
-
-
-
-/************************************************************************/
-/* GLIB interface */
-/************************************************************************/
-
-/* set of function pointers to give to glib. */
-GThreadFunctions cp_gtk_portable_native_sync_jni_functions = {
- mutex_new_jni_impl, /* mutex_new */
- mutex_lock_jni_impl, /* mutex_lock */
- mutex_trylock_jni_impl, /* mutex_trylock */
- mutex_unlock_jni_impl, /* mutex_unlock */
- mutex_free_jni_impl, /* mutex_free */
- cond_new_jni_impl, /* cond_new */
- cond_signal_jni_impl, /* cond_signal */
- cond_broadcast_jni_impl, /* cond_broadcast */
- cond_wait_jni_impl, /* cond_wait */
- cond_timed_wait_jni_impl, /* cond_timed_wait */
- cond_free_jni_impl, /* cond_free */
- private_new_jni_impl, /* private_new */
- private_get_jni_impl, /* private_get */
- private_set_jni_impl, /* private_set */
- thread_create_jni_impl, /* thread_create */
- thread_yield_jni_impl, /* thread_yield */
- thread_join_jni_impl, /* thread_join */
- thread_exit_jni_impl, /* thread_exit */
- thread_set_priority_jni_impl, /* thread_set_priority */
- thread_self_jni_impl, /* thread_self */
- thread_equal_jni_impl, /* thread_equal */
-};
-
-
-/* Keep c-font-lock-extra-types in alphabetical order. */
-/* Local Variables: */
-/* c-file-style: "gnu" */
-/* c-font-lock-extra-types: ("\\sw+_t" "gboolean" "GError" "gpointer"
- "GPrivate" "GThreadFunc" "GThreadFunctions" "GThreadPriority"
- "gulong"
- "JNIEnv"
- "jboolean" "jclass" "jfieldID" "jint" "jlong" "jmethodID" "jobject" "jstring" "jthrowable" ) */
-/* End: */
diff --git a/libjava/classpath/native/jni/java-io/Makefile.in b/libjava/classpath/native/jni/java-io/Makefile.in
index 91977d5..a3c3982 100644
--- a/libjava/classpath/native/jni/java-io/Makefile.in
+++ b/libjava/classpath/native/jni/java-io/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -72,15 +77,15 @@ am_libjavaio_la_OBJECTS = java_io_VMFile.lo \
java_io_VMObjectInputStream.lo java_io_VMObjectStreamClass.lo
libjavaio_la_OBJECTS = $(am_libjavaio_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libjavaio_la_SOURCES)
DIST_SOURCES = $(libjavaio_la_SOURCES)
@@ -91,12 +96,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -142,6 +150,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -154,15 +163,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -170,7 +180,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -180,6 +189,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -191,6 +201,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -200,6 +211,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -219,6 +231,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -240,6 +253,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -267,8 +281,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -301,6 +317,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/jni/java-io/java_io_VMFile.c b/libjava/classpath/native/jni/java-io/java_io_VMFile.c
index de1320b..2882075 100644
--- a/libjava/classpath/native/jni/java-io/java_io_VMFile.c
+++ b/libjava/classpath/native/jni/java-io/java_io_VMFile.c
@@ -55,6 +55,18 @@ exception statement from your version. */
#include "java_io_VMFile.h"
+/* ***** PRIVATE FUNCTIONS DELCARATION ***** */
+
+/**
+ * Enables of disables the passed permission bit of a file.
+ */
+static jboolean set_file_permissions (JNIEnv *env, jstring name,
+ jboolean enable,
+ jboolean ownerOnly,
+ int permissions);
+
+/* ***** END: PRIVATE FUNCTIONS DELCARATION ***** */
+
/*************************************************************************/
/*
@@ -189,6 +201,46 @@ Java_java_io_VMFile_canWrite (JNIEnv * env,
/*************************************************************************/
/*
+ * This method checks to see if we have execute permission on a file.
+ *
+ * Class: java_io_VMFile
+ * Method: canExecute
+ * Signature: (Ljava/lang/String;)Z
+ */
+
+JNIEXPORT jboolean JNICALL
+Java_java_io_VMFile_canExecute (JNIEnv * env,
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name)
+{
+#ifndef WITHOUT_FILESYSTEM
+ const char *filename;
+ int result;
+
+ /* Don't use the JCL convert function because it throws an exception
+ on failure */
+ filename = (*env)->GetStringUTFChars (env, name, 0);
+ if (filename == NULL)
+ {
+ return JNI_FALSE;
+ }
+
+ result = cpio_checkAccess (filename, CPFILE_FLAG_EXEC);
+
+ (*env)->ReleaseStringUTFChars (env, name, filename);
+ if (result != CPNATIVE_OK)
+ return JNI_FALSE;
+
+ return JNI_TRUE;
+#else /* not WITHOUT_FILESYSTEM */
+ return JNI_FALSE;
+#endif /* not WITHOUT_FILESYSTEM */
+}
+
+
+/*************************************************************************/
+
+/*
* This method makes a file read only.
*
* Class: java_io_VMFile
@@ -225,6 +277,66 @@ Java_java_io_VMFile_setReadOnly (JNIEnv * env,
/*************************************************************************/
/*
+ * This method changes the read permission bit of a file.
+ *
+ * Class: java_io_VMFile
+ * Method: setReadable
+ * Signature: (Ljava/lang/String;ZZ)Z
+ */
+JNIEXPORT jboolean JNICALL
+Java_java_io_VMFile_setReadable (JNIEnv *env,
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name,
+ jboolean readable,
+ jboolean ownerOnly)
+{
+ return set_file_permissions (env, name, readable, ownerOnly,
+ CPFILE_FLAG_READ);
+}
+
+
+/*************************************************************************/
+
+/*
+ * This method changes the write permission bit of a file.
+ *
+ * Class: java_io_VMFile
+ * Method: setWritable
+ * Signature: (Ljava/lang/String;ZZ)Z
+ */
+JNIEXPORT jboolean JNICALL
+Java_java_io_VMFile_setWritable (JNIEnv *env,
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name,
+ jboolean writable,
+ jboolean ownerOnly)
+{
+ return set_file_permissions (env, name, writable, ownerOnly,
+ CPFILE_FLAG_WRITE);
+}
+
+/*************************************************************************/
+
+/*
+ * This method changes the execute permission bit of a file.
+ *
+ * Class: java_io_VMFile
+ * Method: setExecutable
+ * Signature: (Ljava/lang/String;ZZ)Z
+ */
+JNIEXPORT jboolean JNICALL
+Java_java_io_VMFile_setExecutable (JNIEnv *env,
+ jclass clazz __attribute__ ((__unused__)),
+ jstring name,
+ jboolean executable,
+ jboolean ownerOnly)
+{
+ return set_file_permissions (env, name, executable, ownerOnly,
+ CPFILE_FLAG_EXEC);
+}
+/*************************************************************************/
+
+/*
* This method checks to see if a file exists.
*
* Class: java_io_VMFile
@@ -967,3 +1079,44 @@ Java_java_io_VMFile_toCanonicalForm (JNIEnv *env,
return NULL;
#endif /* not WITHOUT_FILESYSTEM */
}
+
+/*************************************************************************/
+
+/* ***** PRIVATE FUNCTIONS IMPLEMENTATION ***** */
+
+static jboolean set_file_permissions (JNIEnv *env, jstring name,
+ jboolean enable,
+ jboolean ownerOnly,
+ int permissions)
+{
+#ifndef WITHOUT_FILESYSTEM
+ const char *filename;
+ int result = JNI_FALSE;
+
+ /* Don't use the JCL convert function because it throws an exception
+ on failure */
+ filename = (*env)->GetStringUTFChars (env, name, 0);
+ if (filename == NULL)
+ {
+ return JNI_FALSE;
+ }
+
+ if (ownerOnly)
+ {
+ permissions |= CPFILE_FLAG_USR;
+ }
+
+ if (!enable)
+ {
+ permissions |= CPFILE_FLAG_OFF;
+ }
+
+ result = cpio_chmod (filename, permissions);
+ (*env)->ReleaseStringUTFChars (env, name, filename);
+
+ return result == CPNATIVE_OK ? JNI_TRUE : JNI_FALSE;
+
+#else /* not WITHOUT_FILESYSTEM */
+ return JNI_FALSE;
+#endif /* not WITHOUT_FILESYSTEM */
+}
diff --git a/libjava/classpath/native/jni/java-lang/Makefile.am b/libjava/classpath/native/jni/java-lang/Makefile.am
index 366d72e..aea9ded 100644
--- a/libjava/classpath/native/jni/java-lang/Makefile.am
+++ b/libjava/classpath/native/jni/java-lang/Makefile.am
@@ -1,4 +1,4 @@
-nativeexeclib_LTLIBRARIES = libjavalang.la libjavalangreflect.la
+nativeexeclib_LTLIBRARIES = libjavalang.la libjavalangreflect.la libjavalangmanagement.la
libjavalang_la_SOURCES = java_lang_VMSystem.c \
java_lang_VMFloat.c \
@@ -6,12 +6,14 @@ libjavalang_la_SOURCES = java_lang_VMSystem.c \
java_lang_VMMath.c \
java_lang_VMProcess.c
-libjavalang_la_LIBADD = $(wildcard $(top_builddir)/native/fdlibm/*.lo) \
+libjavalang_la_LIBADD = $(top_builddir)/native/fdlibm/libfdlibm.la \
$(top_builddir)/native/jni/classpath/jcl.lo \
$(top_builddir)/native/jni/native-lib/libclasspathnative.la
libjavalangreflect_la_SOURCES = java_lang_reflect_VMArray.c
+libjavalangmanagement_la_SOURCES = gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c
+
AM_LDFLAGS = @CLASSPATH_MODULE@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -I$(top_srcdir)/native/fdlibm
AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@
diff --git a/libjava/classpath/native/jni/java-lang/Makefile.in b/libjava/classpath/native/jni/java-lang/Makefile.in
index 7393d91..3c87804 100644
--- a/libjava/classpath/native/jni/java-lang/Makefile.in
+++ b/libjava/classpath/native/jni/java-lang/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -65,30 +70,38 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(nativeexeclibdir)"
nativeexeclibLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(nativeexeclib_LTLIBRARIES)
-libjavalang_la_DEPENDENCIES = $(wildcard \
- $(top_builddir)/native/fdlibm/*.lo) \
+libjavalang_la_DEPENDENCIES = \
+ $(top_builddir)/native/fdlibm/libfdlibm.la \
$(top_builddir)/native/jni/classpath/jcl.lo \
$(top_builddir)/native/jni/native-lib/libclasspathnative.la
am_libjavalang_la_OBJECTS = java_lang_VMSystem.lo java_lang_VMFloat.lo \
java_lang_VMDouble.lo java_lang_VMMath.lo \
java_lang_VMProcess.lo
libjavalang_la_OBJECTS = $(am_libjavalang_la_OBJECTS)
+libjavalangmanagement_la_LIBADD =
+am_libjavalangmanagement_la_OBJECTS = \
+ gnu_java_lang_management_VMOperatingSystemMXBeanImpl.lo
+libjavalangmanagement_la_OBJECTS = \
+ $(am_libjavalangmanagement_la_OBJECTS)
libjavalangreflect_la_LIBADD =
am_libjavalangreflect_la_OBJECTS = java_lang_reflect_VMArray.lo
libjavalangreflect_la_OBJECTS = $(am_libjavalangreflect_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libjavalang_la_SOURCES) $(libjavalangreflect_la_SOURCES)
+SOURCES = $(libjavalang_la_SOURCES) \
+ $(libjavalangmanagement_la_SOURCES) \
+ $(libjavalangreflect_la_SOURCES)
DIST_SOURCES = $(libjavalang_la_SOURCES) \
+ $(libjavalangmanagement_la_SOURCES) \
$(libjavalangreflect_la_SOURCES)
ETAGS = etags
CTAGS = ctags
@@ -97,12 +110,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -148,6 +164,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -160,15 +177,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -176,7 +194,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -186,6 +203,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -197,6 +215,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -206,6 +225,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -225,6 +245,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -246,6 +267,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -273,8 +295,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -307,6 +331,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
@@ -324,18 +349,19 @@ target_os = @target_os@
target_vendor = @target_vendor@
toolexeclibdir = @toolexeclibdir@
vm_classes = @vm_classes@
-nativeexeclib_LTLIBRARIES = libjavalang.la libjavalangreflect.la
+nativeexeclib_LTLIBRARIES = libjavalang.la libjavalangreflect.la libjavalangmanagement.la
libjavalang_la_SOURCES = java_lang_VMSystem.c \
java_lang_VMFloat.c \
java_lang_VMDouble.c \
java_lang_VMMath.c \
java_lang_VMProcess.c
-libjavalang_la_LIBADD = $(wildcard $(top_builddir)/native/fdlibm/*.lo) \
+libjavalang_la_LIBADD = $(top_builddir)/native/fdlibm/libfdlibm.la \
$(top_builddir)/native/jni/classpath/jcl.lo \
$(top_builddir)/native/jni/native-lib/libclasspathnative.la
libjavalangreflect_la_SOURCES = java_lang_reflect_VMArray.c
+libjavalangmanagement_la_SOURCES = gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c
AM_LDFLAGS = @CLASSPATH_MODULE@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@ -I$(top_srcdir)/native/fdlibm
AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@
@@ -401,6 +427,8 @@ clean-nativeexeclibLTLIBRARIES:
done
libjavalang.la: $(libjavalang_la_OBJECTS) $(libjavalang_la_DEPENDENCIES)
$(LINK) -rpath $(nativeexeclibdir) $(libjavalang_la_LDFLAGS) $(libjavalang_la_OBJECTS) $(libjavalang_la_LIBADD) $(LIBS)
+libjavalangmanagement.la: $(libjavalangmanagement_la_OBJECTS) $(libjavalangmanagement_la_DEPENDENCIES)
+ $(LINK) -rpath $(nativeexeclibdir) $(libjavalangmanagement_la_LDFLAGS) $(libjavalangmanagement_la_OBJECTS) $(libjavalangmanagement_la_LIBADD) $(LIBS)
libjavalangreflect.la: $(libjavalangreflect_la_OBJECTS) $(libjavalangreflect_la_DEPENDENCIES)
$(LINK) -rpath $(nativeexeclibdir) $(libjavalangreflect_la_LDFLAGS) $(libjavalangreflect_la_OBJECTS) $(libjavalangreflect_la_LIBADD) $(LIBS)
@@ -410,6 +438,7 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMDouble.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMFloat.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/java_lang_VMMath.Plo@am__quote@
diff --git a/libjava/classpath/native/jni/gtk-peer/gthread-jni.h b/libjava/classpath/native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c
index 3d052dc..68e89b3 100644
--- a/libjava/classpath/native/jni/gtk-peer/gthread-jni.h
+++ b/libjava/classpath/native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c
@@ -1,5 +1,6 @@
-/* gthread-jni.h
- Copyright (C) 1998, 2002 Free Software Foundation, Inc.
+/* VMOperatingSystemMXBeanImpl.c - gnu.java.lang.management native functions
+ Copyright (C) 2006
+ Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -7,7 +8,7 @@ GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
-
+
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -35,14 +36,25 @@ this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
-#ifndef __GTHREADJNI_H__
-#define __GTHREADJNI_H__
-
-#include <jni.h>
-#include <glib.h>
-#include "gtkpeer.h"
-
-extern GThreadFunctions cp_gtk_portable_native_sync_jni_functions;
-extern JavaVM *cp_gtk_the_vm;
-
-#endif /* __GTHREADJNI_H__ */
+#include <config.h>
+#include <stdlib.h>
+
+#include "gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h"
+
+/*
+ * Class: gnu_java_lang_management_VMOperatingSystemMXBeanImpl
+ * Method: getSystemLoadAverage
+ * Signature: ()D
+ */
+JNIEXPORT jdouble JNICALL
+Java_gnu_java_lang_management_VMOperatingSystemMXBeanImpl_getSystemLoadAverage (JNIEnv * env __attribute__ ((__unused__)), jclass cls __attribute__ ((__unused__)))
+{
+#ifdef HAVE_GETLOADAVG
+ double avg[1];
+ int nos = getloadavg(avg, 1);
+ if (nos == 1)
+ return avg[0];
+ else
+#endif
+ return -1;
+}
diff --git a/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c b/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c
index 2ee1f31..723f090 100644
--- a/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c
+++ b/libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c
@@ -1,5 +1,5 @@
/* VMDouble.c - java.lang.VMDouble native functions
- Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005, 2006
+ Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -125,6 +125,16 @@ Java_java_lang_VMDouble_doubleToLongBits
val.d = doubleValue;
+#if defined(__IEEE_BYTES_LITTLE_ENDIAN)
+ /* On little endian ARM processors when using FPA, word order of
+ doubles is still big endian. So take that into account here. When
+ using VFP, word order of doubles follows byte order. */
+
+#define SWAP_DOUBLE(a) (((a) << 32) | (((a) >> 32) & 0x00000000ffffffff))
+
+ val.j = SWAP_DOUBLE(val.j);
+#endif
+
e = val.j & 0x7ff0000000000000LL;
f = val.j & 0x000fffffffffffffLL;
@@ -148,6 +158,10 @@ Java_java_lang_VMDouble_doubleToRawLongBits
val.d = doubleValue;
+#if defined(__IEEE_BYTES_LITTLE_ENDIAN)
+ val.j = SWAP_DOUBLE(val.j);
+#endif
+
return val.j;
}
@@ -165,6 +179,10 @@ Java_java_lang_VMDouble_longBitsToDouble
val.j = longValue;
+#if defined(__IEEE_BYTES_LITTLE_ENDIAN)
+ val.j = SWAP_DOUBLE(val.j);
+#endif
+
return val.d;
}
@@ -236,7 +254,7 @@ parseDoubleFromChars(JNIEnv * env, const char * buf)
#ifdef DEBUG
fprintf (stderr, "java.lang.VMDouble.parseDouble val = %g\n", val);
- fprintf (stderr, "java.lang.VMDouble.parseDouble %i != %i ???\n",
+ fprintf (stderr, "java.lang.VMDouble.parseDouble %p != %p ???\n",
endptr, last_non_ws);
#endif
if (endptr != last_non_ws)
diff --git a/libjava/classpath/native/jni/java-net/Makefile.in b/libjava/classpath/native/jni/java-net/Makefile.in
index a87b1c5..b2f7efc 100644
--- a/libjava/classpath/native/jni/java-net/Makefile.in
+++ b/libjava/classpath/native/jni/java-net/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -82,15 +87,15 @@ am_libjavanet_la_OBJECTS = javanet.lo java_net_VMInetAddress.lo \
gnu_java_net_VMPlainSocketImpl.lo $(am__objects_1)
libjavanet_la_OBJECTS = $(am_libjavanet_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libjavanet_la_SOURCES)
DIST_SOURCES = $(am__libjavanet_la_SOURCES_DIST)
@@ -101,12 +106,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -152,6 +160,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -164,15 +173,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -180,7 +190,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -190,6 +199,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -201,6 +211,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -210,6 +221,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -229,6 +241,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -250,6 +263,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -277,8 +291,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -311,6 +327,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c b/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c
index b51bf68..73da5ee 100644
--- a/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c
+++ b/libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c
@@ -96,6 +96,7 @@ struct netif_entry
struct netif_entry *next;
};
+#if defined (HAVE_IFADDRS_H) && defined (HAVE_GETIFADDRS)
static void
free_netif_list (JNIEnv *env, struct netif_entry *list)
{
@@ -106,12 +107,14 @@ free_netif_list (JNIEnv *env, struct netif_entry *list)
list = e;
}
}
+#endif
/*
* Returns all local network interfaces as an array.
*/
JNIEXPORT jobjectArray JNICALL
-Java_java_net_VMNetworkInterface_getVMInterfaces (JNIEnv * env, jclass clazz)
+Java_java_net_VMNetworkInterface_getVMInterfaces (JNIEnv * env,
+ jclass clazz UNUSED)
{
#if defined (HAVE_IFADDRS_H) && defined (HAVE_GETIFADDRS)
struct ifaddrs *ifaddrs, *i;
@@ -245,7 +248,7 @@ Java_java_net_VMNetworkInterface_getVMInterfaces (JNIEnv * env, jclass clazz)
#else
JCL_ThrowException (env, "java/net/SocketException", "getifaddrs not supported");
return NULL;
-#endif /* HAVE_GETIFADDRS */
+#endif /* HAVE_IFADDRS_H && HAVE_GETIFADDRS */
}
/* end of file */
diff --git a/libjava/classpath/native/jni/java-net/local.c b/libjava/classpath/native/jni/java-net/local.c
index c8ca91c..b7ec6f2 100644
--- a/libjava/classpath/native/jni/java-net/local.c
+++ b/libjava/classpath/native/jni/java-net/local.c
@@ -45,13 +45,20 @@ exception statement from your version. */
#include <unistd.h>
#include <string.h>
#include <errno.h>
-#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <stdio.h>
+#if defined(HAVE_SYS_IOCTL_H)
+#define BSD_COMP /* Get FIONREAD on Solaris2 */
+#include <sys/ioctl.h>
+#endif
+#if defined(HAVE_SYS_FILIO_H) /* Get FIONREAD on Solaris 2.5 */
+#include <sys/filio.h>
+#endif
+
#include "local.h"
const char *
diff --git a/libjava/classpath/native/jni/java-nio/Makefile.in b/libjava/classpath/native/jni/java-nio/Makefile.in
index 1fd639f..bf6243e 100644
--- a/libjava/classpath/native/jni/java-nio/Makefile.in
+++ b/libjava/classpath/native/jni/java-nio/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -80,15 +85,15 @@ am_libjavanio_la_OBJECTS = gnu_java_nio_VMPipe.lo \
gnu_java_nio_KqueueSelectorImpl.lo
libjavanio_la_OBJECTS = $(am_libjavanio_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libjavanio_la_SOURCES)
DIST_SOURCES = $(libjavanio_la_SOURCES)
@@ -99,12 +104,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -150,6 +158,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -162,15 +171,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -178,7 +188,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -188,6 +197,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -199,6 +209,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -208,6 +219,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -227,6 +239,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -248,6 +261,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -275,8 +289,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -309,6 +325,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c
index 97eb386..c8df841 100644
--- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c
+++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c
@@ -1,5 +1,5 @@
/* gnu_java_nio_VMChannel.c -
- Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -43,7 +43,6 @@ exception statement from your version. */
#include <config-int.h>
#include <sys/types.h>
-#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/socket.h>
#include <sys/stat.h>
@@ -67,6 +66,14 @@ exception statement from your version. */
#include <fcntl.h>
#endif /* HAVE_FCNTL_H */
+#if defined(HAVE_SYS_IOCTL_H)
+#define BSD_COMP /* Get FIONREAD on Solaris2 */
+#include <sys/ioctl.h>
+#endif
+#if defined(HAVE_SYS_FILIO_H) /* Get FIONREAD on Solaris 2.5 */
+#include <sys/filio.h>
+#endif
+
#define CONNECT_EXCEPTION "java/net/ConnectException"
#define IO_EXCEPTION "java/io/IOException"
#define SOCKET_EXCEPTION "java/net/SocketException"
@@ -1501,6 +1508,10 @@ Java_gnu_java_nio_VMChannel_accept (JNIEnv *env,
case EWOULDBLOCK:
#endif
case EAGAIN:
+ if (!is_non_blocking_fd(fd))
+ {
+ JCL_ThrowException(env, SOCKET_TIMEOUT_EXCEPTION, "Accept timed out");
+ }
/* Socket in non-blocking mode and no pending connection. */
return -1;
default:
@@ -1605,8 +1616,6 @@ Java_gnu_java_nio_VMChannel_open (JNIEnv *env,
int nmode = 0;
int ret;
const char *npath;
- mode_t mask = umask (0);
- umask (mask);
if ((mode & CPNIO_READ) && (mode & CPNIO_WRITE))
nmode = O_RDWR;
@@ -1626,7 +1635,7 @@ Java_gnu_java_nio_VMChannel_open (JNIEnv *env,
/* NIODBG("path: %s; mode: %x", npath, nmode); */
- ret = open (npath, nmode, 0777 & ~mask);
+ ret = open (npath, nmode, 0666);
/* NIODBG("ret: %d\n", ret); */
diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c
index b82cd2d..248a948 100644
--- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c
+++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c
@@ -48,11 +48,13 @@ exception statement from your version. */
#include "gnu_java_nio_charset_iconv_IconvDecoder.h"
+#if defined(HAVE_ICONV)
static void createRawData (JNIEnv * env, jobject obj, void *ptr);
static void *getData (JNIEnv * env, jobject obj);
static jfieldID infid = NULL;
static jfieldID outfid = NULL;
+#endif
/* Union used for type punning. */
union char_union
@@ -63,9 +65,9 @@ union char_union
};
JNIEXPORT void JNICALL
-Java_gnu_java_nio_charset_iconv_IconvDecoder_openIconv (JNIEnv * env,
- jobject obj,
- jstring jname)
+Java_gnu_java_nio_charset_iconv_IconvDecoder_openIconv (JNIEnv * env UNUSED,
+ jobject obj UNUSED,
+ jstring jname UNUSED)
{
#if defined(HAVE_ICONV)
iconv_t iconv_object;
@@ -107,12 +109,14 @@ Java_gnu_java_nio_charset_iconv_IconvDecoder_openIconv (JNIEnv * env,
}
JNIEXPORT jint JNICALL
-Java_gnu_java_nio_charset_iconv_IconvDecoder_decode (JNIEnv * env,
- jobject obj,
- jbyteArray inArr,
- jcharArray outArr,
- jint posIn, jint remIn,
- jint posOut, jint remOut)
+Java_gnu_java_nio_charset_iconv_IconvDecoder_decode (JNIEnv * env UNUSED,
+ jobject obj UNUSED,
+ jbyteArray inArr UNUSED,
+ jcharArray outArr UNUSED,
+ jint posIn UNUSED,
+ jint remIn UNUSED,
+ jint posOut UNUSED,
+ jint remOut UNUSED)
{
#if defined(HAVE_ICONV)
iconv_t iconv_object = getData (env, obj);
@@ -158,8 +162,8 @@ Java_gnu_java_nio_charset_iconv_IconvDecoder_decode (JNIEnv * env,
}
JNIEXPORT void JNICALL
-Java_gnu_java_nio_charset_iconv_IconvDecoder_closeIconv (JNIEnv * env,
- jobject obj)
+Java_gnu_java_nio_charset_iconv_IconvDecoder_closeIconv (JNIEnv * env UNUSED,
+ jobject obj UNUSED)
{
#if defined(HAVE_ICONV)
iconv_t iconv_object;
@@ -169,6 +173,7 @@ Java_gnu_java_nio_charset_iconv_IconvDecoder_closeIconv (JNIEnv * env,
}
+#if defined(HAVE_ICONV)
static void
createRawData (JNIEnv * env, jobject obj, void *ptr)
{
@@ -199,3 +204,5 @@ getData (JNIEnv * env, jobject obj)
return JCL_GetRawData(env, data);
}
+#endif
+
diff --git a/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c b/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c
index 7a98e7e..54fd172 100644
--- a/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c
+++ b/libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c
@@ -48,11 +48,14 @@ exception statement from your version. */
#include "gnu_java_nio_charset_iconv_IconvEncoder.h"
+
+#if defined(HAVE_ICONV)
static void createRawData (JNIEnv * env, jobject obj, void *ptr);
static void *getData (JNIEnv * env, jobject obj);
static jfieldID infid = NULL;
static jfieldID outfid = NULL;
+#endif
/* Union used for type punning. */
union char_union
@@ -63,9 +66,9 @@ union char_union
};
JNIEXPORT void JNICALL
-Java_gnu_java_nio_charset_iconv_IconvEncoder_openIconv (JNIEnv * env,
- jobject obj,
- jstring jname)
+Java_gnu_java_nio_charset_iconv_IconvEncoder_openIconv (JNIEnv * env UNUSED,
+ jobject obj UNUSED,
+ jstring jname UNUSED)
{
#if defined(HAVE_ICONV)
iconv_t iconv_object;
@@ -107,12 +110,14 @@ Java_gnu_java_nio_charset_iconv_IconvEncoder_openIconv (JNIEnv * env,
}
JNIEXPORT jint JNICALL
-Java_gnu_java_nio_charset_iconv_IconvEncoder_encode (JNIEnv * env,
- jobject obj,
- jcharArray inArr,
- jbyteArray outArr,
- jint posIn, jint remIn,
- jint posOut, jint remOut)
+Java_gnu_java_nio_charset_iconv_IconvEncoder_encode (JNIEnv * env UNUSED,
+ jobject obj UNUSED,
+ jcharArray inArr UNUSED,
+ jbyteArray outArr UNUSED,
+ jint posIn UNUSED,
+ jint remIn UNUSED,
+ jint posOut UNUSED,
+ jint remOut UNUSED)
{
#if defined(HAVE_ICONV)
iconv_t iconv_object = getData (env, obj);
@@ -158,8 +163,8 @@ Java_gnu_java_nio_charset_iconv_IconvEncoder_encode (JNIEnv * env,
}
JNIEXPORT void JNICALL
-Java_gnu_java_nio_charset_iconv_IconvEncoder_closeIconv (JNIEnv * env,
- jobject obj)
+Java_gnu_java_nio_charset_iconv_IconvEncoder_closeIconv (JNIEnv * env UNUSED,
+ jobject obj UNUSED)
{
#if defined(HAVE_ICONV)
iconv_t iconv_object;
@@ -169,6 +174,7 @@ Java_gnu_java_nio_charset_iconv_IconvEncoder_closeIconv (JNIEnv * env,
}
+#if defined(HAVE_ICONV)
static void
createRawData (JNIEnv * env, jobject obj, void *ptr)
{
@@ -199,3 +205,4 @@ getData (JNIEnv * env, jobject obj)
return JCL_GetRawData(env, data);
}
+#endif
diff --git a/libjava/classpath/native/jni/java-nio/javanio.c b/libjava/classpath/native/jni/java-nio/javanio.c
index d9e4d4f..09806f8 100644
--- a/libjava/classpath/native/jni/java-nio/javanio.c
+++ b/libjava/classpath/native/jni/java-nio/javanio.c
@@ -41,11 +41,12 @@ exception statement from your version. */
* we include this file in the header, and do not compile it.
*/
+#include <fcntl.h>
+#include <unistd.h>
#include <sys/types.h>
-#include <sys/fcntl.h>
#include <sys/socket.h>
+#include <sys/select.h>
#include <sys/uio.h>
-#include <unistd.h>
CPNIO_EXPORT ssize_t
cpnio_read (int fd, void *buf, size_t nbytes)
@@ -86,6 +87,25 @@ cpnio_connect (int fd, const struct sockaddr *addr, socklen_t addrlen)
CPNIO_EXPORT int
cpnio_accept (int fd, struct sockaddr *addr, socklen_t *addrlen)
{
+ fd_set rset;
+ struct timeval tv;
+ socklen_t tvlen = sizeof(tv);
+ int ret;
+
+ tv.tv_sec = 0;
+ tv.tv_usec = 0;
+ getsockopt (fd, SOL_SOCKET, SO_RCVTIMEO, &tv, &tvlen);
+ if (tv.tv_sec > 0 || tv.tv_usec > 0)
+ {
+ FD_ZERO(&rset);
+ FD_SET(fd,&rset);
+ ret = select (fd+1,&rset,NULL,NULL,&tv);
+ if (ret == 0)
+ {
+ errno = EAGAIN;
+ return -1;
+ }
+ }
return accept (fd, addr, addrlen);
}
diff --git a/libjava/classpath/native/jni/java-util/Makefile.in b/libjava/classpath/native/jni/java-util/Makefile.in
index cd5f807..389de4e 100644
--- a/libjava/classpath/native/jni/java-util/Makefile.in
+++ b/libjava/classpath/native/jni/java-util/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -69,15 +74,15 @@ libjavautil_la_LIBADD =
am_libjavautil_la_OBJECTS = java_util_VMTimeZone.lo
libjavautil_la_OBJECTS = $(am_libjavautil_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libjavautil_la_SOURCES)
DIST_SOURCES = $(libjavautil_la_SOURCES)
@@ -88,12 +93,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -139,6 +147,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -151,15 +160,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -167,7 +177,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -177,6 +186,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -188,6 +198,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -197,6 +208,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -216,6 +228,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -237,6 +250,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -264,8 +278,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -298,6 +314,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/jni/midi-alsa/Makefile.am b/libjava/classpath/native/jni/midi-alsa/Makefile.am
index 4a9c484..60c7a5a 100644
--- a/libjava/classpath/native/jni/midi-alsa/Makefile.am
+++ b/libjava/classpath/native/jni/midi-alsa/Makefile.am
@@ -5,7 +5,7 @@ gnu_javax_sound_midi_alsa_AlsaPortDevice.c \
gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.c
libgjsmalsa_la_LIBADD = -lasound
-libgjsmalsa_la_LDFLAGS = -avoid-version
+libgjsmalsa_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@ `pkg-config --cflags-only-I alsa`
diff --git a/libjava/classpath/native/jni/midi-alsa/Makefile.in b/libjava/classpath/native/jni/midi-alsa/Makefile.in
index b02562fa..6028c58 100644
--- a/libjava/classpath/native/jni/midi-alsa/Makefile.in
+++ b/libjava/classpath/native/jni/midi-alsa/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -72,15 +77,15 @@ am_libgjsmalsa_la_OBJECTS = \
gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.lo
libgjsmalsa_la_OBJECTS = $(am_libgjsmalsa_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libgjsmalsa_la_SOURCES)
DIST_SOURCES = $(libgjsmalsa_la_SOURCES)
@@ -91,12 +96,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -142,6 +150,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -154,15 +163,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -170,7 +180,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -180,6 +189,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -191,6 +201,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -200,6 +211,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -219,6 +231,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -240,6 +253,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -267,8 +281,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -301,6 +317,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
@@ -324,7 +341,7 @@ gnu_javax_sound_midi_alsa_AlsaPortDevice.c \
gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.c
libgjsmalsa_la_LIBADD = -lasound
-libgjsmalsa_la_LDFLAGS = -avoid-version
+libgjsmalsa_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@ `pkg-config --cflags-only-I alsa`
AM_CFLAGS = @WARNING_CFLAGS@ @STRICT_WARNING_CFLAGS@ @ERROR_CFLAGS@ `pkg-config --cflags-only-other alsa`
diff --git a/libjava/classpath/native/jni/midi-dssi/Makefile.am b/libjava/classpath/native/jni/midi-dssi/Makefile.am
index 692579d..2006494 100644
--- a/libjava/classpath/native/jni/midi-dssi/Makefile.am
+++ b/libjava/classpath/native/jni/midi-dssi/Makefile.am
@@ -5,7 +5,7 @@ libgjsmdssi_la_SOURCES = gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c \
dssi_data.h
libgjsmdssi_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo -ljack
-libgjsmdssi_la_LDFLAGS = -avoid-version
+libgjsmdssi_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@
diff --git a/libjava/classpath/native/jni/midi-dssi/Makefile.in b/libjava/classpath/native/jni/midi-dssi/Makefile.in
index 2c3b06c..711eba8 100644
--- a/libjava/classpath/native/jni/midi-dssi/Makefile.in
+++ b/libjava/classpath/native/jni/midi-dssi/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -72,15 +77,15 @@ am_libgjsmdssi_la_OBJECTS = \
gnu_javax_sound_midi_dssi_DSSISynthesizer.lo
libgjsmdssi_la_OBJECTS = $(am_libgjsmdssi_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libgjsmdssi_la_SOURCES)
DIST_SOURCES = $(libgjsmdssi_la_SOURCES)
@@ -91,12 +96,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -142,6 +150,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -154,15 +163,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -170,7 +180,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -180,6 +189,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -191,6 +201,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -200,6 +211,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -219,6 +231,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -240,6 +253,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -267,8 +281,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -301,6 +317,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
@@ -324,7 +341,7 @@ libgjsmdssi_la_SOURCES = gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c \
dssi_data.h
libgjsmdssi_la_LIBADD = $(top_builddir)/native/jni/classpath/jcl.lo -ljack
-libgjsmdssi_la_LDFLAGS = -avoid-version
+libgjsmdssi_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
AM_LDFLAGS = @CLASSPATH_MODULE@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@
# No STRICT_WARNING_CFLAGS here as we use dlsym to load the address of
diff --git a/libjava/classpath/native/jni/native-lib/Makefile.in b/libjava/classpath/native/jni/native-lib/Makefile.in
index 4b89973..bc87d78 100644
--- a/libjava/classpath/native/jni/native-lib/Makefile.in
+++ b/libjava/classpath/native/jni/native-lib/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
@@ -61,15 +66,15 @@ libclasspathnative_la_LIBADD =
am_libclasspathnative_la_OBJECTS = cpnet.lo cpio.lo cpproc.lo
libclasspathnative_la_OBJECTS = $(am_libclasspathnative_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libclasspathnative_la_SOURCES)
DIST_SOURCES = $(libclasspathnative_la_SOURCES)
@@ -80,12 +85,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -131,6 +139,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -143,15 +152,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -159,7 +169,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -169,6 +178,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -180,6 +190,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -189,6 +200,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -208,6 +220,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -229,6 +242,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -256,8 +270,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -290,6 +306,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/jni/native-lib/cpio.c b/libjava/classpath/native/jni/native-lib/cpio.c
index 2777a31..ac3c0b5 100644
--- a/libjava/classpath/native/jni/native-lib/cpio.c
+++ b/libjava/classpath/native/jni/native-lib/cpio.c
@@ -352,6 +352,76 @@ int cpio_setFileReadonly (const char *filename)
return 0;
}
+int cpio_chmod (const char *filename, int permissions)
+{
+ struct stat statbuf;
+ int perms = 0;
+
+ if (stat(filename, &statbuf) < 0)
+ return errno;
+
+ /* check for permission flags */
+ if (permissions & CPFILE_FLAG_USR)
+ {
+ if (permissions & CPFILE_FLAG_READ)
+ perms |= S_IRUSR;
+
+ if (permissions & CPFILE_FLAG_WRITE)
+ perms |= S_IWUSR;
+
+ if (permissions & CPFILE_FLAG_EXEC)
+ perms |= S_IXUSR;
+ }
+ else
+ {
+ if (permissions & CPFILE_FLAG_READ)
+ perms |= (S_IRUSR | S_IRGRP | S_IROTH);
+
+ if (permissions & CPFILE_FLAG_WRITE)
+ perms |= (S_IWUSR | S_IWGRP | S_IWOTH);
+
+ if (permissions & CPFILE_FLAG_EXEC)
+ perms |= (S_IXUSR | S_IXGRP | S_IXOTH);
+ }
+
+ if (permissions & CPFILE_FLAG_OFF)
+ perms = statbuf.st_mode & ~perms;
+ else
+ perms = statbuf.st_mode | perms;
+
+ if (chmod(filename, perms) < 0)
+ return errno;
+
+ return 0;
+}
+
+int cpio_checkAccess (const char *filename, unsigned int flag)
+{
+ struct stat statbuf;
+ unsigned int perms = 0;
+
+ if (stat(filename, &statbuf) < 0)
+ return errno;
+
+ switch (flag)
+ {
+ case CPFILE_FLAG_READ:
+ perms = R_OK;
+ break;
+
+ case CPFILE_FLAG_WRITE:
+ perms = W_OK;
+ break;
+
+ case CPFILE_FLAG_EXEC:
+ default:
+ perms = X_OK;
+ break;
+ }
+
+ return (access (filename, perms));
+}
+
int cpio_isFileExists (const char *filename)
{
struct stat statbuf;
diff --git a/libjava/classpath/native/jni/native-lib/cpio.h b/libjava/classpath/native/jni/native-lib/cpio.h
index b388b5b..259fc62 100644
--- a/libjava/classpath/native/jni/native-lib/cpio.h
+++ b/libjava/classpath/native/jni/native-lib/cpio.h
@@ -48,6 +48,9 @@ exception statement from your version. */
#define CPFILE_FLAG_BINARY 0x0020
#define CPFILE_FLAG_READ 0x0040
#define CPFILE_FLAG_WRITE 0x0080
+#define CPFILE_FLAG_EXEC 0x0100
+#define CPFILE_FLAG_USR 0x0400
+#define CPFILE_FLAG_OFF 0x0800
#define CPFILE_PERMISSION_NORMAL 1
@@ -70,6 +73,8 @@ JNIEXPORT int cpio_closeOnExec(int fd);
#define CPFILE_DIRECTORY 1
JNIEXPORT int cpio_setFileReadonly (const char *filename);
+JNIEXPORT int cpio_chmod (const char *filename, int permissions);
+JNIEXPORT int cpio_checkAccess (const char *filename, unsigned int flag);
JNIEXPORT int cpio_isFileExists (const char *filename);
JNIEXPORT int cpio_checkType (const char *filename, jint *entryType);
JNIEXPORT int cpio_getModificationTime (const char *filename, jlong *mtime);
diff --git a/libjava/classpath/native/jni/native-lib/cpnet.c b/libjava/classpath/native/jni/native-lib/cpnet.c
index 85c4640..22ce69e 100644
--- a/libjava/classpath/native/jni/native-lib/cpnet.c
+++ b/libjava/classpath/native/jni/native-lib/cpnet.c
@@ -46,23 +46,22 @@ exception statement from your version. */
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netdb.h>
-#include <sys/ioctl.h>
#include <sys/time.h>
#include <unistd.h>
#include <arpa/inet.h>
+#if defined(HAVE_SYS_IOCTL_H)
+#define BSD_COMP /* Get FIONREAD on Solaris2 */
+#include <sys/ioctl.h>
+#endif
+#if defined(HAVE_SYS_FILIO_H) /* Get FIONREAD on Solaris 2.5 */
+#include <sys/filio.h>
+#endif
+
#include "cpnet.h"
#define SOCKET_DEFAULT_TIMEOUT -1 /* milliseconds */
-#if defined (HAVE_MSG_NOSIGNAL)
-#define SOCKET_NOSIGNAL MSG_NOSIGNAL
-#elif defined (HAVE_SO_NOSIGPIPE)
-#define SOCKET_NOSIGNAL SO_NOSIGPIPE
-#else
-#error "No suitable flag found to ommit a SIGPIPE on signal errors with send()."
-#endif
-
static int socketTimeouts[FD_SETSIZE];
static jint waitForWritable(jint fd)
@@ -249,6 +248,15 @@ jint cpnet_setBroadcast(JNIEnv *env UNUSED, jint fd, jint flag)
return 0;
}
+#if defined (HAVE_MSG_NOSIGNAL)
+#elif defined (HAVE_SO_NOSIGPIPE)
+static int setsockopt_NOSIGPIPE (int fd)
+{
+ int setToTrue = 1;
+ return setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, &setToTrue, sizeof(setToTrue));
+}
+#endif
+
jint cpnet_send (JNIEnv *env UNUSED, jint fd, jbyte *data, jint len, jint *bytes_sent)
{
ssize_t ret;
@@ -256,7 +264,17 @@ jint cpnet_send (JNIEnv *env UNUSED, jint fd, jbyte *data, jint len, jint *bytes
if (waitForWritable(fd) < 0)
return ETIMEDOUT;
- ret = send(fd, data, len, SOCKET_NOSIGNAL);
+#if defined (HAVE_MSG_NOSIGNAL)
+ ret = send(fd, data, len, MSG_NOSIGNAL);
+#elif defined (HAVE_SO_NOSIGPIPE)
+ ret = setsockopt_NOSIGPIPE(fd);
+ if (ret == 0) ret = send(fd, data, len, 0);
+#else
+ /* We want SIGPIPE to be omitted. But this configuration does not have an
+ * option for that.
+ */
+ ret = send(fd, data, len, 0);
+#endif
if (ret < 0)
return errno;
@@ -272,8 +290,24 @@ jint cpnet_sendTo (JNIEnv *env UNUSED, jint fd, jbyte *data, jint len, cpnet_add
if (waitForWritable(fd) < 0)
return ETIMEDOUT;
- ret = sendto(fd, data, len, SOCKET_NOSIGNAL, (struct sockaddr *)addr->data,
+#if defined (HAVE_MSG_NOSIGNAL)
+ ret = sendto(fd, data, len, MSG_NOSIGNAL, (struct sockaddr *)addr->data,
addr->len);
+#elif defined (HAVE_SO_NOSIGPIPE)
+ ret = setsockopt_NOSIGPIPE(fd);
+ if (ret == 0)
+ {
+ ret = sendto(fd, data, len, 0, (struct sockaddr *)addr->data,
+ addr->len);
+ }
+#else
+ /* We want SIGPIPE to be omitted. But this configuration does not have an
+ * option for that.
+ */
+ ret = sendto(fd, data, len, 0, (struct sockaddr *)addr->data,
+ addr->len);
+#endif
+
if (ret < 0)
return errno;
@@ -608,8 +642,17 @@ jint cpnet_getHostByName (JNIEnv *env, const char *hostname, cpnet_address ***ad
do
{
buf = (char *)JCL_malloc(env, buflen);
+
#ifdef HAVE_GETHOSTBYNAME_R
+# if defined(HAVE_FUNC_GETHOSTBYNAME_R_6)
ret = gethostbyname_r (hostname, &hret, buf, buflen, &result, &herr);
+# elif defined(HAVE_FUNC_GETHOSTBYNAME_R_5)
+ result = gethostbyname_r(hostname, &hret, buf, buflen, &herr);
+# elif defined(HAVE_FUNC_GETHOSTBYNAME_R_3)
+# error IMPLEMENT ME!
+# else
+# error unknown number of arguments for gethostbyname_r
+# endif
#else
hret.h_addr_list = NULL;
hret.h_addrtype = 0;
diff --git a/libjava/classpath/native/jni/native-lib/cpnet.h b/libjava/classpath/native/jni/native-lib/cpnet.h
index 3705c76..1096326 100644
--- a/libjava/classpath/native/jni/native-lib/cpnet.h
+++ b/libjava/classpath/native/jni/native-lib/cpnet.h
@@ -42,7 +42,9 @@ exception statement from your version. */
#include <jcl.h>
#include <string.h>
+#include <sys/types.h>
#include <sys/socket.h>
+#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>
diff --git a/libjava/classpath/native/jni/native-lib/cpproc.c b/libjava/classpath/native/jni/native-lib/cpproc.c
index b6e9030..bb34f6d 100644
--- a/libjava/classpath/native/jni/native-lib/cpproc.c
+++ b/libjava/classpath/native/jni/native-lib/cpproc.c
@@ -114,6 +114,10 @@ int cpproc_forkAndExec (char * const *commandLine, char * const * newEnviron,
*out_pid = pid;
return 0;
}
+
+ /* keep compiler happy */
+
+ return 0;
}
int cpproc_waitpid (pid_t pid, int *status, pid_t *outpid, int options)
diff --git a/libjava/classpath/native/jni/qt-peer/Makefile.am b/libjava/classpath/native/jni/qt-peer/Makefile.am
index 1728b6b5..03dcd96 100644
--- a/libjava/classpath/native/jni/qt-peer/Makefile.am
+++ b/libjava/classpath/native/jni/qt-peer/Makefile.am
@@ -7,7 +7,12 @@ noinst_LTLIBRARIES = libqtpeer.la
AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@
-AM_CXXFLAGS = @QT_CFLAGS@
+## GCJ LOCAL: add libstdc++-v3 include directories
+AM_CXXFLAGS = @QT_CFLAGS@ \
+ -I$(top_builddir)/../../libstdc++-v3/include/$(target_alias) \
+ -I$(top_builddir)/../../libstdc++-v3/include \
+ -I$(top_srcdir)/../../libstdc++-v3/include \
+ -I$(top_srcdir)/../../libstdc++-v3/libsupc++
libqtpeer_la_MOC = \
slotcallbacks.moc.h
@@ -73,7 +78,7 @@ libqtpeer_la_SOURCES = \
qtwindowpeer.cpp \
slotcallbacks.cpp \
slotcallbacks.h
-libqtpeer_la_LDFLAGS = -avoid-version
+libqtpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
BUILT_SOURCES = $(libqtpeer_la_MOC)
diff --git a/libjava/classpath/native/jni/qt-peer/Makefile.in b/libjava/classpath/native/jni/qt-peer/Makefile.in
index 9446577..8d26816 100644
--- a/libjava/classpath/native/jni/qt-peer/Makefile.in
+++ b/libjava/classpath/native/jni/qt-peer/Makefile.in
@@ -47,16 +47,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
@@ -79,23 +84,23 @@ nodist_libqtpeer_la_OBJECTS = $(am__objects_1)
libqtpeer_la_OBJECTS = $(am_libqtpeer_la_OBJECTS) \
$(nodist_libqtpeer_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libqtpeer_la_SOURCES) $(nodist_libqtpeer_la_SOURCES)
DIST_SOURCES = $(libqtpeer_la_SOURCES)
@@ -106,12 +111,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -157,6 +165,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -169,15 +178,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -185,7 +195,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -195,6 +204,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -206,6 +216,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -215,6 +226,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -234,6 +246,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -255,6 +268,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -282,8 +296,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -316,6 +332,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
@@ -336,7 +353,12 @@ vm_classes = @vm_classes@
noinst_LTLIBRARIES = libqtpeer.la
AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@
AM_CPPFLAGS = @CLASSPATH_INCLUDES@
-AM_CXXFLAGS = @QT_CFLAGS@
+AM_CXXFLAGS = @QT_CFLAGS@ \
+ -I$(top_builddir)/../../libstdc++-v3/include/$(target_alias) \
+ -I$(top_builddir)/../../libstdc++-v3/include \
+ -I$(top_srcdir)/../../libstdc++-v3/include \
+ -I$(top_srcdir)/../../libstdc++-v3/libsupc++
+
libqtpeer_la_MOC = \
slotcallbacks.moc.h
@@ -399,7 +421,7 @@ libqtpeer_la_SOURCES = \
slotcallbacks.cpp \
slotcallbacks.h
-libqtpeer_la_LDFLAGS = -avoid-version
+libqtpeer_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
BUILT_SOURCES = $(libqtpeer_la_MOC)
CLEANFILES = so_locations $(BUILT_SOURCES)
all: $(BUILT_SOURCES)
diff --git a/libjava/classpath/native/jni/xmlj/Makefile.in b/libjava/classpath/native/jni/xmlj/Makefile.in
index ef94612..079f7f4 100644
--- a/libjava/classpath/native/jni/xmlj/Makefile.in
+++ b/libjava/classpath/native/jni/xmlj/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -71,15 +76,15 @@ am_libxmlj_la_OBJECTS = xmlj_dom.lo xmlj_error.lo xmlj_io.lo \
xmlj_xpath.lo
libxmlj_la_OBJECTS = $(am_libxmlj_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libxmlj_la_SOURCES)
DIST_SOURCES = $(libxmlj_la_SOURCES)
@@ -90,12 +95,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -141,6 +149,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -153,15 +162,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -169,7 +179,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -179,6 +188,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -190,6 +200,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -199,6 +210,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -218,6 +230,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -239,6 +252,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -266,8 +280,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -300,6 +316,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
diff --git a/libjava/classpath/native/plugin/Makefile.am b/libjava/classpath/native/plugin/Makefile.am
index db94bb4..28268bf 100644
--- a/libjava/classpath/native/plugin/Makefile.am
+++ b/libjava/classpath/native/plugin/Makefile.am
@@ -8,7 +8,7 @@ libgcjwebplugin_la_CXXFLAGS = \
libgcjwebplugin_la_LDFLAGS = -avoid-version \
$(GLIB_LIBS) $(GTK_LIBS) \
- -lstdc++
+ -lstdc++ $(AM_LDFLAGS)
install-plugin: $(nativeexeclib_LTLIBRARIES)
$(INSTALL) -d -m0755 $(DESTDIR)$(PLUGIN_DIR)
diff --git a/libjava/classpath/native/plugin/Makefile.in b/libjava/classpath/native/plugin/Makefile.in
index ed53fb6..c57aa77 100644
--- a/libjava/classpath/native/plugin/Makefile.in
+++ b/libjava/classpath/native/plugin/Makefile.in
@@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
- $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
- $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/../../libtool.m4 \
+ $(top_srcdir)/../../ltoptions.m4 \
+ $(top_srcdir)/../../ltsugar.m4 \
+ $(top_srcdir)/../../ltversion.m4 \
+ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
+ $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -69,16 +74,16 @@ libgcjwebplugin_la_LIBADD =
am_libgcjwebplugin_la_OBJECTS = libgcjwebplugin_la-gcjwebplugin.lo
libgcjwebplugin_la_OBJECTS = $(am_libgcjwebplugin_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
-depcomp = $(SHELL) $(top_srcdir)/depcomp
+depcomp = $(SHELL) $(top_srcdir)/../../depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libgcjwebplugin_la_SOURCES)
DIST_SOURCES = $(libgcjwebplugin_la_SOURCES)
ETAGS = etags
@@ -88,12 +93,15 @@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
+AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -139,6 +147,7 @@ DATE = @DATE@
DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
+DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -151,15 +160,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
FASTJAR = @FASTJAR@
+FGREP = @FGREP@
FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
-FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
-FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@
+FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@
FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
@@ -167,7 +177,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
-GCJX = @GCJX@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_LIBS = @GCONF_LIBS@
GDK_CFLAGS = @GDK_CFLAGS@
@@ -177,6 +186,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@
GJDOC = @GJDOC@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
+GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
@@ -188,6 +198,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVAC = @JAVAC@
JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@
JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@
@@ -197,6 +208,7 @@ JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
+LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
LIBICONV = @LIBICONV@
@@ -216,6 +228,7 @@ MKDIR = @MKDIR@
MOC = @MOC@
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
MOZILLA_LIBS = @MOZILLA_LIBS@
+NM = @NM@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -237,6 +250,7 @@ RANLIB = @RANLIB@
REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
REMOVE = @REMOVE@
+SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
@@ -264,8 +278,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
+ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@@ -298,6 +314,7 @@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
@@ -323,7 +340,7 @@ libgcjwebplugin_la_CXXFLAGS = \
libgcjwebplugin_la_LDFLAGS = -avoid-version \
$(GLIB_LIBS) $(GTK_LIBS) \
- -lstdc++
+ -lstdc++ $(AM_LDFLAGS)
all: all-am
@@ -418,11 +435,11 @@ distclean-compile:
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
libgcjwebplugin_la-gcjwebplugin.lo: gcjwebplugin.cc
-@am__fastdepCXX_TRUE@ if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgcjwebplugin_la_CXXFLAGS) $(CXXFLAGS) -MT libgcjwebplugin_la-gcjwebplugin.lo -MD -MP -MF "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Tpo" -c -o libgcjwebplugin_la-gcjwebplugin.lo `test -f 'gcjwebplugin.cc' || echo '$(srcdir)/'`gcjwebplugin.cc; \
+@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgcjwebplugin_la_CXXFLAGS) $(CXXFLAGS) -MT libgcjwebplugin_la-gcjwebplugin.lo -MD -MP -MF "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Tpo" -c -o libgcjwebplugin_la-gcjwebplugin.lo `test -f 'gcjwebplugin.cc' || echo '$(srcdir)/'`gcjwebplugin.cc; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Tpo" "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Plo"; else rm -f "$(DEPDIR)/libgcjwebplugin_la-gcjwebplugin.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gcjwebplugin.cc' object='libgcjwebplugin_la-gcjwebplugin.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgcjwebplugin_la_CXXFLAGS) $(CXXFLAGS) -c -o libgcjwebplugin_la-gcjwebplugin.lo `test -f 'gcjwebplugin.cc' || echo '$(srcdir)/'`gcjwebplugin.cc
+@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgcjwebplugin_la_CXXFLAGS) $(CXXFLAGS) -c -o libgcjwebplugin_la-gcjwebplugin.lo `test -f 'gcjwebplugin.cc' || echo '$(srcdir)/'`gcjwebplugin.cc
mostlyclean-libtool:
-rm -f *.lo