PATCH/RFC: --enable-java-awt=gtk (was: Building the GTK peers...)
Laurent Bardet
l.bardet@magic.fr
Wed Jul 31 15:25:00 GMT 2002
Hi,
This is a patch to allow the recognition of --enable-java-awt=gtk
configure option, and the build of gcj GTK-based AWT peers.
It follows the same scheme as gcj Xlib-base AWT peers, i.e. it builds
libgcjgtk.* libraries (was libgcjx.* for xlib).
Configuring libjava:
--------------------
This patch, applied to head, works for my i586-pc-linux-gnu platform:
../../configure
--host=i586-pc-linux-gnu
--enable-threads=posix
--prefix=/home/devlp/gcc_awt_gtk
--enable-shared=yes
--enable-languages=c,c++,java
--enable-java-awt=gtk
IMO it needs more work to be integrated smoothly in configure/build
machinery:
- check for GTK availability at configure time: I don't know how to
perform this. Bryce pointed towards AM_PATH_GTK macro, but I don't
know how to set it up. See line "# FIXME: no test for gtk yet..." in
libjava/configure.in.
- determination of required library for gtk :
See line "## FIXME: determine which LIB and options are required
with GTK" in libjava/Makefile.am. When I build an AWT application,
I append -lgcjgtk -lgtk -lgdk -lglib -lgthread to LDFLAGS. One way
would be to determine which library is necessary and resolve the
external gtk symbol at libjava build time.
- cross/native configuration: I want to enable this option for cross
compilation (i.e. with gtk win32, I should be able to run AWT-based
application build for mingw).
Building libjava:
-----------------
When applying this patch, compilation of gtk-peers fails on three
classes (some AWT files have been merged from classpath, and peers
need cleanup too). See ChangeLog.
Building application:
---------------------
On link command I link against -lgcjgtk -lgtk -lgdk -lglib -lgthread,
and I set awt.toolkit property to the correct peer implementation:
-Dawt.toolkit=gnu.awt.gtk.GtkToolkit, to override the Toolkit
default which comes from classpath.
Can you consider this solution and give some feedback ? Do you need
separate patches for configure and build phases ?
Laurent Bardet
P.S. should I forward also to java@gcc.gnu.org and classpath@gnu.org ?
-------------- next part --------------
Index: ChangeLog
from Laurent Bardet <l.bardet@magic.fr>
* configure: Rebuilt.
* configure.in: --enable-java-awt=gtk configure option.
* Makefile.am: Add libgcjgtk.la,
gtk_java_source_files and gtk_nat_source_files.
* Makefile.in: Regenerate.
* GtkComponentPeer.java: Add empty getColorModel() implementation.
* GtkContainerPeer.java: Add deprecated insets() method. Rename
attribute to prevent name collision.
* GtkToolkit.java: Uncomment empty getPrintJob() implementation.
Index: configure
===================================================================
RCS file: /cvsroot/gcc/gcc/libjava/configure,v
retrieving revision 1.153
diff -u -r1.153 configure
--- configure 30 Jul 2002 12:35:59 -0000 1.153
+++ configure 31 Jul 2002 20:18:32 -0000
@@ -7377,6 +7377,7 @@
fi
+AM_PATH_GTK
# Check whether --enable-java-awt or --disable-java-awt was given.
if test "${enable_java_awt+set}" = set; then
@@ -7400,7 +7401,13 @@
fi
;;
gtk)
- # Nothing, yet...
+ # FIXME: no test for gtk yet...
+ #if test "$no_gtk" = yes; then
+ # echo "*** gtk peers requested but no gtk library available" 1>&2
+ # exit 1
+ #else
+ use_gtk_awt="yes"
+ #fi
;;
no)
use_xlib_awt=
Index: configure.in
===================================================================
RCS file: /cvsroot/gcc/gcc/libjava/configure.in,v
retrieving revision 1.138
diff -u -r1.138 configure.in
--- configure.in 30 Jul 2002 12:36:00 -0000 1.138
+++ configure.in 31 Jul 2002 20:18:41 -0000
@@ -944,6 +944,7 @@
fi
AC_PATH_XTRA
+AM_PATH_GTK
dnl Determine which AWT peer libraries to build
AC_ARG_ENABLE(java-awt,
@@ -964,7 +965,13 @@
fi
;;
gtk)
- # Nothing, yet...
+ # FIXME: no test for gtk yet...
+ #if test "$no_gtk" = yes; then
+ # echo "*** gtk peers requested but no gtk library available" 1>&2
+ # exit 1
+ #else
+ use_gtk_awt="yes"
+ #fi
;;
no)
use_xlib_awt=
Index: Makefile.am
===================================================================
RCS file: /cvsroot/gcc/gcc/libjava/Makefile.am,v
retrieving revision 1.232
diff -u -r1.232 Makefile.am
--- Makefile.am 15 Jul 2002 16:05:13 -0000 1.232
+++ Makefile.am 31 Jul 2002 20:18:53 -0000
@@ -29,7 +29,13 @@
cond_x_ltlibrary =
endif
-toolexeclib_LTLIBRARIES = libgcj.la $(cond_x_ltlibrary)
+if GTK_AWT
+cond_gtk_ltlibrary = libgcjgtk.la
+else
+cond_gtk_ltlibrary =
+endif
+
+toolexeclib_LTLIBRARIES = libgcj.la $(cond_x_ltlibrary) $(cond_gtk_ltlibrary)
toolexeclib_DATA = libgcj.spec
jardir = $(datadir)/java
@@ -120,12 +126,14 @@
## Objects from C++ sources in subdirs.
nat_files = $(nat_source_files:.cc=.lo)
x_nat_files = $(x_nat_source_files:.cc=.lo)
+gtk_nat_files = $(gtk_nat_source_files:.cc=.lo)
## Objects from C sources in subdirs.
c_files = $(c_source_files:.c=.lo)
## Objects from Java sources in subdirs.
javao_files = $(java_source_files:.java=.lo) \
$(built_java_source_files:.java=.lo)
x_javao_files = $(x_java_source_files:.java=.lo)
+gtk_javao_files = $(gtk_java_source_files:.java=.lo)
libgcj_la_SOURCES = prims.cc jni.cc exception.cc \
resolve.cc defineclass.cc interpret.cc name-finder.cc verify.cc \
@@ -157,18 +165,36 @@
-version-info `grep -v '^\#' $(srcdir)/libtool-version`
libgcjx_la_LINK = $(LIBLINK)
+libgcjgtk_la_SOURCES = $(gtk_nat_source_files)
+EXTRA_libgcjgtk_la_SOURCES = $(gtk_java_source_files)
+libgcjgtk_la_DEPENDENCIES = libgcj-@gcc_version@.jar $(gtk_javao_files)
+libgcjgtk_la_LIBADD = $(gtk_javao_files)
+## FIXME: determine which LIB and options are required with GTK:
+## FIXME: at least -lgtk -lgdk -lglib ?
+libgcjgtk_la_LDFLAGS = @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
+ -rpath $(toolexeclibdir) \
+## The mysterious backslash is consumed by make.
+ -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libgcjgtk_la_LINK = $(LIBLINK)
+
## Make a symlink for each `libgcjx' file that was installed.
+## Make a symlink for each `libgcjgtk' file that was installed.
install-exec-hook:
cd $(DESTDIR)$(libdir) && \
if test -f libgcjx.la; then \
rm -f gnu-awt-xlib.la; \
$(LN_S) libgcjx.la gnu-awt-xlib.la; \
fi
+ if test -f libgcjgtk.la; then \
+ rm -f gnu-awt-gtk.la; \
+ $(LN_S) libgcjgtk.la gnu-awt-gtk.la; \
+ fi
all_java_source_files = \
$(java_source_files) \
$(built_java_source_files) \
- $(x_java_source_files)
+ $(x_java_source_files) \
+ $(gtk_java_source_files)
all_java_class_files = $(all_java_source_files:.java=.class)
@@ -183,7 +209,7 @@
sed -e '/\/\./d' -e '/\/xlib/d' | \
$(ZIP) cfM0E@ $@
-MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files) $(x_javao_files) $(x_nat_files) $(x_nat_headers)
+MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files) $(x_javao_files) $(x_nat_files) $(x_nat_headers) $(gtk_javao_files) $(gtk_nat_files) $(gtk_nat_headers)
CLEANFILES = libgcj-@gcc_version@.jar
clean-local:
@@ -192,7 +218,7 @@
# Just remove the objects from C++ sources, for testing the C++ compiler.
clean-nat:
- rm -f $(nat_files) $(x_nat_files)
+ rm -f $(nat_files) $(x_nat_files) $(gtk_nat_files)
SUFFIXES = .class .java .h
@@ -206,7 +232,7 @@
## special rule. The standard automake rule can't be overridden (this
## is a bug in automake), and it also won't put the .o files into
## subdirs. FIXME.
-$(nat_files) $(x_nat_files): %.lo: %.cc
+$(nat_files) $(x_nat_files) $(gtk_nat_files): %.lo: %.cc
@echo '$(LTCXXCOMPILE) -MD -MT $@ -MF $(@:.lo=.pp) -c -o $@ $<'; \
$(LTCXXCOMPILE) -MD -MT $@ -MF $(@:.lo=.pp) -c -o $@ $<
@-mv $(@:.lo=.pp) $(@:.lo=.d)
@@ -218,7 +244,7 @@
$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
## FIXME: GNU make.
-$(javao_files) $(x_javao_files): %.lo: %.java
+$(javao_files) $(x_javao_files) $(gtk_javao_files): %.lo: %.java
$(GCJCOMPILE) -o $@ $<
## Pass the list of object files to libtool in a temporary file to
@@ -234,6 +260,11 @@
$(libgcjx_la_LINK) -objectlist libgcjx.objectlist \
-rpath $(toolexeclibdir) $(libgcjx_la_LDFLAGS) $(LIBS)
+libgcjgtk.la: $(libgcjgtk_la_OBJECTS) $(libgcjgtk_la_DEPENDENCIES)
+ @: $(shell echo Creating list of files to link...) $(shell rm -f libgcjgtk.objectlist || :) $(shell touch libgcjgtk.objectlist) $(foreach object,$(libgcjgtk_la_OBJECTS) $(libgcjgtk_la_LIBADD),$(shell echo $(object) >> libgcjgtk.objectlist))
+ $(libgcjgtk_la_LINK) -objectlist libgcjgtk.objectlist \
+ -rpath $(toolexeclibdir) $(libgcjgtk_la_LDFLAGS) $(LIBS)
+
## ################################################################
##
@@ -254,8 +285,9 @@
nat_headers = $(ordinary_nat_headers) $(inner_nat_headers)
x_nat_headers = $(x_java_source_files:.java=.h)
+gtk_nat_headers = $(gtk_java_source_files:.java=.h)
-$(ordinary_nat_headers) $(x_nat_headers): %.h: %.class
+$(ordinary_nat_headers) $(x_nat_headers) $(gtk_nat_headers): %.h: %.class
java/lang/ClassLoader.h: java/lang/ClassLoader.class
$(GCJH) -classpath '' -bootclasspath $(top_builddir) \
@@ -1882,6 +1914,28 @@
gnu/gcj/xlib/natXImage.cc \
gnu/gcj/xlib/natXUnmapEvent.cc
+
+gtk_java_source_files = \
+gnu/awt/gtk/GtkButtonPeer.java \
+gnu/awt/gtk/GtkComponentPeer.java \
+gnu/awt/gtk/GtkContainerPeer.java \
+gnu/awt/gtk/GtkFramePeer.java \
+gnu/awt/gtk/GtkLabelPeer.java \
+gnu/awt/gtk/GtkMainThread.java \
+gnu/awt/gtk/GtkToolkit.java \
+gnu/awt/gtk/GtkWindowPeer.java
+
+gtk_nat_source_files = \
+gnu/awt/gtk/gtkcommon.cc \
+gnu/awt/gtk/natGtkButtonPeer.cc \
+gnu/awt/gtk/natGtkComponentPeer.cc \
+gnu/awt/gtk/natGtkContainerPeer.cc \
+gnu/awt/gtk/natGtkFramePeer.cc \
+gnu/awt/gtk/natGtkLabelPeer.cc \
+gnu/awt/gtk/natGtkMainThread.cc \
+gnu/awt/gtk/natGtkToolkit.cc \
+gnu/awt/gtk/natGtkWindowPeer.cc
+
## ################################################################
##
@@ -1936,7 +1990,7 @@
## the C++ code whenever any .java file is touched.
## Also force all the class files to build first. This makes them build in
## the right order to improve performance.
-all-recursive: $(all_java_class_files) $(nat_headers) $(x_nat_headers)
+all-recursive: $(all_java_class_files) $(nat_headers) $(x_nat_headers) $(gtk_nat_headers)
## ################################################################
Index: Makefile.in
===================================================================
RCS file: /cvsroot/gcc/gcc/libjava/Makefile.in,v
retrieving revision 1.252
diff -u -r1.252 Makefile.in
--- Makefile.in 15 Jul 2002 16:05:13 -0000 1.252
+++ Makefile.in 31 Jul 2002 20:19:13 -0000
@@ -136,8 +136,10 @@
@USE_LIBDIR_FALSE@toolexecdir = @USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias)
@XLIB_AWT_TRUE@cond_x_ltlibrary = @XLIB_AWT_TRUE@libgcjx.la
@XLIB_AWT_FALSE@cond_x_ltlibrary =
+@GTK_AWT_TRUE@cond_gtk_ltlibrary = @GTK_AWT_TRUE@libgcjgtk.la
+@GTK_AWT_FALSE@cond_gtk_ltlibrary =
-toolexeclib_LTLIBRARIES = libgcj.la $(cond_x_ltlibrary)
+toolexeclib_LTLIBRARIES = libgcj.la $(cond_x_ltlibrary) $(cond_gtk_ltlibrary)
toolexeclib_DATA = libgcj.spec
jardir = $(datadir)/java
@@ -188,11 +190,13 @@
nat_files = $(nat_source_files:.cc=.lo)
x_nat_files = $(x_nat_source_files:.cc=.lo)
+gtk_nat_files = $(gtk_nat_source_files:.cc=.lo)
c_files = $(c_source_files:.c=.lo)
javao_files = $(java_source_files:.java=.lo) \
$(built_java_source_files:.java=.lo)
x_javao_files = $(x_java_source_files:.java=.lo)
+gtk_javao_files = $(gtk_java_source_files:.java=.lo)
libgcj_la_SOURCES = prims.cc jni.cc exception.cc \
resolve.cc defineclass.cc interpret.cc name-finder.cc verify.cc \
@@ -228,15 +232,28 @@
libgcjx_la_LINK = $(LIBLINK)
+libgcjgtk_la_SOURCES = $(gtk_nat_source_files)
+EXTRA_libgcjgtk_la_SOURCES = $(gtk_java_source_files)
+libgcjgtk_la_DEPENDENCIES = libgcj-@gcc_version@.jar $(gtk_javao_files)
+libgcjgtk_la_LIBADD = $(gtk_javao_files)
+## FIXME: determine which LIB and options are required with GTK:
+## FIXME: at least -lgtk -lgdk -lglib ?
+libgcjgtk_la_LDFLAGS = @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
+ -rpath $(toolexeclibdir) \
+ -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+
+libgcjgtk_la_LINK = $(LIBLINK)
+
all_java_source_files = \
$(java_source_files) \
$(built_java_source_files) \
- $(x_java_source_files)
+ $(x_java_source_files) \
+ $(gtk_java_source_files)
all_java_class_files = $(all_java_source_files:.java=.class)
-MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files) $(x_javao_files) $(x_nat_files) $(x_nat_headers)
+MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files) $(x_javao_files) $(x_nat_files) $(x_nat_headers) $(gtk_javao_files) $(gtk_nat_files) $(gtk_nat_headers)
CLEANFILES = libgcj-@gcc_version@.jar
SUFFIXES = .class .java .h
@@ -252,6 +269,7 @@
nat_headers = $(ordinary_nat_headers) $(inner_nat_headers)
x_nat_headers = $(x_java_source_files:.java=.h)
+gtk_nat_headers = $(gtk_java_source_files:.java=.h)
extra_headers = java/lang/Object.h java/lang/Class.h
@@ -1646,6 +1664,29 @@
gnu/gcj/xlib/natXUnmapEvent.cc
+gtk_java_source_files = \
+gnu/awt/gtk/GtkButtonPeer.java \
+gnu/awt/gtk/GtkComponentPeer.java \
+gnu/awt/gtk/GtkContainerPeer.java \
+gnu/awt/gtk/GtkFramePeer.java \
+gnu/awt/gtk/GtkLabelPeer.java \
+gnu/awt/gtk/GtkMainThread.java \
+gnu/awt/gtk/GtkToolkit.java \
+gnu/awt/gtk/GtkWindowPeer.java
+
+
+gtk_nat_source_files = \
+gnu/awt/gtk/gtkcommon.cc \
+gnu/awt/gtk/natGtkButtonPeer.cc \
+gnu/awt/gtk/natGtkComponentPeer.cc \
+gnu/awt/gtk/natGtkContainerPeer.cc \
+gnu/awt/gtk/natGtkFramePeer.cc \
+gnu/awt/gtk/natGtkLabelPeer.cc \
+gnu/awt/gtk/natGtkMainThread.cc \
+gnu/awt/gtk/natGtkToolkit.cc \
+gnu/awt/gtk/natGtkWindowPeer.cc
+
+
# Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and
# friends when we are called from the top level Makefile.
@@ -1747,6 +1788,11 @@
gnu/gcj/xlib/natXConfigureEvent.lo gnu/gcj/xlib/natXException.lo \
gnu/gcj/xlib/natXExposeEvent.lo gnu/gcj/xlib/natXImage.lo \
gnu/gcj/xlib/natXUnmapEvent.lo
+libgcjgtk_la_OBJECTS = gnu/awt/gtk/gtkcommon.lo \
+gnu/awt/gtk/natGtkButtonPeer.lo gnu/awt/gtk/natGtkComponentPeer.lo \
+gnu/awt/gtk/natGtkContainerPeer.lo gnu/awt/gtk/natGtkFramePeer.lo \
+gnu/awt/gtk/natGtkLabelPeer.lo gnu/awt/gtk/natGtkMainThread.lo \
+gnu/awt/gtk/natGtkToolkit.lo gnu/awt/gtk/natGtkWindowPeer.lo
@NATIVE_TRUE@bin_PROGRAMS = jv-convert$(EXEEXT) gij$(EXEEXT) \
@NATIVE_TRUE@rmic$(EXEEXT) rmiregistry$(EXEEXT)
@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = \
@@ -1785,7 +1831,17 @@
DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/$(srcdir)/$(CONVERT_DIR)/make-trie.P .deps/boehm.P \
.deps/defineclass.P .deps/exception.P .deps/gij.P \
-.deps/gnu/awt/LightweightRedirector.P \
+.deps/gnu/awt/LightweightRedirector.P .deps/gnu/awt/gtk/GtkButtonPeer.P \
+.deps/gnu/awt/gtk/GtkComponentPeer.P \
+.deps/gnu/awt/gtk/GtkContainerPeer.P .deps/gnu/awt/gtk/GtkFramePeer.P \
+.deps/gnu/awt/gtk/GtkLabelPeer.P .deps/gnu/awt/gtk/GtkMainThread.P \
+.deps/gnu/awt/gtk/GtkToolkit.P .deps/gnu/awt/gtk/GtkWindowPeer.P \
+.deps/gnu/awt/gtk/gtkcommon.P .deps/gnu/awt/gtk/natGtkButtonPeer.P \
+.deps/gnu/awt/gtk/natGtkComponentPeer.P \
+.deps/gnu/awt/gtk/natGtkContainerPeer.P \
+.deps/gnu/awt/gtk/natGtkFramePeer.P .deps/gnu/awt/gtk/natGtkLabelPeer.P \
+.deps/gnu/awt/gtk/natGtkMainThread.P .deps/gnu/awt/gtk/natGtkToolkit.P \
+.deps/gnu/awt/gtk/natGtkWindowPeer.P \
.deps/gnu/awt/j2d/AbstractGraphicsState.P \
.deps/gnu/awt/j2d/DirectRasterGraphics.P \
.deps/gnu/awt/j2d/Graphics2DImpl.P \
@@ -2770,8 +2826,8 @@
.deps/org/xml/sax/helpers/XMLReaderFactory.P .deps/posix-threads.P \
.deps/posix.P .deps/prims.P .deps/resolve.P .deps/verify.P \
.deps/win32-threads.P .deps/win32.P
-SOURCES = $(libgcj_la_SOURCES) $(EXTRA_libgcj_la_SOURCES) $(libgcjx_la_SOURCES) $(EXTRA_libgcjx_la_SOURCES) $(jv_convert_SOURCES) $(EXTRA_jv_convert_SOURCES) $(gij_SOURCES) $(rmic_SOURCES) $(EXTRA_rmic_SOURCES) $(rmiregistry_SOURCES) $(EXTRA_rmiregistry_SOURCES) $(gen_from_JIS_SOURCES) $(EXTRA_gen_from_JIS_SOURCES)
-OBJECTS = $(libgcj_la_OBJECTS) $(libgcjx_la_OBJECTS) $(jv_convert_OBJECTS) $(gij_OBJECTS) $(rmic_OBJECTS) $(rmiregistry_OBJECTS) $(gen_from_JIS_OBJECTS)
+SOURCES = $(libgcj_la_SOURCES) $(EXTRA_libgcj_la_SOURCES) $(libgcjx_la_SOURCES) $(EXTRA_libgcjx_la_SOURCES) $(libgcjgtk_la_SOURCES) $(EXTRA_libgcjgtk_la_SOURCES) $(jv_convert_SOURCES) $(EXTRA_jv_convert_SOURCES) $(gij_SOURCES) $(rmic_SOURCES) $(EXTRA_rmic_SOURCES) $(rmiregistry_SOURCES) $(EXTRA_rmiregistry_SOURCES) $(gen_from_JIS_SOURCES) $(EXTRA_gen_from_JIS_SOURCES)
+OBJECTS = $(libgcj_la_OBJECTS) $(libgcjx_la_OBJECTS) $(libgcjgtk_la_OBJECTS) $(jv_convert_OBJECTS) $(gij_OBJECTS) $(rmic_OBJECTS) $(rmiregistry_OBJECTS) $(gen_from_JIS_OBJECTS)
all: all-redirect
.SUFFIXES:
@@ -3292,6 +3348,10 @@
rm -f gnu-awt-xlib.la; \
$(LN_S) libgcjx.la gnu-awt-xlib.la; \
fi
+ if test -f libgcjgtk.la; then \
+ rm -f gnu-awt-gtk.la; \
+ $(LN_S) libgcjgtk.la gnu-awt-gtk.la; \
+ fi
.java.class:
$(JAVAC) $(JCFLAGS) -classpath '' -bootclasspath $(here):$(srcdir) \
@@ -3308,7 +3368,7 @@
# Just remove the objects from C++ sources, for testing the C++ compiler.
clean-nat:
- rm -f $(nat_files) $(x_nat_files)
+ rm -f $(nat_files) $(x_nat_files) $(gtk_nat_files)
.class.lo:
$(GCJCOMPILE) -o $@ $<
@@ -3316,7 +3376,7 @@
.java.lo:
$(GCJCOMPILE) -o $@ $<
-$(nat_files) $(x_nat_files): %.lo: %.cc
+$(nat_files) $(x_nat_files) $(gtk_nat_files): %.lo: %.cc
@echo '$(LTCXXCOMPILE) -MD -MT $@ -MF $(@:.lo=.pp) -c -o $@ $<'; \
$(LTCXXCOMPILE) -MD -MT $@ -MF $(@:.lo=.pp) -c -o $@ $<
@-mv $(@:.lo=.pp) $(@:.lo=.d)
@@ -3326,7 +3386,7 @@
$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
-$(javao_files) $(x_javao_files): %.lo: %.java
+$(javao_files) $(x_javao_files) $(gtk_javao_files): %.lo: %.java
$(GCJCOMPILE) -o $@ $<
libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
@@ -3340,10 +3400,15 @@
$(libgcjx_la_LINK) -objectlist libgcjx.objectlist \
-rpath $(toolexeclibdir) $(libgcjx_la_LDFLAGS) $(LIBS)
+libgcjgtk.la: $(libgcjgtk_la_OBJECTS) $(libgcjgtk_la_DEPENDENCIES)
+ @: $(shell echo Creating list of files to link...) $(shell rm -f libgcjgtk.objectlist || :) $(shell touch libgcjgtk.objectlist) $(foreach object,$(libgcjgtk_la_OBJECTS) $(libgcjgtk_la_LIBADD),$(shell echo $(object) >> libgcjgtk.objectlist))
+ $(libgcjgtk_la_LINK) -objectlist libgcjgtk.objectlist \
+ -rpath $(toolexeclibdir) $(libgcjgtk_la_LDFLAGS) $(LIBS)
+
.class.h:
$(GCJH) -classpath '' -bootclasspath $(top_builddir) $(basename $<)
-$(ordinary_nat_headers) $(x_nat_headers): %.h: %.class
+$(ordinary_nat_headers) $(x_nat_headers) $(gtk_nat_headers): %.h: %.class
java/lang/ClassLoader.h: java/lang/ClassLoader.class
$(GCJH) -classpath '' -bootclasspath $(top_builddir) \
@@ -3535,7 +3600,7 @@
-include deps.mk
-all-recursive: $(all_java_class_files) $(nat_headers) $(x_nat_headers)
+all-recursive: $(all_java_class_files) $(nat_headers) $(x_nat_headers) $(gtk_nat_headers)
# Multilib support.
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
Index: GtkComponentPeer.java
===================================================================
RCS file: /cvsroot/gcc/gcc/libjava/gnu/awt/gtk/GtkComponentPeer.java,v
retrieving revision 1.1
diff -u -r1.1 GtkComponentPeer.java
--- GtkComponentPeer.java 2 Oct 2000 05:14:25 -0000 1.1
+++ GtkComponentPeer.java 31 Jul 2002 20:25:38 -0000
@@ -77,6 +77,13 @@
setEnabled (true);
}
+ // FIXME: empty stub to get GtkComponentPeer implement whole
+ // ComponentPeer interface.
+ public ColorModel getColorModel()
+ {
+ return null;
+ }
+
/**
* Get the graphics configuration of the component. The color model
* of the component can be derived from the configuration.
Index: GtkContainerPeer.java
===================================================================
RCS file: /cvsroot/gcc/gcc/libjava/gnu/awt/gtk/GtkContainerPeer.java,v
retrieving revision 1.1
diff -u -r1.1 GtkContainerPeer.java
--- GtkContainerPeer.java 2 Oct 2000 05:14:25 -0000 1.1
+++ GtkContainerPeer.java 31 Jul 2002 20:25:41 -0000
@@ -28,17 +28,23 @@
implements ContainerPeer
{
// FIXME?
- static Insets insets = new Insets(0,0,0,0);
+ static Insets _internal_insets = new Insets(0,0,0,0);
protected GtkContainerPeer (Container awtContainer)
{
super (awtContainer);
}
+ // FIXME: empty stub?
+ public Insets insets()
+ {
+ return _internal_insets;
+ }
+
public Insets getInsets()
{
// FIXME?
- return insets;
+ return _internal_insets;
}
public void beginValidate()
Index: GtkToolkit.java
===================================================================
RCS file: /cvsroot/gcc/gcc/libjava/gnu/awt/gtk/GtkToolkit.java,v
retrieving revision 1.1
diff -u -r1.1 GtkToolkit.java
--- GtkToolkit.java 2 Oct 2000 05:14:25 -0000 1.1
+++ GtkToolkit.java 31 Jul 2002 20:25:45 -0000
@@ -120,11 +120,14 @@
return null;
}
+ // FIXME: empty stub to make GtkToolkit implement whole Toolkit interface
/*
+ */
public PrintJob getPrintJob (Frame frame, String jobtitle, Properties props)
{
return null;
}
+ /*
*/
native public int getScreenResolution();
More information about the Java-patches
mailing list