From 653cadd5186a49578c40ec23f596d5d9352d8da5 Mon Sep 17 00:00:00 2001
From: tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 20 Jul 2005 23:39:44 +0000
Subject: [PATCH] 	* sources.am, Makefile.in: Rebuilt. 	* Makefile.am
 (all_xlib_lo_files): Removed. 	(all_libgcj_lo_files): Likewise. 
 (lib_gnu_awt_xlib_la_LIBADD): List correct .lo files. 
 (xlib_java_source_files): Removed. 	(xlib_nat_headers): Updated. 	*
 configure: Rebuilt. 	* configure.ac: Create standard.omit. 	*
 standard.omit.in: New file. 	* standard.omit: Removed. 	*
 scripts/makemake.tcl (gnu/gcj/xlib, gnu/awt/xlib): Now 	'package'. 
 (emit_package_rule): Special case xlib peers. 	(emit_source_var): Likewise. 
 Read standard.omit.in. 	* gnu/awt/xlib/XToolkit.java
 (createEmbeddedWindow): New method.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102211 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libjava/ChangeLog                           |  19 ++++
 libjava/Makefile.am                         |  49 +-------
 libjava/Makefile.in                         | 118 +++++++++++---------
 libjava/configure                           |  23 ++--
 libjava/configure.ac                        |  19 +++-
 libjava/gnu/awt/xlib/XToolkit.java          |   9 +-
 libjava/scripts/makemake.tcl                |  14 ++-
 libjava/sources.am                          |  64 +++++++++++
 libjava/{standard.omit => standard.omit.in} |   2 -
 9 files changed, 200 insertions(+), 117 deletions(-)
 rename libjava/{standard.omit => standard.omit.in} (95%)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 2ac35be7e5c1..76f566c4c34d 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,22 @@
+2005-07-20  Tom Tromey  <tromey@redhat.com>
+
+	* sources.am, Makefile.in: Rebuilt.
+	* Makefile.am (all_xlib_lo_files): Removed.
+	(all_libgcj_lo_files): Likewise.
+	(lib_gnu_awt_xlib_la_LIBADD): List correct .lo files.
+	(xlib_java_source_files): Removed.
+	(xlib_nat_headers): Updated.
+	* configure: Rebuilt.
+	* configure.ac: Create standard.omit.
+	* standard.omit.in: New file.
+	* standard.omit: Removed.
+	* scripts/makemake.tcl (gnu/gcj/xlib, gnu/awt/xlib): Now
+	'package'.
+	(emit_package_rule): Special case xlib peers.
+	(emit_source_var): Likewise.
+	Read standard.omit.in.
+	* gnu/awt/xlib/XToolkit.java (createEmbeddedWindow): New method.
+
 2005-07-18  Tom Tromey  <tromey@redhat.com>
 
 	* HACKING: Updated.
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 21aacbfeaeb7..4bafc5dbe402 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -154,12 +154,6 @@ BOOTCLASSPATH = $(here)/classpath/lib
 
 ## ################################################################
 
-# In the future these may be defined manually, if we decide to split libgcj.so
-# into multiple shared libraries.  For now, everything but xlib goes into
-# all_libgcj_lo_files
-all_xlib_lo_files = gnu/gcj/xlib.lo gnu/awt/xlib.lo
-all_libgcj_lo_files = $(filter-out $(all_xlib_lo_files), $(all_java_lo_files))
-
 all_property_files = $(property_files) \
     java/util/logging/logging.properties
 
@@ -276,8 +270,9 @@ libgcjawt_la_LDFLAGS = \
 libgcjawt_la_LINK = $(LIBLINK)
 
 lib_gnu_awt_xlib_la_SOURCES = $(xlib_nat_source_files)
-lib_gnu_awt_xlib_la_LIBADD = $(all_xlib_lo_files)
-lib_gnu_awt_xlib_la_DEPENDENCIES = libgcj-$(gcc_version).jar libgcj.la libgcj.spec \
+lib_gnu_awt_xlib_la_LIBADD = gnu/awt/xlib.lo gnu/gcj/xlib.lo
+lib_gnu_awt_xlib_la_DEPENDENCIES = libgcj-$(gcc_version).jar \
+	libgcj.la libgcj.spec \
 	$(lib_gnu_awt_xlib_la_LIBADD)
 ## We require libstdc++-v3 to be in the same build tree.
 lib_gnu_awt_xlib_la_CPPFLAGS = \
@@ -389,7 +384,7 @@ nat_headers = $(ordinary_header_files) $(inner_nat_headers) \
 	gnu/gcj/tools/gcj_dbtool/Main.h
 nat_headers_install = $(ordinary_header_files)
 
-xlib_nat_headers = $(patsubst %.java,%.h,$(xlib_java_source_files))
+xlib_nat_headers = $(gnu_awt_xlib_header_files) $(gnu_gcj_xlib_header_files)
 
 java/lang/ClassLoader.h: classpath/lib/java/lang/ClassLoader.class
 	$(GCJH) -classpath '' -bootclasspath classpath/lib \
@@ -818,42 +813,6 @@ java/util/logging/natLogger.cc \
 java/util/zip/natDeflater.cc \
 java/util/zip/natInflater.cc
 
-xlib_java_source_files = \
-gnu/gcj/xlib/Clip.java \
-gnu/gcj/xlib/Colormap.java \
-gnu/gcj/xlib/Display.java \
-gnu/gcj/xlib/Drawable.java \
-gnu/gcj/xlib/Font.java \
-gnu/gcj/xlib/GC.java \
-gnu/gcj/xlib/Pixmap.java \
-gnu/gcj/xlib/Screen.java \
-gnu/gcj/xlib/Visual.java \
-gnu/gcj/xlib/WMSizeHints.java \
-gnu/gcj/xlib/Window.java \
-gnu/gcj/xlib/WindowAttributes.java \
-gnu/gcj/xlib/XAnyEvent.java \
-gnu/gcj/xlib/XButtonEvent.java \
-gnu/gcj/xlib/XColor.java \
-gnu/gcj/xlib/XConfigureEvent.java \
-gnu/gcj/xlib/XConnectException.java \
-gnu/gcj/xlib/XEvent.java \
-gnu/gcj/xlib/XException.java \
-gnu/gcj/xlib/XExposeEvent.java \
-gnu/gcj/xlib/XID.java \
-gnu/gcj/xlib/XImage.java \
-gnu/gcj/xlib/XUnmapEvent.java \
-gnu/awt/xlib/XCanvasPeer.java \
-gnu/awt/xlib/XEventLoop.java \
-gnu/awt/xlib/XEventQueue.java \
-gnu/awt/xlib/XFontMetrics.java \
-gnu/awt/xlib/XFramePeer.java \
-gnu/awt/xlib/XGraphics.java \
-gnu/awt/xlib/XGraphicsConfiguration.java \
-gnu/awt/xlib/XOffScreenImage.java \
-gnu/awt/xlib/XPanelPeer.java \
-gnu/awt/xlib/XFontPeer.java \
-gnu/awt/xlib/XToolkit.java
-
 xlib_nat_source_files = \
 gnu/gcj/xlib/natClip.cc \
 gnu/gcj/xlib/natColormap.cc \
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index e3e5cf616231..ef20d79e0379 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -111,7 +111,6 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(bindir)" \
 	"$(DESTDIR)$(toolexecmainlibdir)"
 toolexeclibLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
-am__DEPENDENCIES_1 = gnu/gcj/xlib.lo gnu/awt/xlib.lo
 am__dirstamp = $(am__leading_dot)dirstamp
 am__objects_1 = gnu/gcj/xlib/lib_gnu_awt_xlib_la-natClip.lo \
 	gnu/gcj/xlib/lib_gnu_awt_xlib_la-natColormap.lo \
@@ -136,13 +135,13 @@ am__objects_1 = gnu/gcj/xlib/lib_gnu_awt_xlib_la-natClip.lo \
 am_lib_gnu_awt_xlib_la_OBJECTS = $(am__objects_1)
 lib_gnu_awt_xlib_la_OBJECTS = $(am_lib_gnu_awt_xlib_la_OBJECTS)
 @XLIB_AWT_TRUE@am_lib_gnu_awt_xlib_la_rpath = -rpath $(toolexeclibdir)
-am__DEPENDENCIES_2 =
+am__DEPENDENCIES_1 =
 am_lib_gnu_java_awt_peer_gtk_la_OBJECTS =
 lib_gnu_java_awt_peer_gtk_la_OBJECTS =  \
 	$(am_lib_gnu_java_awt_peer_gtk_la_OBJECTS)
 @GTK_AWT_TRUE@am_lib_gnu_java_awt_peer_gtk_la_rpath = -rpath \
 @GTK_AWT_TRUE@	$(toolexeclibdir)
-am__DEPENDENCIES_3 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
+am__DEPENDENCIES_2 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
 	gnu/classpath/debug.lo gnu/gcj.lo gnu/gcj/convert.lo \
 	gnu/gcj/io.lo gnu/gcj/runtime.lo gnu/gcj/util.lo \
 	gnu/java/awt.lo gnu/java/awt/color.lo gnu/java/awt/image.lo \
@@ -199,9 +198,9 @@ am__DEPENDENCIES_3 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
 	javax/swing/text/rtf.lo javax/swing/tree.lo \
 	javax/swing/undo.lo javax/transaction.lo \
 	javax/transaction/xa.lo org/ietf/jgss.lo
-am__DEPENDENCIES_4 = gnu-java-beans.lo gnu-xml.lo javax-imageio.lo \
+am__DEPENDENCIES_3 = gnu-java-beans.lo gnu-xml.lo javax-imageio.lo \
 	javax-xml.lo org-w3c.lo org-xml.lo
-am__DEPENDENCIES_5 = $(patsubst \
+am__DEPENDENCIES_4 = $(patsubst \
 	classpath/resource/%,%,$(property_files:.properties=.properties.lo))
 am__libgcj_la_SOURCES_DIST = prims.cc jni.cc exception.cc \
 	stacktrace.cc link.cc defineclass.cc interpret.cc verify.cc \
@@ -685,12 +684,6 @@ AM_CPPFLAGS = -I$(top_srcdir) \
 	$(GCC_UNWIND_INCLUDE) $(ZINCS) $(LIBFFIINCS)
 
 BOOTCLASSPATH = $(here)/classpath/lib
-
-# In the future these may be defined manually, if we decide to split libgcj.so
-# into multiple shared libraries.  For now, everything but xlib goes into
-# all_libgcj_lo_files
-all_xlib_lo_files = gnu/gcj/xlib.lo gnu/awt/xlib.lo
-all_libgcj_lo_files = $(filter-out $(all_xlib_lo_files), $(all_java_lo_files))
 all_property_files = $(property_files) \
     java/util/logging/logging.properties
 
@@ -752,8 +745,9 @@ libgcjawt_la_LDFLAGS = \
 
 libgcjawt_la_LINK = $(LIBLINK)
 lib_gnu_awt_xlib_la_SOURCES = $(xlib_nat_source_files)
-lib_gnu_awt_xlib_la_LIBADD = $(all_xlib_lo_files)
-lib_gnu_awt_xlib_la_DEPENDENCIES = libgcj-$(gcc_version).jar libgcj.la libgcj.spec \
+lib_gnu_awt_xlib_la_LIBADD = gnu/awt/xlib.lo gnu/gcj/xlib.lo
+lib_gnu_awt_xlib_la_DEPENDENCIES = libgcj-$(gcc_version).jar \
+	libgcj.la libgcj.spec \
 	$(lib_gnu_awt_xlib_la_LIBADD)
 
 lib_gnu_awt_xlib_la_CPPFLAGS = \
@@ -794,6 +788,20 @@ gnu/awt/j2d/IntegerGraphicsState.java \
 gnu/awt/j2d/MappedRaster.java
 
 gnu_awt_j2d_header_files = $(patsubst %.java,%.h,$(gnu_awt_j2d_source_files))
+gnu_awt_xlib_source_files = \
+gnu/awt/xlib/XCanvasPeer.java \
+gnu/awt/xlib/XEventLoop.java \
+gnu/awt/xlib/XEventQueue.java \
+gnu/awt/xlib/XFontMetrics.java \
+gnu/awt/xlib/XFontPeer.java \
+gnu/awt/xlib/XFramePeer.java \
+gnu/awt/xlib/XGraphics.java \
+gnu/awt/xlib/XGraphicsConfiguration.java \
+gnu/awt/xlib/XOffScreenImage.java \
+gnu/awt/xlib/XPanelPeer.java \
+gnu/awt/xlib/XToolkit.java
+
+gnu_awt_xlib_header_files = $(patsubst %.java,%.h,$(gnu_awt_xlib_source_files))
 gnu_classpath_source_files = \
 classpath/gnu/classpath/Configuration.java \
 classpath/gnu/classpath/RawData.java \
@@ -865,6 +873,32 @@ gnu_gcj_util_source_files = \
 gnu/gcj/util/Debug.java
 
 gnu_gcj_util_header_files = $(patsubst %.java,%.h,$(gnu_gcj_util_source_files))
+gnu_gcj_xlib_source_files = \
+gnu/gcj/xlib/Clip.java \
+gnu/gcj/xlib/Colormap.java \
+gnu/gcj/xlib/Display.java \
+gnu/gcj/xlib/Drawable.java \
+gnu/gcj/xlib/Font.java \
+gnu/gcj/xlib/GC.java \
+gnu/gcj/xlib/Pixmap.java \
+gnu/gcj/xlib/Screen.java \
+gnu/gcj/xlib/Visual.java \
+gnu/gcj/xlib/WMSizeHints.java \
+gnu/gcj/xlib/Window.java \
+gnu/gcj/xlib/WindowAttributes.java \
+gnu/gcj/xlib/XAnyEvent.java \
+gnu/gcj/xlib/XButtonEvent.java \
+gnu/gcj/xlib/XColor.java \
+gnu/gcj/xlib/XConfigureEvent.java \
+gnu/gcj/xlib/XConnectException.java \
+gnu/gcj/xlib/XEvent.java \
+gnu/gcj/xlib/XException.java \
+gnu/gcj/xlib/XExposeEvent.java \
+gnu/gcj/xlib/XID.java \
+gnu/gcj/xlib/XImage.java \
+gnu/gcj/xlib/XUnmapEvent.java
+
+gnu_gcj_xlib_header_files = $(patsubst %.java,%.h,$(gnu_gcj_xlib_source_files))
 gnu_java_awt_source_files = \
 classpath/gnu/java/awt/AWTUtilities.java \
 classpath/gnu/java/awt/BitMaskExtent.java \
@@ -4592,7 +4626,7 @@ nat_headers = $(ordinary_header_files) $(inner_nat_headers) \
 	gnu/gcj/tools/gcj_dbtool/Main.h
 
 nat_headers_install = $(ordinary_header_files)
-xlib_nat_headers = $(patsubst %.java,%.h,$(xlib_java_source_files))
+xlib_nat_headers = $(gnu_awt_xlib_header_files) $(gnu_gcj_xlib_header_files)
 extra_headers = java/lang/Object.h java/lang/Class.h
 NM = nm
 @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@gen_from_JIS_SOURCES = \
@@ -4702,42 +4736,6 @@ java/util/logging/natLogger.cc \
 java/util/zip/natDeflater.cc \
 java/util/zip/natInflater.cc
 
-xlib_java_source_files = \
-gnu/gcj/xlib/Clip.java \
-gnu/gcj/xlib/Colormap.java \
-gnu/gcj/xlib/Display.java \
-gnu/gcj/xlib/Drawable.java \
-gnu/gcj/xlib/Font.java \
-gnu/gcj/xlib/GC.java \
-gnu/gcj/xlib/Pixmap.java \
-gnu/gcj/xlib/Screen.java \
-gnu/gcj/xlib/Visual.java \
-gnu/gcj/xlib/WMSizeHints.java \
-gnu/gcj/xlib/Window.java \
-gnu/gcj/xlib/WindowAttributes.java \
-gnu/gcj/xlib/XAnyEvent.java \
-gnu/gcj/xlib/XButtonEvent.java \
-gnu/gcj/xlib/XColor.java \
-gnu/gcj/xlib/XConfigureEvent.java \
-gnu/gcj/xlib/XConnectException.java \
-gnu/gcj/xlib/XEvent.java \
-gnu/gcj/xlib/XException.java \
-gnu/gcj/xlib/XExposeEvent.java \
-gnu/gcj/xlib/XID.java \
-gnu/gcj/xlib/XImage.java \
-gnu/gcj/xlib/XUnmapEvent.java \
-gnu/awt/xlib/XCanvasPeer.java \
-gnu/awt/xlib/XEventLoop.java \
-gnu/awt/xlib/XEventQueue.java \
-gnu/awt/xlib/XFontMetrics.java \
-gnu/awt/xlib/XFramePeer.java \
-gnu/awt/xlib/XGraphics.java \
-gnu/awt/xlib/XGraphicsConfiguration.java \
-gnu/awt/xlib/XOffScreenImage.java \
-gnu/awt/xlib/XPanelPeer.java \
-gnu/awt/xlib/XFontPeer.java \
-gnu/awt/xlib/XToolkit.java
-
 xlib_nat_source_files = \
 gnu/gcj/xlib/natClip.cc \
 gnu/gcj/xlib/natColormap.cc \
@@ -6415,6 +6413,16 @@ gnu/awt/j2d.list: $(gnu_awt_j2d_source_files)
 
 -include gnu/awt/j2d.deps
 
+gnu/awt/xlib.list: $(gnu_awt_xlib_source_files)
+	@$(mkinstalldirs) $(dir $@)
+	@for file in $(gnu_awt_xlib_source_files); do \
+	  if test -f $(srcdir)/$$file; then \
+	    echo $(srcdir)/$$file; \
+	  else echo $$file; fi; \
+	done > gnu/awt/xlib.list
+
+-include gnu/awt/xlib.deps
+
 gnu/classpath.list: $(gnu_classpath_source_files)
 	@$(mkinstalldirs) $(dir $@)
 	@for file in $(gnu_classpath_source_files); do \
@@ -6485,6 +6493,16 @@ gnu/gcj/util.list: $(gnu_gcj_util_source_files)
 
 -include gnu/gcj/util.deps
 
+gnu/gcj/xlib.list: $(gnu_gcj_xlib_source_files)
+	@$(mkinstalldirs) $(dir $@)
+	@for file in $(gnu_gcj_xlib_source_files); do \
+	  if test -f $(srcdir)/$$file; then \
+	    echo $(srcdir)/$$file; \
+	  else echo $$file; fi; \
+	done > gnu/gcj/xlib.list
+
+-include gnu/gcj/xlib.deps
+
 gnu/java/awt.list: $(gnu_java_awt_source_files)
 	@$(mkinstalldirs) $(dir $@)
 	@for file in $(gnu_java_awt_source_files); do \
diff --git a/libjava/configure b/libjava/configure
index cf047b143a04..047dcff4489d 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -4052,12 +4052,10 @@ for peer in $peerlibs ; do
         echo "*** xlib peers requested but no X library available" 1>&2
         exit 1
       else
-        # This code has bit-rotted a bit.
-	echo "*** xlib peers can't currently be compiled -- disabling" 1>&2
-#        use_xlib_awt="yes"
-#	if test -z "$TOOLKIT"; then
-#	   TOOLKIT=gnu.awt.xlib.XToolkit
-#	fi
+        use_xlib_awt="yes"
+	if test -z "$TOOLKIT"; then
+	   TOOLKIT=gnu.awt.xlib.XToolkit
+	fi
       fi
       ;;
     gtk)
@@ -4103,6 +4101,15 @@ else
 fi
 
 
+# Create standard.omit based on decisions we just made.
+cp $srcdir/standard.omit.in standard.omit
+if test "$use_xlib_awt" != yes; then
+   echo gnu/awt/xlib >> standard.omit
+   echo gnu/gcj/xlib >> standard.omit
+fi
+if test "$use_gtk_awt" != yes; then
+   echo gnu/java/awt/peer/gtk >> standard.omit
+fi
 
 if test -z "${with_multisubdir}"; then
    builddotdot=.
@@ -5011,7 +5018,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 5014 "configure"' > conftest.$ac_ext
+  echo '#line 5021 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -6014,7 +6021,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then
   :
 else
   cat > conftest.$ac_ext << EOF
-#line 6017 "configure"
+#line 6024 "configure"
 struct S { ~S(); };
 void bar();
 void foo()
diff --git a/libjava/configure.ac b/libjava/configure.ac
index ff45f6eebf00..2f9f50840a03 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -175,12 +175,10 @@ for peer in $peerlibs ; do
         echo "*** xlib peers requested but no X library available" 1>&2
         exit 1
       else
-        # This code has bit-rotted a bit.
-	echo "*** xlib peers can't currently be compiled -- disabling" 1>&2
-#        use_xlib_awt="yes"
-#	if test -z "$TOOLKIT"; then
-#	   TOOLKIT=gnu.awt.xlib.XToolkit
-#	fi
+        use_xlib_awt="yes"
+	if test -z "$TOOLKIT"; then
+	   TOOLKIT=gnu.awt.xlib.XToolkit
+	fi
       fi
       ;;
     gtk)
@@ -208,6 +206,15 @@ done
 AM_CONDITIONAL(XLIB_AWT, test "$use_xlib_awt" = yes)
 AM_CONDITIONAL(GTK_AWT, test "$use_gtk_awt" = yes)
 
+# Create standard.omit based on decisions we just made.
+cp $srcdir/standard.omit.in standard.omit
+if test "$use_xlib_awt" != yes; then
+   echo gnu/awt/xlib >> standard.omit
+   echo gnu/gcj/xlib >> standard.omit
+fi
+if test "$use_gtk_awt" != yes; then
+   echo gnu/java/awt/peer/gtk >> standard.omit
+fi
 
 if test -z "${with_multisubdir}"; then
    builddotdot=.
diff --git a/libjava/gnu/awt/xlib/XToolkit.java b/libjava/gnu/awt/xlib/XToolkit.java
index 87acec3e3496..27e273aa7787 100644
--- a/libjava/gnu/awt/xlib/XToolkit.java
+++ b/libjava/gnu/awt/xlib/XToolkit.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002, 2003  Free Software Foundation
+/* Copyright (C) 2000, 2002, 2003, 2005  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -26,8 +26,10 @@ import gnu.gcj.xlib.Display;
 import gnu.gcj.xlib.Screen;
 import gnu.gcj.xlib.Visual;
 import gnu.java.awt.ClasspathToolkit;
+import gnu.java.awt.EmbeddedWindow;
 import gnu.java.awt.peer.ClasspathFontPeer;
 import gnu.java.awt.peer.ClasspathTextLayoutPeer;
+import gnu.java.awt.peer.EmbeddedWindowPeer;
 
 public class XToolkit extends ClasspathToolkit
 {
@@ -444,6 +446,11 @@ public class XToolkit extends ClasspathToolkit
     throw new java.lang.UnsupportedOperationException ();
   }
 
+  public EmbeddedWindowPeer createEmbeddedWindow (EmbeddedWindow w)
+  {
+    throw new java.lang.UnsupportedOperationException ();
+  }
+
   public boolean nativeQueueEmpty() 
   {
     // Tell EventQueue the native queue is empty, because XEventLoop
diff --git a/libjava/scripts/makemake.tcl b/libjava/scripts/makemake.tcl
index 9a1ba6cbc707..e12690a8e714 100755
--- a/libjava/scripts/makemake.tcl
+++ b/libjava/scripts/makemake.tcl
@@ -56,8 +56,8 @@ set package_map(java/lang/Object.java) ignore
 
 # More special cases.  These end up in their own library.
 # Note that if we BC-compile AWT we must update these as well.
-set package_map(gnu/gcj/xlib) ignore
-set package_map(gnu/awt/xlib) ignore
+set package_map(gnu/gcj/xlib) package
+set package_map(gnu/awt/xlib) package
 
 # Some BC ABI packages have classes which must not be compiled BC.
 # This maps such packages to a grep expression for excluding such
@@ -253,7 +253,9 @@ proc emit_package_rule {package} {
   puts ""
   puts ""
 
-  lappend package_files $lname
+  if {$pkgname != "gnu/gcj/xlib" && $pkgname != "gnu/awt/xlib"} {
+    lappend package_files $lname
+  }
 }
 
 # Emit a source file variable for a package, and corresponding header
@@ -301,8 +303,10 @@ proc emit_source_var {package} {
     }
 
     puts "${uname}_header_files = $result"
-    lappend header_vars "${uname}_header_files"
     puts ""
+    if {$pkgname != "gnu/gcj/xlib" && $pkgname != "gnu/awt/xlib"} {
+      lappend header_vars "${uname}_header_files"
+    }
   }
 }
 
@@ -318,7 +322,7 @@ proc pp_var {name valueList {pre ""} {post ""}} {
 }
 
 # Read the proper .omit files.
-read_omit_file standard.omit
+read_omit_file standard.omit.in
 read_omit_file classpath/lib/standard.omit
 
 # Scan classpath first.
diff --git a/libjava/sources.am b/libjava/sources.am
index 0278aa29f4ee..6858f6c968c3 100644
--- a/libjava/sources.am
+++ b/libjava/sources.am
@@ -37,6 +37,32 @@ gnu/awt/j2d.list: $(gnu_awt_j2d_source_files)
 -include gnu/awt/j2d.deps
 
 
+gnu_awt_xlib_source_files = \
+gnu/awt/xlib/XCanvasPeer.java \
+gnu/awt/xlib/XEventLoop.java \
+gnu/awt/xlib/XEventQueue.java \
+gnu/awt/xlib/XFontMetrics.java \
+gnu/awt/xlib/XFontPeer.java \
+gnu/awt/xlib/XFramePeer.java \
+gnu/awt/xlib/XGraphics.java \
+gnu/awt/xlib/XGraphicsConfiguration.java \
+gnu/awt/xlib/XOffScreenImage.java \
+gnu/awt/xlib/XPanelPeer.java \
+gnu/awt/xlib/XToolkit.java
+
+gnu_awt_xlib_header_files = $(patsubst %.java,%.h,$(gnu_awt_xlib_source_files))
+
+gnu/awt/xlib.list: $(gnu_awt_xlib_source_files)
+	@$(mkinstalldirs) $(dir $@)
+	@for file in $(gnu_awt_xlib_source_files); do \
+	  if test -f $(srcdir)/$$file; then \
+	    echo $(srcdir)/$$file; \
+	  else echo $$file; fi; \
+	done > gnu/awt/xlib.list
+
+-include gnu/awt/xlib.deps
+
+
 gnu_classpath_source_files = \
 classpath/gnu/classpath/Configuration.java \
 classpath/gnu/classpath/RawData.java \
@@ -192,6 +218,44 @@ gnu/gcj/util.list: $(gnu_gcj_util_source_files)
 -include gnu/gcj/util.deps
 
 
+gnu_gcj_xlib_source_files = \
+gnu/gcj/xlib/Clip.java \
+gnu/gcj/xlib/Colormap.java \
+gnu/gcj/xlib/Display.java \
+gnu/gcj/xlib/Drawable.java \
+gnu/gcj/xlib/Font.java \
+gnu/gcj/xlib/GC.java \
+gnu/gcj/xlib/Pixmap.java \
+gnu/gcj/xlib/Screen.java \
+gnu/gcj/xlib/Visual.java \
+gnu/gcj/xlib/WMSizeHints.java \
+gnu/gcj/xlib/Window.java \
+gnu/gcj/xlib/WindowAttributes.java \
+gnu/gcj/xlib/XAnyEvent.java \
+gnu/gcj/xlib/XButtonEvent.java \
+gnu/gcj/xlib/XColor.java \
+gnu/gcj/xlib/XConfigureEvent.java \
+gnu/gcj/xlib/XConnectException.java \
+gnu/gcj/xlib/XEvent.java \
+gnu/gcj/xlib/XException.java \
+gnu/gcj/xlib/XExposeEvent.java \
+gnu/gcj/xlib/XID.java \
+gnu/gcj/xlib/XImage.java \
+gnu/gcj/xlib/XUnmapEvent.java
+
+gnu_gcj_xlib_header_files = $(patsubst %.java,%.h,$(gnu_gcj_xlib_source_files))
+
+gnu/gcj/xlib.list: $(gnu_gcj_xlib_source_files)
+	@$(mkinstalldirs) $(dir $@)
+	@for file in $(gnu_gcj_xlib_source_files); do \
+	  if test -f $(srcdir)/$$file; then \
+	    echo $(srcdir)/$$file; \
+	  else echo $$file; fi; \
+	done > gnu/gcj/xlib.list
+
+-include gnu/gcj/xlib.deps
+
+
 gnu_java_awt_source_files = \
 classpath/gnu/java/awt/AWTUtilities.java \
 classpath/gnu/java/awt/BitMaskExtent.java \
diff --git a/libjava/standard.omit b/libjava/standard.omit.in
similarity index 95%
rename from libjava/standard.omit
rename to libjava/standard.omit.in
index 738f39bc5930..0c8607c52265 100644
--- a/libjava/standard.omit
+++ b/libjava/standard.omit.in
@@ -17,5 +17,3 @@ java/util/zip/InflaterHuffmanTree.java
 java/util/zip/OutputWindow.java
 java/util/zip/PendingBuffer.java
 java/util/zip/StreamManipulator.java
-gnu/awt/xlib
-gnu/gcj/xlib
-- 
GitLab