From 924316ac30afc74b310c77271e47e43545a28e66 Mon Sep 17 00:00:00 2001 From: tromey Date: Thu, 24 Mar 2005 00:04:22 +0000 Subject: [PATCH] * Makefile.in: Rebuilt. * Makefile.am (AM_CXXFLAGS): Define TOOLEXECLIBDIR. (libgcj0_convenience_la_SOURCES): Don't include gnu_xml_source_files. (libgcj0_convenience_la_LIBADD): New variable. (libgcj_la_LIBADD): Don't include sax or w3c_dom. (all_java_source_files): javax_imageio_source_files, javax_xml_source_files, and gnu_java_beans_source_files. ($(gnu_xml_source_files:.java=.lo)): Removed target. (gnu-xml.lo): New target. (javax-imageio.lo): Likewise. (javax-xml.lo): Likewise. (gnu-java-beans.lo): Likewise. (gnu_java_beans_source_files): New variable. (javax_imageio_source_files): Likewise. (javax_xml_source_files): Likewise. (javax_source_files): Moved files to other variable. (awt_java_source_files): Likewise. (ordinary_java_source_files): Added BootClassLoader.java. * java/lang/natVMClassLoader.cc (defineClass): Use boot loader, not system class loader. (initBootLoader): New method. (loadClass): Search bootLoader. * java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader): Use boot loader, not system class loader. (_Jv_UnregisterInitiatingLoader): Likewise. (_Jv_FindClass): Likewise. Ensure entries in bootstrap_class_list are unique. * java/lang/natClass.cc (getClassLoader): Don't special case system class loader. * java/lang/VMClassLoader.java (bootLoader): New field. (getResource): Use bootLoader. (getResources): Likewise. (initBootLoader): Declare. * gnu/gcj/runtime/BootClassLoader.java: New file. * external/sax/org/xml/sax/helpers/NamespaceSupport.java (EMPTY_ENUMERATION): Now package-private. * external/w3c_com/Makefile.in: Rebuilt. * external/w3c_com/Makefile.am (MULTIBUILDTOP): New variable. (w3c.jar): New target. (classes.stamp): Updated. (toolexeclib_LTLIBRARIES): Renamed from noinst_LTLIBRARIES. Changed name of library. (libw3c_gcj_la_SOURCES): New variable. (libw3c_gcj_la_GCJFLAGS): Likewise. (source_files): Renamed from lib3c_convenience_la_SOURCES. * external/sax/Makefile.in: Rebuilt. * external/sax/Makefile.am (MULTIBUILDTOP): New variable. (sax.jar): New target. (classes.stamp): Updated. (toolexeclib_LTLIBRARIES): Renamed from noinst_LTLIBRARIES. Changed name of library. (libsax_gcj_la_SOURCES): New variable. (libsax_gcj_la_GCJFLAGS): Likewise. (source_files): Renamed from libsax_convenience_la_SOURCES. * stacktrace.cc (non_system_trace_fn): Don't look at system class loader. * prims.cc (_Jv_CreateJavaVM): Initialize the bootstrap class loader. (_Jv_RunMain): Handle case where 'runtime' is NULL at exit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96960 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 63 + libjava/Makefile.am | 255 +- libjava/Makefile.in | 2871 +----- libjava/aclocal.m4 | 460 +- libjava/external/Makefile.in | 24 +- libjava/external/sax/Makefile.am | 19 +- libjava/external/sax/Makefile.in | 360 +- .../sax/org/xml/sax/helpers/NamespaceSupport.java | 5 +- libjava/external/w3c_dom/Makefile.am | 19 +- libjava/external/w3c_dom/Makefile.in | 1138 +- libjava/gcj/Makefile.in | 4 +- libjava/gnu/gcj/runtime/BootClassLoader.java | 102 + libjava/gnu/xml/aelfred2/JAXPFactory.java | 273 +- libjava/gnu/xml/aelfred2/SAXDriver.java | 2456 +++-- libjava/gnu/xml/aelfred2/XmlParser.java | 10268 ++++++++++--------- libjava/gnu/xml/aelfred2/XmlReader.java | 515 +- libjava/include/Makefile.in | 4 +- libjava/java/lang/VMClassLoader.java | 12 + libjava/java/lang/natClass.cc | 20 +- libjava/java/lang/natClassLoader.cc | 36 +- libjava/java/lang/natVMClassLoader.cc | 25 +- libjava/prims.cc | 9 +- libjava/stacktrace.cc | 2 +- libjava/testsuite/Makefile.in | 4 +- 24 files changed, 8373 insertions(+), 10571 deletions(-) create mode 100644 libjava/gnu/gcj/runtime/BootClassLoader.java diff --git a/libjava/ChangeLog b/libjava/ChangeLog index dc311113164..b2d500214f1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,66 @@ +2005-03-23 Tom Tromey + + * Makefile.in: Rebuilt. + * Makefile.am (AM_CXXFLAGS): Define TOOLEXECLIBDIR. + (libgcj0_convenience_la_SOURCES): Don't include + gnu_xml_source_files. + (libgcj0_convenience_la_LIBADD): New variable. + (libgcj_la_LIBADD): Don't include sax or w3c_dom. + (all_java_source_files): javax_imageio_source_files, + javax_xml_source_files, and gnu_java_beans_source_files. + ($(gnu_xml_source_files:.java=.lo)): Removed target. + (gnu-xml.lo): New target. + (javax-imageio.lo): Likewise. + (javax-xml.lo): Likewise. + (gnu-java-beans.lo): Likewise. + (gnu_java_beans_source_files): New variable. + (javax_imageio_source_files): Likewise. + (javax_xml_source_files): Likewise. + (javax_source_files): Moved files to other variable. + (awt_java_source_files): Likewise. + (ordinary_java_source_files): Added BootClassLoader.java. + * java/lang/natVMClassLoader.cc (defineClass): Use boot loader, + not system class loader. + (initBootLoader): New method. + (loadClass): Search bootLoader. + * java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader): Use + boot loader, not system class loader. + (_Jv_UnregisterInitiatingLoader): Likewise. + (_Jv_FindClass): Likewise. Ensure entries in + bootstrap_class_list are unique. + * java/lang/natClass.cc (getClassLoader): Don't special case + system class loader. + * java/lang/VMClassLoader.java (bootLoader): New field. + (getResource): Use bootLoader. + (getResources): Likewise. + (initBootLoader): Declare. + * gnu/gcj/runtime/BootClassLoader.java: New file. + * external/sax/org/xml/sax/helpers/NamespaceSupport.java + (EMPTY_ENUMERATION): Now package-private. + * external/w3c_com/Makefile.in: Rebuilt. + * external/w3c_com/Makefile.am (MULTIBUILDTOP): New variable. + (w3c.jar): New target. + (classes.stamp): Updated. + (toolexeclib_LTLIBRARIES): Renamed from noinst_LTLIBRARIES. + Changed name of library. + (libw3c_gcj_la_SOURCES): New variable. + (libw3c_gcj_la_GCJFLAGS): Likewise. + (source_files): Renamed from lib3c_convenience_la_SOURCES. + * external/sax/Makefile.in: Rebuilt. + * external/sax/Makefile.am (MULTIBUILDTOP): New variable. + (sax.jar): New target. + (classes.stamp): Updated. + (toolexeclib_LTLIBRARIES): Renamed from noinst_LTLIBRARIES. + Changed name of library. + (libsax_gcj_la_SOURCES): New variable. + (libsax_gcj_la_GCJFLAGS): Likewise. + (source_files): Renamed from libsax_convenience_la_SOURCES. + * stacktrace.cc (non_system_trace_fn): Don't look at system class + loader. + * prims.cc (_Jv_CreateJavaVM): Initialize the bootstrap class + loader. + (_Jv_RunMain): Handle case where 'runtime' is NULL at exit. + 2005-03-23 Sven de Marothy PR libgcj/2641, PR libgcj/9854, PR libgcj/14892, PR libgcj/18083, diff --git a/libjava/Makefile.am b/libjava/Makefile.am index a9141a0f038..5ca18446539 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -184,7 +184,8 @@ AM_CXXFLAGS = \ -DLIBDIR="\"$(libdir)\"" \ -DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\"" \ -DJAVA_EXT_DIRS="\"$(jardir)/ext\"" \ - -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" + -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \ + -DTOOLEXECLIBDIR="\"$(toolexeclibdir)\"" AM_GCJFLAGS = \ @LIBGCJ_JAVAFLAGS@ \ @@ -233,12 +234,16 @@ libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \ libgcj0_convenience_la_SOURCES = prims.cc jni.cc exception.cc stacktrace.cc \ link.cc defineclass.cc interpret.cc verify.cc \ $(nat_source_files) $(math_c_source_files) $(java_source_files) \ - $(gnu_xml_source_files) $(built_java_source_files) \ + $(built_java_source_files) \ $(BOEHMGC_SRC) $(NOGC_SRC) \ $(BACKTRACE_SRC) \ $(POSIX_PLATFORM_SRC) $(WIN32_PLATFORM_SRC) $(ECOS_PLATFORM_SRC) \ $(DARWIN_CRT_SRC) \ $(POSIX_THREAD_SRC) $(WIN32_THREAD_SRC) $(NO_THREAD_SRC) +libgcj0_convenience_la_LIBADD = \ + gnu-xml.lo javax-imageio.lo \ + javax-xml.lo gnu-java-beans.lo + noinst_LTLIBRARIES = libgcj0_convenience.la libgcj_la_SOURCES = @@ -254,8 +259,6 @@ libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \ $(LIBLTDL) $(SYS_ZLIBS) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` libgcj_la_LIBADD = \ - external/sax/libsax_convenience.la \ - external/w3c_dom/libw3c_convenience.la \ libgcj0_convenience.la \ $(LIBFFI) $(ZLIBS) $(GCLIBS) $(propertyo_files) libgcj_la_DEPENDENCIES = libgcj-$(gcc_version).jar \ @@ -515,7 +518,10 @@ all_java_source_files = \ $(built_java_source_files) \ $(gtk_awt_peer_sources) \ $(xlib_java_source_files) \ - $(gnu_xml_source_files) + $(gnu_xml_source_files) \ + $(javax_imageio_source_files) \ + $(javax_xml_source_files) \ + $(gnu_java_beans_source_files) all_java_class_files = $(all_java_source_files:.java=.class) @@ -610,7 +616,7 @@ SUFFIXES = .class .java .h .properties $(javao_files) $(xlib_javao_files): %.lo: %.java $(LTGCJCOMPILE) -o $@ -c $< -$(gtk_awt_peer_sources:.java=.lo) $(gnu_xml_source_files:.java=.lo): %.lo: %.java +$(gtk_awt_peer_sources:.java=.lo): %.lo: %.java $(LTGCJCOMPILE) -fjni -o $@ -c $< ## Pass the list of object files to libtool in a temporary file to @@ -631,6 +637,58 @@ lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPEND ## ################################################################ ## +## Some packages must be built with the binary compatibility ABI. We +## compile each such package into a .so, broken down more or less by +## conceptual unit. +## + +## Depend on the sources, even though we are going to compile the +## classes. +gnu-xml.lo: $(gnu_xml_source_files) +## FIXME: this is ugly. We want to make sure the .class files have +## been built, but we don't want a real dependency on them as this +## would cause our target to be rebuilt whenever any .java file is +## touched. + $(MAKE) classes.stamp + $(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o gnu-xml.lo \ + `find gnu/xml -name '*.class' -print` + +## Depend on the sources, even though we are going to compile the +## classes. +javax-imageio.lo: $(javax_imageio_source_files) +## FIXME: this is ugly. We want to make sure the .class files have +## been built, but we don't want a real dependency on them as this +## would cause our target to be rebuilt whenever any .java file is +## touched. + $(MAKE) classes.stamp + $(LTGCJCOMPILE) -findirect-dispatch -c -o javax-imageio.lo \ + `find javax/imageio -name '*.class' -print` + +## Depend on the sources, even though we are going to compile the +## classes. +javax-xml.lo: $(javax_xml_source_files) +## FIXME: this is ugly. We want to make sure the .class files have +## been built, but we don't want a real dependency on them as this +## would cause our target to be rebuilt whenever any .java file is +## touched. + $(MAKE) classes.stamp + $(LTGCJCOMPILE) -findirect-dispatch -c -o javax-xml.lo \ + `find javax/xml -name '*.class' -print` + +## Depend on the sources, even though we are going to compile the +## classes. +gnu-java-beans.lo: $(gnu_java_beans_source_files) +## FIXME: this is ugly. We want to make sure the .class files have +## been built, but we don't want a real dependency on them as this +## would cause our target to be rebuilt whenever any .java file is +## touched. + $(MAKE) classes.stamp + $(LTGCJCOMPILE) -findirect-dispatch -c -o gnu-java-beans.lo \ + `find gnu/java/beans -name '*.class' -print` + +## ################################################################ + +## ## How to build header files. ## @@ -1054,40 +1112,7 @@ gnu/gcj/convert/UnicodeToBytes.java ## hand. special_java_source_files = java/lang/Class.java java/lang/Object.java -awt_java_source_files = \ -gnu/awt/LightweightRedirector.java \ -gnu/awt/j2d/AbstractGraphicsState.java \ -gnu/awt/j2d/DirectRasterGraphics.java \ -gnu/awt/j2d/Graphics2DImpl.java \ -gnu/awt/j2d/IntegerGraphicsState.java \ -gnu/awt/j2d/MappedRaster.java \ -gnu/java/awt/BitMaskExtent.java \ -gnu/java/awt/Buffers.java \ -gnu/java/awt/BitwiseXORComposite.java \ -gnu/java/awt/ComponentDataBlitOp.java \ -gnu/java/awt/ClasspathToolkit.java \ -gnu/java/awt/EmbeddedWindow.java \ -gnu/java/awt/EmbeddedWindowSupport.java \ -gnu/java/awt/EventModifier.java \ -gnu/java/awt/color/CieXyzConverter.java \ -gnu/java/awt/color/ClutProfileConverter.java \ -gnu/java/awt/color/ColorLookUpTable.java \ -gnu/java/awt/color/ColorSpaceConverter.java \ -gnu/java/awt/color/GrayProfileConverter.java \ -gnu/java/awt/color/GrayScaleConverter.java \ -gnu/java/awt/color/LinearRGBConverter.java \ -gnu/java/awt/color/ProfileHeader.java \ -gnu/java/awt/color/PyccConverter.java \ -gnu/java/awt/color/RgbProfileConverter.java \ -gnu/java/awt/color/SrgbConverter.java \ -gnu/java/awt/color/TagEntry.java \ -gnu/java/awt/color/ToneReproductionCurve.java \ -gnu/java/awt/image/ImageDecoder.java \ -gnu/java/awt/image/XBMDecoder.java \ -gnu/java/awt/peer/EmbeddedWindowPeer.java \ -gnu/java/awt/peer/GLightweightPeer.java \ -gnu/java/awt/peer/ClasspathFontPeer.java \ -gnu/java/awt/peer/ClasspathTextLayoutPeer.java \ +gnu_java_beans_source_files = \ gnu/java/beans/decoder/AbstractContext.java \ gnu/java/beans/decoder/AbstractCreatableObjectContext.java \ gnu/java/beans/decoder/AbstractElementHandler.java \ @@ -1139,7 +1164,42 @@ gnu/java/beans/BeanInfoEmbryo.java \ gnu/java/beans/DummyAppletContext.java \ gnu/java/beans/DummyAppletStub.java \ gnu/java/beans/ExplicitBeanInfo.java \ -gnu/java/beans/IntrospectionIncubator.java \ +gnu/java/beans/IntrospectionIncubator.java + +awt_java_source_files = \ +gnu/awt/LightweightRedirector.java \ +gnu/awt/j2d/AbstractGraphicsState.java \ +gnu/awt/j2d/DirectRasterGraphics.java \ +gnu/awt/j2d/Graphics2DImpl.java \ +gnu/awt/j2d/IntegerGraphicsState.java \ +gnu/awt/j2d/MappedRaster.java \ +gnu/java/awt/BitMaskExtent.java \ +gnu/java/awt/Buffers.java \ +gnu/java/awt/BitwiseXORComposite.java \ +gnu/java/awt/ComponentDataBlitOp.java \ +gnu/java/awt/ClasspathToolkit.java \ +gnu/java/awt/EmbeddedWindow.java \ +gnu/java/awt/EmbeddedWindowSupport.java \ +gnu/java/awt/EventModifier.java \ +gnu/java/awt/color/CieXyzConverter.java \ +gnu/java/awt/color/ClutProfileConverter.java \ +gnu/java/awt/color/ColorLookUpTable.java \ +gnu/java/awt/color/ColorSpaceConverter.java \ +gnu/java/awt/color/GrayProfileConverter.java \ +gnu/java/awt/color/GrayScaleConverter.java \ +gnu/java/awt/color/LinearRGBConverter.java \ +gnu/java/awt/color/ProfileHeader.java \ +gnu/java/awt/color/PyccConverter.java \ +gnu/java/awt/color/RgbProfileConverter.java \ +gnu/java/awt/color/SrgbConverter.java \ +gnu/java/awt/color/TagEntry.java \ +gnu/java/awt/color/ToneReproductionCurve.java \ +gnu/java/awt/image/ImageDecoder.java \ +gnu/java/awt/image/XBMDecoder.java \ +gnu/java/awt/peer/EmbeddedWindowPeer.java \ +gnu/java/awt/peer/GLightweightPeer.java \ +gnu/java/awt/peer/ClasspathFontPeer.java \ +gnu/java/awt/peer/ClasspathTextLayoutPeer.java \ java/applet/Applet.java \ java/applet/AppletStub.java \ java/applet/AppletContext.java \ @@ -1982,7 +2042,7 @@ gnu/java/rmi/server/UnicastRemoteStub.java \ gnu/java/rmi/server/UnicastServer.java \ gnu/java/rmi/server/UnicastServerRef.java -javax_source_files = \ +javax_imageio_source_files = \ javax/imageio/ImageWriteParam.java \ javax/imageio/ImageReader.java \ javax/imageio/ImageWriter.java \ @@ -2028,7 +2088,63 @@ javax/imageio/event/IIOWriteProgressListener.java \ javax/imageio/ImageTranscoder.java \ javax/imageio/ImageTypeSpecifier.java \ javax/imageio/ImageIO.java \ -javax/imageio/IIOImage.java \ +javax/imageio/IIOImage.java + +javax_xml_source_files = \ +javax/xml/xpath/XPathConstants.java \ +javax/xml/xpath/XPathFunction.java \ +javax/xml/xpath/XPathVariableResolver.java \ +javax/xml/xpath/XPathExpressionException.java \ +javax/xml/xpath/XPathFunctionResolver.java \ +javax/xml/xpath/XPath.java \ +javax/xml/xpath/XPathFactoryConfigurationException.java \ +javax/xml/xpath/XPathFactory.java \ +javax/xml/xpath/XPathException.java \ +javax/xml/xpath/XPathExpression.java \ +javax/xml/xpath/XPathFunctionException.java \ +javax/xml/validation/ValidatorHandler.java \ +javax/xml/validation/Validator.java \ +javax/xml/validation/TypeInfoProvider.java \ +javax/xml/validation/SchemaFactory.java \ +javax/xml/validation/Schema.java \ +javax/xml/parsers/SAXParserFactory.java \ +javax/xml/parsers/FactoryConfigurationError.java \ +javax/xml/parsers/SAXParser.java \ +javax/xml/parsers/DocumentBuilderFactory.java \ +javax/xml/parsers/ParserConfigurationException.java \ +javax/xml/parsers/DocumentBuilder.java \ +javax/xml/datatype/DatatypeFactory.java \ +javax/xml/datatype/XMLGregorianCalendar.java \ +javax/xml/datatype/Duration.java \ +javax/xml/datatype/DatatypeConfigurationException.java \ +javax/xml/datatype/DatatypeConstants.java \ +javax/xml/XMLConstants.java \ +javax/xml/namespace/NamespaceContext.java \ +javax/xml/namespace/QName.java \ +javax/xml/transform/TransformerException.java \ +javax/xml/transform/TransformerFactoryConfigurationError.java \ +javax/xml/transform/sax/SAXResult.java \ +javax/xml/transform/sax/TransformerHandler.java \ +javax/xml/transform/sax/SAXTransformerFactory.java \ +javax/xml/transform/sax/SAXSource.java \ +javax/xml/transform/sax/TemplatesHandler.java \ +javax/xml/transform/OutputKeys.java \ +javax/xml/transform/stream/StreamResult.java \ +javax/xml/transform/stream/StreamSource.java \ +javax/xml/transform/Source.java \ +javax/xml/transform/SourceLocator.java \ +javax/xml/transform/ErrorListener.java \ +javax/xml/transform/TransformerConfigurationException.java \ +javax/xml/transform/Templates.java \ +javax/xml/transform/Result.java \ +javax/xml/transform/URIResolver.java \ +javax/xml/transform/dom/DOMSource.java \ +javax/xml/transform/dom/DOMLocator.java \ +javax/xml/transform/dom/DOMResult.java \ +javax/xml/transform/Transformer.java \ +javax/xml/transform/TransformerFactory.java + +javax_source_files = \ javax/net/VanillaSocketFactory.java \ javax/net/ssl/TrustManagerFactorySpi.java \ javax/net/ssl/SSLKeyException.java \ @@ -2267,58 +2383,6 @@ javax/naming/NameClassPair.java \ javax/naming/RefAddr.java \ javax/naming/CompositeName.java \ javax/naming/Name.java \ -javax/xml/xpath/XPathConstants.java \ -javax/xml/xpath/XPathFunction.java \ -javax/xml/xpath/XPathVariableResolver.java \ -javax/xml/xpath/XPathExpressionException.java \ -javax/xml/xpath/XPathFunctionResolver.java \ -javax/xml/xpath/XPath.java \ -javax/xml/xpath/XPathFactoryConfigurationException.java \ -javax/xml/xpath/XPathFactory.java \ -javax/xml/xpath/XPathException.java \ -javax/xml/xpath/XPathExpression.java \ -javax/xml/xpath/XPathFunctionException.java \ -javax/xml/validation/ValidatorHandler.java \ -javax/xml/validation/Validator.java \ -javax/xml/validation/TypeInfoProvider.java \ -javax/xml/validation/SchemaFactory.java \ -javax/xml/validation/Schema.java \ -javax/xml/parsers/SAXParserFactory.java \ -javax/xml/parsers/FactoryConfigurationError.java \ -javax/xml/parsers/SAXParser.java \ -javax/xml/parsers/DocumentBuilderFactory.java \ -javax/xml/parsers/ParserConfigurationException.java \ -javax/xml/parsers/DocumentBuilder.java \ -javax/xml/datatype/DatatypeFactory.java \ -javax/xml/datatype/XMLGregorianCalendar.java \ -javax/xml/datatype/Duration.java \ -javax/xml/datatype/DatatypeConfigurationException.java \ -javax/xml/datatype/DatatypeConstants.java \ -javax/xml/XMLConstants.java \ -javax/xml/namespace/NamespaceContext.java \ -javax/xml/namespace/QName.java \ -javax/xml/transform/TransformerException.java \ -javax/xml/transform/TransformerFactoryConfigurationError.java \ -javax/xml/transform/sax/SAXResult.java \ -javax/xml/transform/sax/TransformerHandler.java \ -javax/xml/transform/sax/SAXTransformerFactory.java \ -javax/xml/transform/sax/SAXSource.java \ -javax/xml/transform/sax/TemplatesHandler.java \ -javax/xml/transform/OutputKeys.java \ -javax/xml/transform/stream/StreamResult.java \ -javax/xml/transform/stream/StreamSource.java \ -javax/xml/transform/Source.java \ -javax/xml/transform/SourceLocator.java \ -javax/xml/transform/ErrorListener.java \ -javax/xml/transform/TransformerConfigurationException.java \ -javax/xml/transform/Templates.java \ -javax/xml/transform/Result.java \ -javax/xml/transform/URIResolver.java \ -javax/xml/transform/dom/DOMSource.java \ -javax/xml/transform/dom/DOMLocator.java \ -javax/xml/transform/dom/DOMResult.java \ -javax/xml/transform/Transformer.java \ -javax/xml/transform/TransformerFactory.java \ javax/security/cert/CertificateNotYetValidException.java \ javax/security/cert/Certificate.java \ javax/security/cert/X509Certificate.java \ @@ -2919,6 +2983,7 @@ gnu/gcj/RawDataManaged.java \ gnu/gcj/io/DefaultMimeTypes.java \ gnu/gcj/io/MimeTypes.java \ gnu/gcj/io/SimpleSHSStream.java \ +gnu/gcj/runtime/BootClassLoader.java \ gnu/gcj/runtime/FileDeleter.java \ gnu/gcj/runtime/FinalizerThread.java \ gnu/gcj/runtime/JNIWeakRef.java \ diff --git a/libjava/Makefile.in b/libjava/Makefile.in index c98a225002a..79f4ee9d7fb 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -324,7 +324,8 @@ am__DEPENDENCIES_2 = gnu/regexp/MessagesBundle.properties.lo \ am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2) am_libgcj_la_OBJECTS = libgcj_la_OBJECTS = $(am_libgcj_la_OBJECTS) -libgcj0_convenience_la_LIBADD = +libgcj0_convenience_la_DEPENDENCIES = gnu-xml.lo javax-imageio.lo \ + javax-xml.lo gnu-java-beans.lo am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ stacktrace.cc link.cc defineclass.cc interpret.cc verify.cc \ gnu/gcj/natCore.cc gnu/gcj/convert/JIS0208_to_Unicode.cc \ @@ -546,6 +547,7 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ gnu/gcj/Core.java gnu/gcj/RawData.java \ gnu/gcj/RawDataManaged.java gnu/gcj/io/DefaultMimeTypes.java \ gnu/gcj/io/MimeTypes.java gnu/gcj/io/SimpleSHSStream.java \ + gnu/gcj/runtime/BootClassLoader.java \ gnu/gcj/runtime/FileDeleter.java \ gnu/gcj/runtime/FinalizerThread.java \ gnu/gcj/runtime/JNIWeakRef.java \ @@ -1306,58 +1308,6 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ gnu/java/awt/peer/GLightweightPeer.java \ gnu/java/awt/peer/ClasspathFontPeer.java \ gnu/java/awt/peer/ClasspathTextLayoutPeer.java \ - gnu/java/beans/decoder/AbstractContext.java \ - gnu/java/beans/decoder/AbstractCreatableObjectContext.java \ - gnu/java/beans/decoder/AbstractElementHandler.java \ - gnu/java/beans/decoder/AbstractObjectContext.java \ - gnu/java/beans/decoder/ArrayContext.java \ - gnu/java/beans/decoder/ArrayHandler.java \ - gnu/java/beans/decoder/AssemblyException.java \ - gnu/java/beans/decoder/BooleanHandler.java \ - gnu/java/beans/decoder/ByteHandler.java \ - gnu/java/beans/decoder/CharHandler.java \ - gnu/java/beans/decoder/ClassHandler.java \ - gnu/java/beans/decoder/ConstructorContext.java \ - gnu/java/beans/decoder/Context.java \ - gnu/java/beans/decoder/DecoderContext.java \ - gnu/java/beans/decoder/DefaultExceptionListener.java \ - gnu/java/beans/decoder/DoubleHandler.java \ - gnu/java/beans/decoder/DummyContext.java \ - gnu/java/beans/decoder/DummyHandler.java \ - gnu/java/beans/decoder/ElementHandler.java \ - gnu/java/beans/decoder/FloatHandler.java \ - gnu/java/beans/decoder/GrowableArrayContext.java \ - gnu/java/beans/decoder/IndexContext.java \ - gnu/java/beans/decoder/IntHandler.java \ - gnu/java/beans/decoder/JavaHandler.java \ - gnu/java/beans/decoder/LongHandler.java \ - gnu/java/beans/decoder/MethodContext.java \ - gnu/java/beans/decoder/MethodFinder.java \ - gnu/java/beans/decoder/NullHandler.java \ - gnu/java/beans/decoder/ObjectContext.java \ - gnu/java/beans/decoder/ObjectHandler.java \ - gnu/java/beans/decoder/PersistenceParser.java \ - gnu/java/beans/decoder/PropertyContext.java \ - gnu/java/beans/decoder/ShortHandler.java \ - gnu/java/beans/decoder/SimpleHandler.java \ - gnu/java/beans/decoder/StaticMethodContext.java \ - gnu/java/beans/decoder/StringHandler.java \ - gnu/java/beans/decoder/VoidHandler.java \ - gnu/java/beans/editors/ColorEditor.java \ - gnu/java/beans/editors/FontEditor.java \ - gnu/java/beans/editors/NativeBooleanEditor.java \ - gnu/java/beans/editors/NativeByteEditor.java \ - gnu/java/beans/editors/NativeDoubleEditor.java \ - gnu/java/beans/editors/NativeFloatEditor.java \ - gnu/java/beans/editors/NativeIntEditor.java \ - gnu/java/beans/editors/NativeLongEditor.java \ - gnu/java/beans/editors/NativeShortEditor.java \ - gnu/java/beans/editors/StringEditor.java \ - gnu/java/beans/BeanInfoEmbryo.java \ - gnu/java/beans/DummyAppletContext.java \ - gnu/java/beans/DummyAppletStub.java \ - gnu/java/beans/ExplicitBeanInfo.java \ - gnu/java/beans/IntrospectionIncubator.java \ java/applet/Applet.java java/applet/AppletStub.java \ java/applet/AppletContext.java java/applet/AudioClip.java \ java/awt/AWTError.java java/awt/AWTEvent.java \ @@ -1989,49 +1939,6 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ gnu/gcj/convert/Output_UTF8.java \ gnu/gcj/convert/Output_iconv.java \ gnu/gcj/convert/UnicodeToBytes.java \ - javax/imageio/ImageWriteParam.java \ - javax/imageio/ImageReader.java javax/imageio/ImageWriter.java \ - javax/imageio/IIOException.java \ - javax/imageio/IIOParamController.java \ - javax/imageio/ImageReadParam.java javax/imageio/IIOParam.java \ - javax/imageio/spi/IIORegistry.java \ - javax/imageio/spi/ImageWriterSpi.java \ - javax/imageio/spi/ImageOutputStreamSpi.java \ - javax/imageio/spi/ServiceRegistry.java \ - javax/imageio/spi/ImageTranscoderSpi.java \ - javax/imageio/spi/ImageReaderSpi.java \ - javax/imageio/spi/IIOServiceProvider.java \ - javax/imageio/spi/ImageReaderWriterSpi.java \ - javax/imageio/spi/ImageInputStreamSpi.java \ - javax/imageio/spi/RegisterableService.java \ - javax/imageio/metadata/IIOAttr.java \ - javax/imageio/metadata/IIONamedNodeMap.java \ - javax/imageio/metadata/IIONodeList.java \ - javax/imageio/metadata/IIOMetadataFormatImpl.java \ - javax/imageio/metadata/IIOInvalidTreeException.java \ - javax/imageio/metadata/IIOMetadataFormat.java \ - javax/imageio/metadata/IIOMetadataController.java \ - javax/imageio/metadata/IIOMetadataNode.java \ - javax/imageio/metadata/IIOMetadata.java \ - javax/imageio/stream/FileImageOutputStream.java \ - javax/imageio/stream/ImageInputStream.java \ - javax/imageio/stream/IIOByteBuffer.java \ - javax/imageio/stream/FileCacheImageInputStream.java \ - javax/imageio/stream/ImageInputStreamImpl.java \ - javax/imageio/stream/ImageOutputStreamImpl.java \ - javax/imageio/stream/MemoryCacheImageInputStream.java \ - javax/imageio/stream/FileCacheImageOutputStream.java \ - javax/imageio/stream/ImageOutputStream.java \ - javax/imageio/stream/MemoryCacheImageOutputStream.java \ - javax/imageio/stream/FileImageInputStream.java \ - javax/imageio/event/IIOReadProgressListener.java \ - javax/imageio/event/IIOWriteWarningListener.java \ - javax/imageio/event/IIOReadWarningListener.java \ - javax/imageio/event/IIOReadUpdateListener.java \ - javax/imageio/event/IIOWriteProgressListener.java \ - javax/imageio/ImageTranscoder.java \ - javax/imageio/ImageTypeSpecifier.java \ - javax/imageio/ImageIO.java javax/imageio/IIOImage.java \ javax/net/VanillaSocketFactory.java \ javax/net/ssl/TrustManagerFactorySpi.java \ javax/net/ssl/SSLKeyException.java \ @@ -2260,58 +2167,6 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ javax/naming/Reference.java javax/naming/NameParser.java \ javax/naming/NameClassPair.java javax/naming/RefAddr.java \ javax/naming/CompositeName.java javax/naming/Name.java \ - javax/xml/xpath/XPathConstants.java \ - javax/xml/xpath/XPathFunction.java \ - javax/xml/xpath/XPathVariableResolver.java \ - javax/xml/xpath/XPathExpressionException.java \ - javax/xml/xpath/XPathFunctionResolver.java \ - javax/xml/xpath/XPath.java \ - javax/xml/xpath/XPathFactoryConfigurationException.java \ - javax/xml/xpath/XPathFactory.java \ - javax/xml/xpath/XPathException.java \ - javax/xml/xpath/XPathExpression.java \ - javax/xml/xpath/XPathFunctionException.java \ - javax/xml/validation/ValidatorHandler.java \ - javax/xml/validation/Validator.java \ - javax/xml/validation/TypeInfoProvider.java \ - javax/xml/validation/SchemaFactory.java \ - javax/xml/validation/Schema.java \ - javax/xml/parsers/SAXParserFactory.java \ - javax/xml/parsers/FactoryConfigurationError.java \ - javax/xml/parsers/SAXParser.java \ - javax/xml/parsers/DocumentBuilderFactory.java \ - javax/xml/parsers/ParserConfigurationException.java \ - javax/xml/parsers/DocumentBuilder.java \ - javax/xml/datatype/DatatypeFactory.java \ - javax/xml/datatype/XMLGregorianCalendar.java \ - javax/xml/datatype/Duration.java \ - javax/xml/datatype/DatatypeConfigurationException.java \ - javax/xml/datatype/DatatypeConstants.java \ - javax/xml/XMLConstants.java \ - javax/xml/namespace/NamespaceContext.java \ - javax/xml/namespace/QName.java \ - javax/xml/transform/TransformerException.java \ - javax/xml/transform/TransformerFactoryConfigurationError.java \ - javax/xml/transform/sax/SAXResult.java \ - javax/xml/transform/sax/TransformerHandler.java \ - javax/xml/transform/sax/SAXTransformerFactory.java \ - javax/xml/transform/sax/SAXSource.java \ - javax/xml/transform/sax/TemplatesHandler.java \ - javax/xml/transform/OutputKeys.java \ - javax/xml/transform/stream/StreamResult.java \ - javax/xml/transform/stream/StreamSource.java \ - javax/xml/transform/Source.java \ - javax/xml/transform/SourceLocator.java \ - javax/xml/transform/ErrorListener.java \ - javax/xml/transform/TransformerConfigurationException.java \ - javax/xml/transform/Templates.java \ - javax/xml/transform/Result.java \ - javax/xml/transform/URIResolver.java \ - javax/xml/transform/dom/DOMSource.java \ - javax/xml/transform/dom/DOMLocator.java \ - javax/xml/transform/dom/DOMResult.java \ - javax/xml/transform/Transformer.java \ - javax/xml/transform/TransformerFactory.java \ javax/security/cert/CertificateNotYetValidException.java \ javax/security/cert/Certificate.java \ javax/security/cert/X509Certificate.java \ @@ -2448,151 +2303,6 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ org/ietf/jgss/GSSName.java org/ietf/jgss/GSSContext.java \ org/ietf/jgss/Oid.java org/ietf/jgss/GSSCredential.java \ org/ietf/jgss/ChannelBinding.java \ - gnu/xml/xpath/EqualityExpr.java \ - gnu/xml/xpath/NumberFunction.java \ - gnu/xml/xpath/StringLengthFunction.java \ - gnu/xml/xpath/NameFunction.java gnu/xml/xpath/SumFunction.java \ - gnu/xml/xpath/Pattern.java gnu/xml/xpath/StringFunction.java \ - gnu/xml/xpath/NegativeExpr.java gnu/xml/xpath/UnionExpr.java \ - gnu/xml/xpath/SubstringFunction.java gnu/xml/xpath/Expr.java \ - gnu/xml/xpath/XPathFactoryImpl.java \ - gnu/xml/xpath/NormalizeSpaceFunction.java \ - gnu/xml/xpath/Constant.java gnu/xml/xpath/Predicate.java \ - gnu/xml/xpath/Path.java gnu/xml/xpath/OrExpr.java \ - gnu/xml/xpath/LangFunction.java \ - gnu/xml/xpath/StartsWithFunction.java \ - gnu/xml/xpath/SubstringAfterFunction.java \ - gnu/xml/xpath/FloorFunction.java \ - gnu/xml/xpath/NotFunction.java gnu/xml/xpath/Root.java \ - gnu/xml/xpath/PositionFunction.java \ - gnu/xml/xpath/VariableReference.java \ - gnu/xml/xpath/DocumentOrderComparator.java \ - gnu/xml/xpath/LocalNameFunction.java \ - gnu/xml/xpath/NamespaceUriFunction.java \ - gnu/xml/xpath/TranslateFunction.java \ - gnu/xml/xpath/FalseFunction.java gnu/xml/xpath/AndExpr.java \ - gnu/xml/xpath/XPathParser.java \ - gnu/xml/xpath/NamespaceTest.java \ - gnu/xml/xpath/ConcatFunction.java gnu/xml/xpath/NameTest.java \ - gnu/xml/xpath/CountFunction.java gnu/xml/xpath/IdFunction.java \ - gnu/xml/xpath/LastFunction.java \ - gnu/xml/xpath/XPathTokenizer.java gnu/xml/xpath/Steps.java \ - gnu/xml/xpath/TrueFunction.java \ - gnu/xml/xpath/BooleanFunction.java \ - gnu/xml/xpath/ParenthesizedExpr.java \ - gnu/xml/xpath/XPathImpl.java gnu/xml/xpath/Selector.java \ - gnu/xml/xpath/RoundFunction.java \ - gnu/xml/xpath/SubstringBeforeFunction.java \ - gnu/xml/xpath/Function.java gnu/xml/xpath/CeilingFunction.java \ - gnu/xml/xpath/RelationalExpr.java \ - gnu/xml/xpath/FunctionCall.java \ - gnu/xml/xpath/NodeTypeTest.java \ - gnu/xml/xpath/ArithmeticExpr.java gnu/xml/xpath/Test.java \ - gnu/xml/xpath/ContainsFunction.java \ - gnu/xml/pipeline/EventFilter.java \ - gnu/xml/pipeline/NSFilter.java \ - gnu/xml/pipeline/XsltFilter.java \ - gnu/xml/pipeline/ValidationConsumer.java \ - gnu/xml/pipeline/PipelineFactory.java \ - gnu/xml/pipeline/TextConsumer.java \ - gnu/xml/pipeline/LinkFilter.java \ - gnu/xml/pipeline/TeeConsumer.java \ - gnu/xml/pipeline/DomConsumer.java \ - gnu/xml/pipeline/EventConsumer.java \ - gnu/xml/pipeline/WellFormednessFilter.java \ - gnu/xml/pipeline/XIncludeFilter.java \ - gnu/xml/pipeline/CallFilter.java \ - gnu/xml/aelfred2/XmlParser.java \ - gnu/xml/aelfred2/XmlReader.java \ - gnu/xml/aelfred2/JAXPFactory.java \ - gnu/xml/aelfred2/ContentHandler2.java \ - gnu/xml/aelfred2/SAXDriver.java gnu/xml/util/XCat.java \ - gnu/xml/util/DomParser.java gnu/xml/util/XMLWriter.java \ - gnu/xml/util/Resolver.java gnu/xml/util/DoParse.java \ - gnu/xml/util/XHTMLWriter.java \ - gnu/xml/util/SAXNullTransformerFactory.java \ - gnu/xml/dom/DomXPathNSResolver.java \ - gnu/xml/dom/ls/FilteredSAXEventSink.java \ - gnu/xml/dom/ls/DomLSException.java \ - gnu/xml/dom/ls/DomLSSerializer.java \ - gnu/xml/dom/ls/DomLSInput.java gnu/xml/dom/ls/DomLSOutput.java \ - gnu/xml/dom/ls/SAXEventSink.java \ - gnu/xml/dom/ls/DomLSParser.java \ - gnu/xml/dom/ls/ReaderInputStream.java \ - gnu/xml/dom/ls/WriterOutputStream.java \ - gnu/xml/dom/DomElement.java gnu/xml/dom/DomNsNode.java \ - gnu/xml/dom/DomAttr.java gnu/xml/dom/DTDAttributeTypeInfo.java \ - gnu/xml/dom/DomDocumentBuilder.java \ - gnu/xml/dom/DTDElementTypeInfo.java \ - gnu/xml/dom/DomDocument.java \ - gnu/xml/dom/DomXPathExpression.java \ - gnu/xml/dom/DomDocumentConfiguration.java \ - gnu/xml/dom/DomDocumentFragment.java \ - gnu/xml/dom/DomProcessingInstruction.java \ - gnu/xml/dom/Consumer.java gnu/xml/dom/DomComment.java \ - gnu/xml/dom/DomCharacterData.java gnu/xml/dom/DomExtern.java \ - gnu/xml/dom/DomEntityReference.java \ - gnu/xml/dom/DomNamedNodeMap.java \ - gnu/xml/dom/ImplementationList.java \ - gnu/xml/dom/ImplementationSource.java gnu/xml/dom/DomImpl.java \ - gnu/xml/dom/DomDoctype.java gnu/xml/dom/DomNode.java \ - gnu/xml/dom/DomXPathResult.java \ - gnu/xml/dom/DomDocumentBuilderFactory.java \ - gnu/xml/dom/DomText.java gnu/xml/dom/DomNSResolverContext.java \ - gnu/xml/dom/DomNodeIterator.java gnu/xml/dom/DomNotation.java \ - gnu/xml/dom/JAXPFactory.java gnu/xml/dom/DomIterator.java \ - gnu/xml/dom/DomEvent.java gnu/xml/dom/DomEntity.java \ - gnu/xml/dom/DomCDATASection.java \ - gnu/xml/dom/DomDOMException.java \ - gnu/xml/transform/GenerateIdFunction.java \ - gnu/xml/transform/FormatNumberFunction.java \ - gnu/xml/transform/ValueOfNode.java \ - gnu/xml/transform/ApplyImportsNode.java \ - gnu/xml/transform/WithParam.java \ - gnu/xml/transform/DocumentFunction.java \ - gnu/xml/transform/SAXSerializer.java \ - gnu/xml/transform/FunctionAvailableFunction.java \ - gnu/xml/transform/ElementAvailableFunction.java \ - gnu/xml/transform/IfNode.java \ - gnu/xml/transform/ApplyTemplatesNode.java \ - gnu/xml/transform/SortKey.java gnu/xml/transform/Key.java \ - gnu/xml/transform/ElementNode.java \ - gnu/xml/transform/CurrentFunction.java \ - gnu/xml/transform/XSLComparator.java \ - gnu/xml/transform/CallTemplateNode.java \ - gnu/xml/transform/TemplatesImpl.java \ - gnu/xml/transform/ChooseNode.java \ - gnu/xml/transform/NumberNode.java \ - gnu/xml/transform/CopyOfNode.java \ - gnu/xml/transform/ParameterNode.java \ - gnu/xml/transform/TransformerFactoryImpl.java \ - gnu/xml/transform/TextNode.java \ - gnu/xml/transform/CopyNode.java \ - gnu/xml/transform/SystemPropertyFunction.java \ - gnu/xml/transform/Stylesheet.java \ - gnu/xml/transform/ProcessingInstructionNode.java \ - gnu/xml/transform/UnparsedEntityUriFunction.java \ - gnu/xml/transform/URIResolverEntityResolver.java \ - gnu/xml/transform/ErrorListenerErrorHandler.java \ - gnu/xml/transform/Bindings.java \ - gnu/xml/transform/AttributeSet.java \ - gnu/xml/transform/Template.java \ - gnu/xml/transform/MessageNode.java \ - gnu/xml/transform/LiteralNode.java \ - gnu/xml/transform/StreamSerializer.java \ - gnu/xml/transform/XSLURIResolver.java \ - gnu/xml/transform/AttributeNode.java \ - gnu/xml/transform/CommentNode.java \ - gnu/xml/transform/ForEachNode.java \ - gnu/xml/transform/KeyFunction.java \ - gnu/xml/transform/TransformerImpl.java \ - gnu/xml/transform/WhenNode.java \ - gnu/xml/transform/NodeNumberNode.java \ - gnu/xml/transform/OtherwiseNode.java \ - gnu/xml/transform/AbstractNumberNode.java \ - gnu/xml/transform/TemplateNode.java \ - gnu/xml/transform/TransformerOutputProperties.java \ - gnu/xml/transform/DOMSourceLocator.java \ java/lang/ConcreteProcess.java \ gnu/classpath/Configuration.java boehm.cc nogc.cc \ sysdep/dwarf2-backtrace.cc posix.cc win32.cc darwin.cc \ @@ -2908,67 +2618,16 @@ am__objects_11 = gnu/awt/LightweightRedirector.lo \ gnu/java/awt/peer/GLightweightPeer.lo \ gnu/java/awt/peer/ClasspathFontPeer.lo \ gnu/java/awt/peer/ClasspathTextLayoutPeer.lo \ - gnu/java/beans/decoder/AbstractContext.lo \ - gnu/java/beans/decoder/AbstractCreatableObjectContext.lo \ - gnu/java/beans/decoder/AbstractElementHandler.lo \ - gnu/java/beans/decoder/AbstractObjectContext.lo \ - gnu/java/beans/decoder/ArrayContext.lo \ - gnu/java/beans/decoder/ArrayHandler.lo \ - gnu/java/beans/decoder/AssemblyException.lo \ - gnu/java/beans/decoder/BooleanHandler.lo \ - gnu/java/beans/decoder/ByteHandler.lo \ - gnu/java/beans/decoder/CharHandler.lo \ - gnu/java/beans/decoder/ClassHandler.lo \ - gnu/java/beans/decoder/ConstructorContext.lo \ - gnu/java/beans/decoder/Context.lo \ - gnu/java/beans/decoder/DecoderContext.lo \ - gnu/java/beans/decoder/DefaultExceptionListener.lo \ - gnu/java/beans/decoder/DoubleHandler.lo \ - gnu/java/beans/decoder/DummyContext.lo \ - gnu/java/beans/decoder/DummyHandler.lo \ - gnu/java/beans/decoder/ElementHandler.lo \ - gnu/java/beans/decoder/FloatHandler.lo \ - gnu/java/beans/decoder/GrowableArrayContext.lo \ - gnu/java/beans/decoder/IndexContext.lo \ - gnu/java/beans/decoder/IntHandler.lo \ - gnu/java/beans/decoder/JavaHandler.lo \ - gnu/java/beans/decoder/LongHandler.lo \ - gnu/java/beans/decoder/MethodContext.lo \ - gnu/java/beans/decoder/MethodFinder.lo \ - gnu/java/beans/decoder/NullHandler.lo \ - gnu/java/beans/decoder/ObjectContext.lo \ - gnu/java/beans/decoder/ObjectHandler.lo \ - gnu/java/beans/decoder/PersistenceParser.lo \ - gnu/java/beans/decoder/PropertyContext.lo \ - gnu/java/beans/decoder/ShortHandler.lo \ - gnu/java/beans/decoder/SimpleHandler.lo \ - gnu/java/beans/decoder/StaticMethodContext.lo \ - gnu/java/beans/decoder/StringHandler.lo \ - gnu/java/beans/decoder/VoidHandler.lo \ - gnu/java/beans/editors/ColorEditor.lo \ - gnu/java/beans/editors/FontEditor.lo \ - gnu/java/beans/editors/NativeBooleanEditor.lo \ - gnu/java/beans/editors/NativeByteEditor.lo \ - gnu/java/beans/editors/NativeDoubleEditor.lo \ - gnu/java/beans/editors/NativeFloatEditor.lo \ - gnu/java/beans/editors/NativeIntEditor.lo \ - gnu/java/beans/editors/NativeLongEditor.lo \ - gnu/java/beans/editors/NativeShortEditor.lo \ - gnu/java/beans/editors/StringEditor.lo \ - gnu/java/beans/BeanInfoEmbryo.lo \ - gnu/java/beans/DummyAppletContext.lo \ - gnu/java/beans/DummyAppletStub.lo \ - gnu/java/beans/ExplicitBeanInfo.lo \ - gnu/java/beans/IntrospectionIncubator.lo java/applet/Applet.lo \ - java/applet/AppletStub.lo java/applet/AppletContext.lo \ - java/applet/AudioClip.lo java/awt/AWTError.lo \ - java/awt/AWTEvent.lo java/awt/AWTEventMulticaster.lo \ - java/awt/AWTException.lo java/awt/AWTPermission.lo \ - java/awt/ActiveEvent.lo java/awt/Adjustable.lo \ - java/awt/BorderLayout.lo java/awt/Button.lo java/awt/Canvas.lo \ - java/awt/CardLayout.lo java/awt/Checkbox.lo \ - java/awt/CheckboxGroup.lo java/awt/CheckboxMenuItem.lo \ - java/awt/Choice.lo java/awt/Color.lo java/awt/Component.lo \ + java/applet/Applet.lo java/applet/AppletStub.lo \ + java/applet/AppletContext.lo java/applet/AudioClip.lo \ + java/awt/AWTError.lo java/awt/AWTEvent.lo \ + java/awt/AWTEventMulticaster.lo java/awt/AWTException.lo \ + java/awt/AWTPermission.lo java/awt/ActiveEvent.lo \ + java/awt/Adjustable.lo java/awt/BorderLayout.lo \ + java/awt/Button.lo java/awt/Canvas.lo java/awt/CardLayout.lo \ + java/awt/Checkbox.lo java/awt/CheckboxGroup.lo \ + java/awt/CheckboxMenuItem.lo java/awt/Choice.lo \ + java/awt/Color.lo java/awt/Component.lo \ java/awt/ComponentOrientation.lo java/awt/Container.lo \ java/awt/Cursor.lo java/awt/Dialog.lo java/awt/Dimension.lo \ java/awt/Event.lo java/awt/EventDispatchThread.lo \ @@ -3536,49 +3195,7 @@ am__objects_12 = gnu/gcj/convert/BytesToUnicode.lo \ gnu/gcj/convert/Output_UnicodeLittleUnmarked.lo \ gnu/gcj/convert/Output_UTF8.lo gnu/gcj/convert/Output_iconv.lo \ gnu/gcj/convert/UnicodeToBytes.lo -am__objects_13 = javax/imageio/ImageWriteParam.lo \ - javax/imageio/ImageReader.lo javax/imageio/ImageWriter.lo \ - javax/imageio/IIOException.lo \ - javax/imageio/IIOParamController.lo \ - javax/imageio/ImageReadParam.lo javax/imageio/IIOParam.lo \ - javax/imageio/spi/IIORegistry.lo \ - javax/imageio/spi/ImageWriterSpi.lo \ - javax/imageio/spi/ImageOutputStreamSpi.lo \ - javax/imageio/spi/ServiceRegistry.lo \ - javax/imageio/spi/ImageTranscoderSpi.lo \ - javax/imageio/spi/ImageReaderSpi.lo \ - javax/imageio/spi/IIOServiceProvider.lo \ - javax/imageio/spi/ImageReaderWriterSpi.lo \ - javax/imageio/spi/ImageInputStreamSpi.lo \ - javax/imageio/spi/RegisterableService.lo \ - javax/imageio/metadata/IIOAttr.lo \ - javax/imageio/metadata/IIONamedNodeMap.lo \ - javax/imageio/metadata/IIONodeList.lo \ - javax/imageio/metadata/IIOMetadataFormatImpl.lo \ - javax/imageio/metadata/IIOInvalidTreeException.lo \ - javax/imageio/metadata/IIOMetadataFormat.lo \ - javax/imageio/metadata/IIOMetadataController.lo \ - javax/imageio/metadata/IIOMetadataNode.lo \ - javax/imageio/metadata/IIOMetadata.lo \ - javax/imageio/stream/FileImageOutputStream.lo \ - javax/imageio/stream/ImageInputStream.lo \ - javax/imageio/stream/IIOByteBuffer.lo \ - javax/imageio/stream/FileCacheImageInputStream.lo \ - javax/imageio/stream/ImageInputStreamImpl.lo \ - javax/imageio/stream/ImageOutputStreamImpl.lo \ - javax/imageio/stream/MemoryCacheImageInputStream.lo \ - javax/imageio/stream/FileCacheImageOutputStream.lo \ - javax/imageio/stream/ImageOutputStream.lo \ - javax/imageio/stream/MemoryCacheImageOutputStream.lo \ - javax/imageio/stream/FileImageInputStream.lo \ - javax/imageio/event/IIOReadProgressListener.lo \ - javax/imageio/event/IIOWriteWarningListener.lo \ - javax/imageio/event/IIOReadWarningListener.lo \ - javax/imageio/event/IIOReadUpdateListener.lo \ - javax/imageio/event/IIOWriteProgressListener.lo \ - javax/imageio/ImageTranscoder.lo \ - javax/imageio/ImageTypeSpecifier.lo javax/imageio/ImageIO.lo \ - javax/imageio/IIOImage.lo javax/net/VanillaSocketFactory.lo \ +am__objects_13 = javax/net/VanillaSocketFactory.lo \ javax/net/ssl/TrustManagerFactorySpi.lo \ javax/net/ssl/SSLKeyException.lo javax/net/ssl/TrustManager.lo \ javax/net/ssl/SSLServerSocket.lo \ @@ -3798,57 +3415,6 @@ am__objects_13 = javax/imageio/ImageWriteParam.lo \ javax/naming/Reference.lo javax/naming/NameParser.lo \ javax/naming/NameClassPair.lo javax/naming/RefAddr.lo \ javax/naming/CompositeName.lo javax/naming/Name.lo \ - javax/xml/xpath/XPathConstants.lo \ - javax/xml/xpath/XPathFunction.lo \ - javax/xml/xpath/XPathVariableResolver.lo \ - javax/xml/xpath/XPathExpressionException.lo \ - javax/xml/xpath/XPathFunctionResolver.lo \ - javax/xml/xpath/XPath.lo \ - javax/xml/xpath/XPathFactoryConfigurationException.lo \ - javax/xml/xpath/XPathFactory.lo \ - javax/xml/xpath/XPathException.lo \ - javax/xml/xpath/XPathExpression.lo \ - javax/xml/xpath/XPathFunctionException.lo \ - javax/xml/validation/ValidatorHandler.lo \ - javax/xml/validation/Validator.lo \ - javax/xml/validation/TypeInfoProvider.lo \ - javax/xml/validation/SchemaFactory.lo \ - javax/xml/validation/Schema.lo \ - javax/xml/parsers/SAXParserFactory.lo \ - javax/xml/parsers/FactoryConfigurationError.lo \ - javax/xml/parsers/SAXParser.lo \ - javax/xml/parsers/DocumentBuilderFactory.lo \ - javax/xml/parsers/ParserConfigurationException.lo \ - javax/xml/parsers/DocumentBuilder.lo \ - javax/xml/datatype/DatatypeFactory.lo \ - javax/xml/datatype/XMLGregorianCalendar.lo \ - javax/xml/datatype/Duration.lo \ - javax/xml/datatype/DatatypeConfigurationException.lo \ - javax/xml/datatype/DatatypeConstants.lo \ - javax/xml/XMLConstants.lo \ - javax/xml/namespace/NamespaceContext.lo \ - javax/xml/namespace/QName.lo \ - javax/xml/transform/TransformerException.lo \ - javax/xml/transform/TransformerFactoryConfigurationError.lo \ - javax/xml/transform/sax/SAXResult.lo \ - javax/xml/transform/sax/TransformerHandler.lo \ - javax/xml/transform/sax/SAXTransformerFactory.lo \ - javax/xml/transform/sax/SAXSource.lo \ - javax/xml/transform/sax/TemplatesHandler.lo \ - javax/xml/transform/OutputKeys.lo \ - javax/xml/transform/stream/StreamResult.lo \ - javax/xml/transform/stream/StreamSource.lo \ - javax/xml/transform/Source.lo \ - javax/xml/transform/SourceLocator.lo \ - javax/xml/transform/ErrorListener.lo \ - javax/xml/transform/TransformerConfigurationException.lo \ - javax/xml/transform/Templates.lo javax/xml/transform/Result.lo \ - javax/xml/transform/URIResolver.lo \ - javax/xml/transform/dom/DOMSource.lo \ - javax/xml/transform/dom/DOMLocator.lo \ - javax/xml/transform/dom/DOMResult.lo \ - javax/xml/transform/Transformer.lo \ - javax/xml/transform/TransformerFactory.lo \ javax/security/cert/CertificateNotYetValidException.lo \ javax/security/cert/Certificate.lo \ javax/security/cert/X509Certificate.lo \ @@ -3984,7 +3550,9 @@ am__objects_15 = $(am__objects_9) gnu/classpath/ServiceFactory.lo \ gnu/classpath/ServiceProviderLoadingAction.lo gnu/gcj/Core.lo \ gnu/gcj/RawData.lo gnu/gcj/RawDataManaged.lo \ gnu/gcj/io/DefaultMimeTypes.lo gnu/gcj/io/MimeTypes.lo \ - gnu/gcj/io/SimpleSHSStream.lo gnu/gcj/runtime/FileDeleter.lo \ + gnu/gcj/io/SimpleSHSStream.lo \ + gnu/gcj/runtime/BootClassLoader.lo \ + gnu/gcj/runtime/FileDeleter.lo \ gnu/gcj/runtime/FinalizerThread.lo \ gnu/gcj/runtime/JNIWeakRef.lo gnu/gcj/runtime/NameFinder.lo \ gnu/gcj/runtime/PersistentByteMap.lo \ @@ -4592,155 +4160,25 @@ am__objects_15 = $(am__objects_9) gnu/classpath/ServiceFactory.lo \ $(am__objects_11) $(am__objects_12) $(am__objects_13) \ $(am__objects_14) am__objects_16 = $(am__objects_8) $(am__objects_15) -am__objects_17 = gnu/xml/xpath/EqualityExpr.lo \ - gnu/xml/xpath/NumberFunction.lo \ - gnu/xml/xpath/StringLengthFunction.lo \ - gnu/xml/xpath/NameFunction.lo gnu/xml/xpath/SumFunction.lo \ - gnu/xml/xpath/Pattern.lo gnu/xml/xpath/StringFunction.lo \ - gnu/xml/xpath/NegativeExpr.lo gnu/xml/xpath/UnionExpr.lo \ - gnu/xml/xpath/SubstringFunction.lo gnu/xml/xpath/Expr.lo \ - gnu/xml/xpath/XPathFactoryImpl.lo \ - gnu/xml/xpath/NormalizeSpaceFunction.lo \ - gnu/xml/xpath/Constant.lo gnu/xml/xpath/Predicate.lo \ - gnu/xml/xpath/Path.lo gnu/xml/xpath/OrExpr.lo \ - gnu/xml/xpath/LangFunction.lo \ - gnu/xml/xpath/StartsWithFunction.lo \ - gnu/xml/xpath/SubstringAfterFunction.lo \ - gnu/xml/xpath/FloorFunction.lo gnu/xml/xpath/NotFunction.lo \ - gnu/xml/xpath/Root.lo gnu/xml/xpath/PositionFunction.lo \ - gnu/xml/xpath/VariableReference.lo \ - gnu/xml/xpath/DocumentOrderComparator.lo \ - gnu/xml/xpath/LocalNameFunction.lo \ - gnu/xml/xpath/NamespaceUriFunction.lo \ - gnu/xml/xpath/TranslateFunction.lo \ - gnu/xml/xpath/FalseFunction.lo gnu/xml/xpath/AndExpr.lo \ - gnu/xml/xpath/XPathParser.lo gnu/xml/xpath/NamespaceTest.lo \ - gnu/xml/xpath/ConcatFunction.lo gnu/xml/xpath/NameTest.lo \ - gnu/xml/xpath/CountFunction.lo gnu/xml/xpath/IdFunction.lo \ - gnu/xml/xpath/LastFunction.lo gnu/xml/xpath/XPathTokenizer.lo \ - gnu/xml/xpath/Steps.lo gnu/xml/xpath/TrueFunction.lo \ - gnu/xml/xpath/BooleanFunction.lo \ - gnu/xml/xpath/ParenthesizedExpr.lo gnu/xml/xpath/XPathImpl.lo \ - gnu/xml/xpath/Selector.lo gnu/xml/xpath/RoundFunction.lo \ - gnu/xml/xpath/SubstringBeforeFunction.lo \ - gnu/xml/xpath/Function.lo gnu/xml/xpath/CeilingFunction.lo \ - gnu/xml/xpath/RelationalExpr.lo gnu/xml/xpath/FunctionCall.lo \ - gnu/xml/xpath/NodeTypeTest.lo gnu/xml/xpath/ArithmeticExpr.lo \ - gnu/xml/xpath/Test.lo gnu/xml/xpath/ContainsFunction.lo \ - gnu/xml/pipeline/EventFilter.lo gnu/xml/pipeline/NSFilter.lo \ - gnu/xml/pipeline/XsltFilter.lo \ - gnu/xml/pipeline/ValidationConsumer.lo \ - gnu/xml/pipeline/PipelineFactory.lo \ - gnu/xml/pipeline/TextConsumer.lo \ - gnu/xml/pipeline/LinkFilter.lo gnu/xml/pipeline/TeeConsumer.lo \ - gnu/xml/pipeline/DomConsumer.lo \ - gnu/xml/pipeline/EventConsumer.lo \ - gnu/xml/pipeline/WellFormednessFilter.lo \ - gnu/xml/pipeline/XIncludeFilter.lo \ - gnu/xml/pipeline/CallFilter.lo gnu/xml/aelfred2/XmlParser.lo \ - gnu/xml/aelfred2/XmlReader.lo gnu/xml/aelfred2/JAXPFactory.lo \ - gnu/xml/aelfred2/ContentHandler2.lo \ - gnu/xml/aelfred2/SAXDriver.lo gnu/xml/util/XCat.lo \ - gnu/xml/util/DomParser.lo gnu/xml/util/XMLWriter.lo \ - gnu/xml/util/Resolver.lo gnu/xml/util/DoParse.lo \ - gnu/xml/util/XHTMLWriter.lo \ - gnu/xml/util/SAXNullTransformerFactory.lo \ - gnu/xml/dom/DomXPathNSResolver.lo \ - gnu/xml/dom/ls/FilteredSAXEventSink.lo \ - gnu/xml/dom/ls/DomLSException.lo \ - gnu/xml/dom/ls/DomLSSerializer.lo gnu/xml/dom/ls/DomLSInput.lo \ - gnu/xml/dom/ls/DomLSOutput.lo gnu/xml/dom/ls/SAXEventSink.lo \ - gnu/xml/dom/ls/DomLSParser.lo \ - gnu/xml/dom/ls/ReaderInputStream.lo \ - gnu/xml/dom/ls/WriterOutputStream.lo gnu/xml/dom/DomElement.lo \ - gnu/xml/dom/DomNsNode.lo gnu/xml/dom/DomAttr.lo \ - gnu/xml/dom/DTDAttributeTypeInfo.lo \ - gnu/xml/dom/DomDocumentBuilder.lo \ - gnu/xml/dom/DTDElementTypeInfo.lo gnu/xml/dom/DomDocument.lo \ - gnu/xml/dom/DomXPathExpression.lo \ - gnu/xml/dom/DomDocumentConfiguration.lo \ - gnu/xml/dom/DomDocumentFragment.lo \ - gnu/xml/dom/DomProcessingInstruction.lo \ - gnu/xml/dom/Consumer.lo gnu/xml/dom/DomComment.lo \ - gnu/xml/dom/DomCharacterData.lo gnu/xml/dom/DomExtern.lo \ - gnu/xml/dom/DomEntityReference.lo \ - gnu/xml/dom/DomNamedNodeMap.lo \ - gnu/xml/dom/ImplementationList.lo \ - gnu/xml/dom/ImplementationSource.lo gnu/xml/dom/DomImpl.lo \ - gnu/xml/dom/DomDoctype.lo gnu/xml/dom/DomNode.lo \ - gnu/xml/dom/DomXPathResult.lo \ - gnu/xml/dom/DomDocumentBuilderFactory.lo \ - gnu/xml/dom/DomText.lo gnu/xml/dom/DomNSResolverContext.lo \ - gnu/xml/dom/DomNodeIterator.lo gnu/xml/dom/DomNotation.lo \ - gnu/xml/dom/JAXPFactory.lo gnu/xml/dom/DomIterator.lo \ - gnu/xml/dom/DomEvent.lo gnu/xml/dom/DomEntity.lo \ - gnu/xml/dom/DomCDATASection.lo gnu/xml/dom/DomDOMException.lo \ - gnu/xml/transform/GenerateIdFunction.lo \ - gnu/xml/transform/FormatNumberFunction.lo \ - gnu/xml/transform/ValueOfNode.lo \ - gnu/xml/transform/ApplyImportsNode.lo \ - gnu/xml/transform/WithParam.lo \ - gnu/xml/transform/DocumentFunction.lo \ - gnu/xml/transform/SAXSerializer.lo \ - gnu/xml/transform/FunctionAvailableFunction.lo \ - gnu/xml/transform/ElementAvailableFunction.lo \ - gnu/xml/transform/IfNode.lo \ - gnu/xml/transform/ApplyTemplatesNode.lo \ - gnu/xml/transform/SortKey.lo gnu/xml/transform/Key.lo \ - gnu/xml/transform/ElementNode.lo \ - gnu/xml/transform/CurrentFunction.lo \ - gnu/xml/transform/XSLComparator.lo \ - gnu/xml/transform/CallTemplateNode.lo \ - gnu/xml/transform/TemplatesImpl.lo \ - gnu/xml/transform/ChooseNode.lo \ - gnu/xml/transform/NumberNode.lo \ - gnu/xml/transform/CopyOfNode.lo \ - gnu/xml/transform/ParameterNode.lo \ - gnu/xml/transform/TransformerFactoryImpl.lo \ - gnu/xml/transform/TextNode.lo gnu/xml/transform/CopyNode.lo \ - gnu/xml/transform/SystemPropertyFunction.lo \ - gnu/xml/transform/Stylesheet.lo \ - gnu/xml/transform/ProcessingInstructionNode.lo \ - gnu/xml/transform/UnparsedEntityUriFunction.lo \ - gnu/xml/transform/URIResolverEntityResolver.lo \ - gnu/xml/transform/ErrorListenerErrorHandler.lo \ - gnu/xml/transform/Bindings.lo \ - gnu/xml/transform/AttributeSet.lo \ - gnu/xml/transform/Template.lo gnu/xml/transform/MessageNode.lo \ - gnu/xml/transform/LiteralNode.lo \ - gnu/xml/transform/StreamSerializer.lo \ - gnu/xml/transform/XSLURIResolver.lo \ - gnu/xml/transform/AttributeNode.lo \ - gnu/xml/transform/CommentNode.lo \ - gnu/xml/transform/ForEachNode.lo \ - gnu/xml/transform/KeyFunction.lo \ - gnu/xml/transform/TransformerImpl.lo \ - gnu/xml/transform/WhenNode.lo \ - gnu/xml/transform/NodeNumberNode.lo \ - gnu/xml/transform/OtherwiseNode.lo \ - gnu/xml/transform/AbstractNumberNode.lo \ - gnu/xml/transform/TemplateNode.lo \ - gnu/xml/transform/TransformerOutputProperties.lo \ - gnu/xml/transform/DOMSourceLocator.lo -am__objects_18 = java/lang/ConcreteProcess.lo \ +am__objects_17 = java/lang/ConcreteProcess.lo \ gnu/classpath/Configuration.lo -@USING_BOEHMGC_TRUE@am__objects_19 = boehm.lo -@USING_NOGC_TRUE@am__objects_20 = nogc.lo -@SUPPLY_BACKTRACE_TRUE@am__objects_21 = sysdep/dwarf2-backtrace.lo -@USING_POSIX_PLATFORM_TRUE@am__objects_22 = posix.lo -@USING_WIN32_PLATFORM_TRUE@am__objects_23 = win32.lo -@USING_ECOS_PLATFORM_TRUE@am__objects_24 = posix.lo -@USING_DARWIN_CRT_TRUE@am__objects_25 = darwin.lo -@USING_POSIX_THREADS_TRUE@am__objects_26 = posix-threads.lo -@USING_WIN32_THREADS_TRUE@am__objects_27 = win32-threads.lo -@USING_NO_THREADS_TRUE@am__objects_28 = no-threads.lo +@USING_BOEHMGC_TRUE@am__objects_18 = boehm.lo +@USING_NOGC_TRUE@am__objects_19 = nogc.lo +@SUPPLY_BACKTRACE_TRUE@am__objects_20 = sysdep/dwarf2-backtrace.lo +@USING_POSIX_PLATFORM_TRUE@am__objects_21 = posix.lo +@USING_WIN32_PLATFORM_TRUE@am__objects_22 = win32.lo +@USING_ECOS_PLATFORM_TRUE@am__objects_23 = posix.lo +@USING_DARWIN_CRT_TRUE@am__objects_24 = darwin.lo +@USING_POSIX_THREADS_TRUE@am__objects_25 = posix-threads.lo +@USING_WIN32_THREADS_TRUE@am__objects_26 = win32-threads.lo +@USING_NO_THREADS_TRUE@am__objects_27 = no-threads.lo am_libgcj0_convenience_la_OBJECTS = prims.lo jni.lo exception.lo \ stacktrace.lo link.lo defineclass.lo interpret.lo verify.lo \ $(am__objects_6) $(am__objects_7) $(am__objects_16) \ $(am__objects_17) $(am__objects_18) $(am__objects_19) \ $(am__objects_20) $(am__objects_21) $(am__objects_22) \ $(am__objects_23) $(am__objects_24) $(am__objects_25) \ - $(am__objects_26) $(am__objects_27) $(am__objects_28) + $(am__objects_26) $(am__objects_27) libgcj0_convenience_la_OBJECTS = $(am_libgcj0_convenience_la_OBJECTS) am_libgij_la_OBJECTS = gij.lo libgij_la_OBJECTS = $(am_libgij_la_OBJECTS) @@ -5128,7 +4566,8 @@ AM_CXXFLAGS = \ -DLIBDIR="\"$(libdir)\"" \ -DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\"" \ -DJAVA_EXT_DIRS="\"$(jardir)/ext\"" \ - -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" + -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \ + -DTOOLEXECLIBDIR="\"$(toolexeclibdir)\"" AM_GCJFLAGS = \ @LIBGCJ_JAVAFLAGS@ \ @@ -5160,13 +4599,17 @@ libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \ libgcj0_convenience_la_SOURCES = prims.cc jni.cc exception.cc stacktrace.cc \ link.cc defineclass.cc interpret.cc verify.cc \ $(nat_source_files) $(math_c_source_files) $(java_source_files) \ - $(gnu_xml_source_files) $(built_java_source_files) \ + $(built_java_source_files) \ $(BOEHMGC_SRC) $(NOGC_SRC) \ $(BACKTRACE_SRC) \ $(POSIX_PLATFORM_SRC) $(WIN32_PLATFORM_SRC) $(ECOS_PLATFORM_SRC) \ $(DARWIN_CRT_SRC) \ $(POSIX_THREAD_SRC) $(WIN32_THREAD_SRC) $(NO_THREAD_SRC) +libgcj0_convenience_la_LIBADD = \ + gnu-xml.lo javax-imageio.lo \ + javax-xml.lo gnu-java-beans.lo + noinst_LTLIBRARIES = libgcj0_convenience.la libgcj_la_SOURCES = nat_files = $(nat_source_files:.cc=.lo) @@ -5179,8 +4622,6 @@ libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` libgcj_la_LIBADD = \ - external/sax/libsax_convenience.la \ - external/w3c_dom/libw3c_convenience.la \ libgcj0_convenience.la \ $(LIBFFI) $(ZLIBS) $(GCLIBS) $(propertyo_files) @@ -5335,7 +4776,10 @@ all_java_source_files = \ $(built_java_source_files) \ $(gtk_awt_peer_sources) \ $(xlib_java_source_files) \ - $(gnu_xml_source_files) + $(gnu_xml_source_files) \ + $(javax_imageio_source_files) \ + $(javax_xml_source_files) \ + $(gnu_java_beans_source_files) all_java_class_files = $(all_java_source_files:.java=.class) all_property_files = $(property_files) \ @@ -5437,40 +4881,7 @@ gnu/gcj/convert/Output_iconv.java \ gnu/gcj/convert/UnicodeToBytes.java special_java_source_files = java/lang/Class.java java/lang/Object.java -awt_java_source_files = \ -gnu/awt/LightweightRedirector.java \ -gnu/awt/j2d/AbstractGraphicsState.java \ -gnu/awt/j2d/DirectRasterGraphics.java \ -gnu/awt/j2d/Graphics2DImpl.java \ -gnu/awt/j2d/IntegerGraphicsState.java \ -gnu/awt/j2d/MappedRaster.java \ -gnu/java/awt/BitMaskExtent.java \ -gnu/java/awt/Buffers.java \ -gnu/java/awt/BitwiseXORComposite.java \ -gnu/java/awt/ComponentDataBlitOp.java \ -gnu/java/awt/ClasspathToolkit.java \ -gnu/java/awt/EmbeddedWindow.java \ -gnu/java/awt/EmbeddedWindowSupport.java \ -gnu/java/awt/EventModifier.java \ -gnu/java/awt/color/CieXyzConverter.java \ -gnu/java/awt/color/ClutProfileConverter.java \ -gnu/java/awt/color/ColorLookUpTable.java \ -gnu/java/awt/color/ColorSpaceConverter.java \ -gnu/java/awt/color/GrayProfileConverter.java \ -gnu/java/awt/color/GrayScaleConverter.java \ -gnu/java/awt/color/LinearRGBConverter.java \ -gnu/java/awt/color/ProfileHeader.java \ -gnu/java/awt/color/PyccConverter.java \ -gnu/java/awt/color/RgbProfileConverter.java \ -gnu/java/awt/color/SrgbConverter.java \ -gnu/java/awt/color/TagEntry.java \ -gnu/java/awt/color/ToneReproductionCurve.java \ -gnu/java/awt/image/ImageDecoder.java \ -gnu/java/awt/image/XBMDecoder.java \ -gnu/java/awt/peer/EmbeddedWindowPeer.java \ -gnu/java/awt/peer/GLightweightPeer.java \ -gnu/java/awt/peer/ClasspathFontPeer.java \ -gnu/java/awt/peer/ClasspathTextLayoutPeer.java \ +gnu_java_beans_source_files = \ gnu/java/beans/decoder/AbstractContext.java \ gnu/java/beans/decoder/AbstractCreatableObjectContext.java \ gnu/java/beans/decoder/AbstractElementHandler.java \ @@ -5522,7 +4933,42 @@ gnu/java/beans/BeanInfoEmbryo.java \ gnu/java/beans/DummyAppletContext.java \ gnu/java/beans/DummyAppletStub.java \ gnu/java/beans/ExplicitBeanInfo.java \ -gnu/java/beans/IntrospectionIncubator.java \ +gnu/java/beans/IntrospectionIncubator.java + +awt_java_source_files = \ +gnu/awt/LightweightRedirector.java \ +gnu/awt/j2d/AbstractGraphicsState.java \ +gnu/awt/j2d/DirectRasterGraphics.java \ +gnu/awt/j2d/Graphics2DImpl.java \ +gnu/awt/j2d/IntegerGraphicsState.java \ +gnu/awt/j2d/MappedRaster.java \ +gnu/java/awt/BitMaskExtent.java \ +gnu/java/awt/Buffers.java \ +gnu/java/awt/BitwiseXORComposite.java \ +gnu/java/awt/ComponentDataBlitOp.java \ +gnu/java/awt/ClasspathToolkit.java \ +gnu/java/awt/EmbeddedWindow.java \ +gnu/java/awt/EmbeddedWindowSupport.java \ +gnu/java/awt/EventModifier.java \ +gnu/java/awt/color/CieXyzConverter.java \ +gnu/java/awt/color/ClutProfileConverter.java \ +gnu/java/awt/color/ColorLookUpTable.java \ +gnu/java/awt/color/ColorSpaceConverter.java \ +gnu/java/awt/color/GrayProfileConverter.java \ +gnu/java/awt/color/GrayScaleConverter.java \ +gnu/java/awt/color/LinearRGBConverter.java \ +gnu/java/awt/color/ProfileHeader.java \ +gnu/java/awt/color/PyccConverter.java \ +gnu/java/awt/color/RgbProfileConverter.java \ +gnu/java/awt/color/SrgbConverter.java \ +gnu/java/awt/color/TagEntry.java \ +gnu/java/awt/color/ToneReproductionCurve.java \ +gnu/java/awt/image/ImageDecoder.java \ +gnu/java/awt/image/XBMDecoder.java \ +gnu/java/awt/peer/EmbeddedWindowPeer.java \ +gnu/java/awt/peer/GLightweightPeer.java \ +gnu/java/awt/peer/ClasspathFontPeer.java \ +gnu/java/awt/peer/ClasspathTextLayoutPeer.java \ java/applet/Applet.java \ java/applet/AppletStub.java \ java/applet/AppletContext.java \ @@ -6365,7 +5811,7 @@ gnu/java/rmi/server/UnicastRemoteStub.java \ gnu/java/rmi/server/UnicastServer.java \ gnu/java/rmi/server/UnicastServerRef.java -javax_source_files = \ +javax_imageio_source_files = \ javax/imageio/ImageWriteParam.java \ javax/imageio/ImageReader.java \ javax/imageio/ImageWriter.java \ @@ -6411,7 +5857,63 @@ javax/imageio/event/IIOWriteProgressListener.java \ javax/imageio/ImageTranscoder.java \ javax/imageio/ImageTypeSpecifier.java \ javax/imageio/ImageIO.java \ -javax/imageio/IIOImage.java \ +javax/imageio/IIOImage.java + +javax_xml_source_files = \ +javax/xml/xpath/XPathConstants.java \ +javax/xml/xpath/XPathFunction.java \ +javax/xml/xpath/XPathVariableResolver.java \ +javax/xml/xpath/XPathExpressionException.java \ +javax/xml/xpath/XPathFunctionResolver.java \ +javax/xml/xpath/XPath.java \ +javax/xml/xpath/XPathFactoryConfigurationException.java \ +javax/xml/xpath/XPathFactory.java \ +javax/xml/xpath/XPathException.java \ +javax/xml/xpath/XPathExpression.java \ +javax/xml/xpath/XPathFunctionException.java \ +javax/xml/validation/ValidatorHandler.java \ +javax/xml/validation/Validator.java \ +javax/xml/validation/TypeInfoProvider.java \ +javax/xml/validation/SchemaFactory.java \ +javax/xml/validation/Schema.java \ +javax/xml/parsers/SAXParserFactory.java \ +javax/xml/parsers/FactoryConfigurationError.java \ +javax/xml/parsers/SAXParser.java \ +javax/xml/parsers/DocumentBuilderFactory.java \ +javax/xml/parsers/ParserConfigurationException.java \ +javax/xml/parsers/DocumentBuilder.java \ +javax/xml/datatype/DatatypeFactory.java \ +javax/xml/datatype/XMLGregorianCalendar.java \ +javax/xml/datatype/Duration.java \ +javax/xml/datatype/DatatypeConfigurationException.java \ +javax/xml/datatype/DatatypeConstants.java \ +javax/xml/XMLConstants.java \ +javax/xml/namespace/NamespaceContext.java \ +javax/xml/namespace/QName.java \ +javax/xml/transform/TransformerException.java \ +javax/xml/transform/TransformerFactoryConfigurationError.java \ +javax/xml/transform/sax/SAXResult.java \ +javax/xml/transform/sax/TransformerHandler.java \ +javax/xml/transform/sax/SAXTransformerFactory.java \ +javax/xml/transform/sax/SAXSource.java \ +javax/xml/transform/sax/TemplatesHandler.java \ +javax/xml/transform/OutputKeys.java \ +javax/xml/transform/stream/StreamResult.java \ +javax/xml/transform/stream/StreamSource.java \ +javax/xml/transform/Source.java \ +javax/xml/transform/SourceLocator.java \ +javax/xml/transform/ErrorListener.java \ +javax/xml/transform/TransformerConfigurationException.java \ +javax/xml/transform/Templates.java \ +javax/xml/transform/Result.java \ +javax/xml/transform/URIResolver.java \ +javax/xml/transform/dom/DOMSource.java \ +javax/xml/transform/dom/DOMLocator.java \ +javax/xml/transform/dom/DOMResult.java \ +javax/xml/transform/Transformer.java \ +javax/xml/transform/TransformerFactory.java + +javax_source_files = \ javax/net/VanillaSocketFactory.java \ javax/net/ssl/TrustManagerFactorySpi.java \ javax/net/ssl/SSLKeyException.java \ @@ -6650,58 +6152,6 @@ javax/naming/NameClassPair.java \ javax/naming/RefAddr.java \ javax/naming/CompositeName.java \ javax/naming/Name.java \ -javax/xml/xpath/XPathConstants.java \ -javax/xml/xpath/XPathFunction.java \ -javax/xml/xpath/XPathVariableResolver.java \ -javax/xml/xpath/XPathExpressionException.java \ -javax/xml/xpath/XPathFunctionResolver.java \ -javax/xml/xpath/XPath.java \ -javax/xml/xpath/XPathFactoryConfigurationException.java \ -javax/xml/xpath/XPathFactory.java \ -javax/xml/xpath/XPathException.java \ -javax/xml/xpath/XPathExpression.java \ -javax/xml/xpath/XPathFunctionException.java \ -javax/xml/validation/ValidatorHandler.java \ -javax/xml/validation/Validator.java \ -javax/xml/validation/TypeInfoProvider.java \ -javax/xml/validation/SchemaFactory.java \ -javax/xml/validation/Schema.java \ -javax/xml/parsers/SAXParserFactory.java \ -javax/xml/parsers/FactoryConfigurationError.java \ -javax/xml/parsers/SAXParser.java \ -javax/xml/parsers/DocumentBuilderFactory.java \ -javax/xml/parsers/ParserConfigurationException.java \ -javax/xml/parsers/DocumentBuilder.java \ -javax/xml/datatype/DatatypeFactory.java \ -javax/xml/datatype/XMLGregorianCalendar.java \ -javax/xml/datatype/Duration.java \ -javax/xml/datatype/DatatypeConfigurationException.java \ -javax/xml/datatype/DatatypeConstants.java \ -javax/xml/XMLConstants.java \ -javax/xml/namespace/NamespaceContext.java \ -javax/xml/namespace/QName.java \ -javax/xml/transform/TransformerException.java \ -javax/xml/transform/TransformerFactoryConfigurationError.java \ -javax/xml/transform/sax/SAXResult.java \ -javax/xml/transform/sax/TransformerHandler.java \ -javax/xml/transform/sax/SAXTransformerFactory.java \ -javax/xml/transform/sax/SAXSource.java \ -javax/xml/transform/sax/TemplatesHandler.java \ -javax/xml/transform/OutputKeys.java \ -javax/xml/transform/stream/StreamResult.java \ -javax/xml/transform/stream/StreamSource.java \ -javax/xml/transform/Source.java \ -javax/xml/transform/SourceLocator.java \ -javax/xml/transform/ErrorListener.java \ -javax/xml/transform/TransformerConfigurationException.java \ -javax/xml/transform/Templates.java \ -javax/xml/transform/Result.java \ -javax/xml/transform/URIResolver.java \ -javax/xml/transform/dom/DOMSource.java \ -javax/xml/transform/dom/DOMLocator.java \ -javax/xml/transform/dom/DOMResult.java \ -javax/xml/transform/Transformer.java \ -javax/xml/transform/TransformerFactory.java \ javax/security/cert/CertificateNotYetValidException.java \ javax/security/cert/Certificate.java \ javax/security/cert/X509Certificate.java \ @@ -7291,6 +6741,7 @@ gnu/gcj/RawDataManaged.java \ gnu/gcj/io/DefaultMimeTypes.java \ gnu/gcj/io/MimeTypes.java \ gnu/gcj/io/SimpleSHSStream.java \ +gnu/gcj/runtime/BootClassLoader.java \ gnu/gcj/runtime/FileDeleter.java \ gnu/gcj/runtime/FinalizerThread.java \ gnu/gcj/runtime/JNIWeakRef.java \ @@ -9580,6 +9031,8 @@ gnu/gcj/io/MimeTypes.lo: gnu/gcj/io/$(am__dirstamp) \ gnu/gcj/io/$(DEPDIR)/$(am__dirstamp) gnu/gcj/io/SimpleSHSStream.lo: gnu/gcj/io/$(am__dirstamp) \ gnu/gcj/io/$(DEPDIR)/$(am__dirstamp) +gnu/gcj/runtime/BootClassLoader.lo: gnu/gcj/runtime/$(am__dirstamp) \ + gnu/gcj/runtime/$(DEPDIR)/$(am__dirstamp) gnu/gcj/runtime/FileDeleter.lo: gnu/gcj/runtime/$(am__dirstamp) \ gnu/gcj/runtime/$(DEPDIR)/$(am__dirstamp) gnu/gcj/runtime/FinalizerThread.lo: gnu/gcj/runtime/$(am__dirstamp) \ @@ -12045,176 +11498,6 @@ gnu/java/awt/peer/ClasspathFontPeer.lo: \ gnu/java/awt/peer/ClasspathTextLayoutPeer.lo: \ gnu/java/awt/peer/$(am__dirstamp) \ gnu/java/awt/peer/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/$(am__dirstamp): - @$(mkdir_p) gnu/java/beans/decoder - @: > gnu/java/beans/decoder/$(am__dirstamp) -gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/java/beans/decoder/$(DEPDIR) - @: > gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/AbstractContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/AbstractCreatableObjectContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/AbstractElementHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/AbstractObjectContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/ArrayContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/ArrayHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/AssemblyException.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/BooleanHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/ByteHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/CharHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/ClassHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/ConstructorContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/Context.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/DecoderContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/DefaultExceptionListener.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/DoubleHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/DummyContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/DummyHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/ElementHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/FloatHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/GrowableArrayContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/IndexContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/IntHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/JavaHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/LongHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/MethodContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/MethodFinder.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/NullHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/ObjectContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/ObjectHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/PersistenceParser.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/PropertyContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/ShortHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/SimpleHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/StaticMethodContext.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/StringHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/decoder/VoidHandler.lo: \ - gnu/java/beans/decoder/$(am__dirstamp) \ - gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/$(am__dirstamp): - @$(mkdir_p) gnu/java/beans/editors - @: > gnu/java/beans/editors/$(am__dirstamp) -gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/java/beans/editors/$(DEPDIR) - @: > gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/ColorEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/FontEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/NativeBooleanEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/NativeByteEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/NativeDoubleEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/NativeFloatEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/NativeIntEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/NativeLongEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/NativeShortEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/editors/StringEditor.lo: \ - gnu/java/beans/editors/$(am__dirstamp) \ - gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/$(am__dirstamp): - @$(mkdir_p) gnu/java/beans - @: > gnu/java/beans/$(am__dirstamp) -gnu/java/beans/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/java/beans/$(DEPDIR) - @: > gnu/java/beans/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/BeanInfoEmbryo.lo: gnu/java/beans/$(am__dirstamp) \ - gnu/java/beans/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/DummyAppletContext.lo: gnu/java/beans/$(am__dirstamp) \ - gnu/java/beans/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/DummyAppletStub.lo: gnu/java/beans/$(am__dirstamp) \ - gnu/java/beans/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/ExplicitBeanInfo.lo: gnu/java/beans/$(am__dirstamp) \ - gnu/java/beans/$(DEPDIR)/$(am__dirstamp) -gnu/java/beans/IntrospectionIncubator.lo: \ - gnu/java/beans/$(am__dirstamp) \ - gnu/java/beans/$(DEPDIR)/$(am__dirstamp) java/applet/$(am__dirstamp): @$(mkdir_p) java/applet @: > java/applet/$(am__dirstamp) @@ -14141,162 +13424,6 @@ gnu/gcj/convert/Output_iconv.lo: gnu/gcj/convert/$(am__dirstamp) \ gnu/gcj/convert/$(DEPDIR)/$(am__dirstamp) gnu/gcj/convert/UnicodeToBytes.lo: gnu/gcj/convert/$(am__dirstamp) \ gnu/gcj/convert/$(DEPDIR)/$(am__dirstamp) -javax/imageio/$(am__dirstamp): - @$(mkdir_p) javax/imageio - @: > javax/imageio/$(am__dirstamp) -javax/imageio/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/imageio/$(DEPDIR) - @: > javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/ImageWriteParam.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/ImageReader.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/ImageWriter.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/IIOException.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/IIOParamController.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/ImageReadParam.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/IIOParam.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/$(am__dirstamp): - @$(mkdir_p) javax/imageio/spi - @: > javax/imageio/spi/$(am__dirstamp) -javax/imageio/spi/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/imageio/spi/$(DEPDIR) - @: > javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/IIORegistry.lo: javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/ImageWriterSpi.lo: \ - javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/ImageOutputStreamSpi.lo: \ - javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/ServiceRegistry.lo: \ - javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/ImageTranscoderSpi.lo: \ - javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/ImageReaderSpi.lo: \ - javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/IIOServiceProvider.lo: \ - javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/ImageReaderWriterSpi.lo: \ - javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/ImageInputStreamSpi.lo: \ - javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/spi/RegisterableService.lo: \ - javax/imageio/spi/$(am__dirstamp) \ - javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/$(am__dirstamp): - @$(mkdir_p) javax/imageio/metadata - @: > javax/imageio/metadata/$(am__dirstamp) -javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/imageio/metadata/$(DEPDIR) - @: > javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/IIOAttr.lo: \ - javax/imageio/metadata/$(am__dirstamp) \ - javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/IIONamedNodeMap.lo: \ - javax/imageio/metadata/$(am__dirstamp) \ - javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/IIONodeList.lo: \ - javax/imageio/metadata/$(am__dirstamp) \ - javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/IIOMetadataFormatImpl.lo: \ - javax/imageio/metadata/$(am__dirstamp) \ - javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/IIOInvalidTreeException.lo: \ - javax/imageio/metadata/$(am__dirstamp) \ - javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/IIOMetadataFormat.lo: \ - javax/imageio/metadata/$(am__dirstamp) \ - javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/IIOMetadataController.lo: \ - javax/imageio/metadata/$(am__dirstamp) \ - javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/IIOMetadataNode.lo: \ - javax/imageio/metadata/$(am__dirstamp) \ - javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/metadata/IIOMetadata.lo: \ - javax/imageio/metadata/$(am__dirstamp) \ - javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/$(am__dirstamp): - @$(mkdir_p) javax/imageio/stream - @: > javax/imageio/stream/$(am__dirstamp) -javax/imageio/stream/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/imageio/stream/$(DEPDIR) - @: > javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/FileImageOutputStream.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/ImageInputStream.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/IIOByteBuffer.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/FileCacheImageInputStream.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/ImageInputStreamImpl.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/ImageOutputStreamImpl.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/MemoryCacheImageInputStream.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/FileCacheImageOutputStream.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/ImageOutputStream.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/MemoryCacheImageOutputStream.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/stream/FileImageInputStream.lo: \ - javax/imageio/stream/$(am__dirstamp) \ - javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) -javax/imageio/event/$(am__dirstamp): - @$(mkdir_p) javax/imageio/event - @: > javax/imageio/event/$(am__dirstamp) -javax/imageio/event/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/imageio/event/$(DEPDIR) - @: > javax/imageio/event/$(DEPDIR)/$(am__dirstamp) -javax/imageio/event/IIOReadProgressListener.lo: \ - javax/imageio/event/$(am__dirstamp) \ - javax/imageio/event/$(DEPDIR)/$(am__dirstamp) -javax/imageio/event/IIOWriteWarningListener.lo: \ - javax/imageio/event/$(am__dirstamp) \ - javax/imageio/event/$(DEPDIR)/$(am__dirstamp) -javax/imageio/event/IIOReadWarningListener.lo: \ - javax/imageio/event/$(am__dirstamp) \ - javax/imageio/event/$(DEPDIR)/$(am__dirstamp) -javax/imageio/event/IIOReadUpdateListener.lo: \ - javax/imageio/event/$(am__dirstamp) \ - javax/imageio/event/$(DEPDIR)/$(am__dirstamp) -javax/imageio/event/IIOWriteProgressListener.lo: \ - javax/imageio/event/$(am__dirstamp) \ - javax/imageio/event/$(DEPDIR)/$(am__dirstamp) -javax/imageio/ImageTranscoder.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/ImageTypeSpecifier.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/ImageIO.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) -javax/imageio/IIOImage.lo: javax/imageio/$(am__dirstamp) \ - javax/imageio/$(DEPDIR)/$(am__dirstamp) javax/net/$(am__dirstamp): @$(mkdir_p) javax/net @: > javax/net/$(am__dirstamp) @@ -14994,208 +14121,6 @@ javax/naming/CompositeName.lo: javax/naming/$(am__dirstamp) \ javax/naming/$(DEPDIR)/$(am__dirstamp) javax/naming/Name.lo: javax/naming/$(am__dirstamp) \ javax/naming/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/$(am__dirstamp): - @$(mkdir_p) javax/xml/xpath - @: > javax/xml/xpath/$(am__dirstamp) -javax/xml/xpath/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/xpath/$(DEPDIR) - @: > javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathConstants.lo: javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathFunction.lo: javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathVariableResolver.lo: \ - javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathExpressionException.lo: \ - javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathFunctionResolver.lo: \ - javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPath.lo: javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathFactoryConfigurationException.lo: \ - javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathFactory.lo: javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathException.lo: javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathExpression.lo: javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/xpath/XPathFunctionException.lo: \ - javax/xml/xpath/$(am__dirstamp) \ - javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) -javax/xml/validation/$(am__dirstamp): - @$(mkdir_p) javax/xml/validation - @: > javax/xml/validation/$(am__dirstamp) -javax/xml/validation/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/validation/$(DEPDIR) - @: > javax/xml/validation/$(DEPDIR)/$(am__dirstamp) -javax/xml/validation/ValidatorHandler.lo: \ - javax/xml/validation/$(am__dirstamp) \ - javax/xml/validation/$(DEPDIR)/$(am__dirstamp) -javax/xml/validation/Validator.lo: \ - javax/xml/validation/$(am__dirstamp) \ - javax/xml/validation/$(DEPDIR)/$(am__dirstamp) -javax/xml/validation/TypeInfoProvider.lo: \ - javax/xml/validation/$(am__dirstamp) \ - javax/xml/validation/$(DEPDIR)/$(am__dirstamp) -javax/xml/validation/SchemaFactory.lo: \ - javax/xml/validation/$(am__dirstamp) \ - javax/xml/validation/$(DEPDIR)/$(am__dirstamp) -javax/xml/validation/Schema.lo: javax/xml/validation/$(am__dirstamp) \ - javax/xml/validation/$(DEPDIR)/$(am__dirstamp) -javax/xml/parsers/$(am__dirstamp): - @$(mkdir_p) javax/xml/parsers - @: > javax/xml/parsers/$(am__dirstamp) -javax/xml/parsers/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/parsers/$(DEPDIR) - @: > javax/xml/parsers/$(DEPDIR)/$(am__dirstamp) -javax/xml/parsers/SAXParserFactory.lo: \ - javax/xml/parsers/$(am__dirstamp) \ - javax/xml/parsers/$(DEPDIR)/$(am__dirstamp) -javax/xml/parsers/FactoryConfigurationError.lo: \ - javax/xml/parsers/$(am__dirstamp) \ - javax/xml/parsers/$(DEPDIR)/$(am__dirstamp) -javax/xml/parsers/SAXParser.lo: javax/xml/parsers/$(am__dirstamp) \ - javax/xml/parsers/$(DEPDIR)/$(am__dirstamp) -javax/xml/parsers/DocumentBuilderFactory.lo: \ - javax/xml/parsers/$(am__dirstamp) \ - javax/xml/parsers/$(DEPDIR)/$(am__dirstamp) -javax/xml/parsers/ParserConfigurationException.lo: \ - javax/xml/parsers/$(am__dirstamp) \ - javax/xml/parsers/$(DEPDIR)/$(am__dirstamp) -javax/xml/parsers/DocumentBuilder.lo: \ - javax/xml/parsers/$(am__dirstamp) \ - javax/xml/parsers/$(DEPDIR)/$(am__dirstamp) -javax/xml/datatype/$(am__dirstamp): - @$(mkdir_p) javax/xml/datatype - @: > javax/xml/datatype/$(am__dirstamp) -javax/xml/datatype/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/datatype/$(DEPDIR) - @: > javax/xml/datatype/$(DEPDIR)/$(am__dirstamp) -javax/xml/datatype/DatatypeFactory.lo: \ - javax/xml/datatype/$(am__dirstamp) \ - javax/xml/datatype/$(DEPDIR)/$(am__dirstamp) -javax/xml/datatype/XMLGregorianCalendar.lo: \ - javax/xml/datatype/$(am__dirstamp) \ - javax/xml/datatype/$(DEPDIR)/$(am__dirstamp) -javax/xml/datatype/Duration.lo: javax/xml/datatype/$(am__dirstamp) \ - javax/xml/datatype/$(DEPDIR)/$(am__dirstamp) -javax/xml/datatype/DatatypeConfigurationException.lo: \ - javax/xml/datatype/$(am__dirstamp) \ - javax/xml/datatype/$(DEPDIR)/$(am__dirstamp) -javax/xml/datatype/DatatypeConstants.lo: \ - javax/xml/datatype/$(am__dirstamp) \ - javax/xml/datatype/$(DEPDIR)/$(am__dirstamp) -javax/xml/$(am__dirstamp): - @$(mkdir_p) javax/xml - @: > javax/xml/$(am__dirstamp) -javax/xml/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/$(DEPDIR) - @: > javax/xml/$(DEPDIR)/$(am__dirstamp) -javax/xml/XMLConstants.lo: javax/xml/$(am__dirstamp) \ - javax/xml/$(DEPDIR)/$(am__dirstamp) -javax/xml/namespace/$(am__dirstamp): - @$(mkdir_p) javax/xml/namespace - @: > javax/xml/namespace/$(am__dirstamp) -javax/xml/namespace/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/namespace/$(DEPDIR) - @: > javax/xml/namespace/$(DEPDIR)/$(am__dirstamp) -javax/xml/namespace/NamespaceContext.lo: \ - javax/xml/namespace/$(am__dirstamp) \ - javax/xml/namespace/$(DEPDIR)/$(am__dirstamp) -javax/xml/namespace/QName.lo: javax/xml/namespace/$(am__dirstamp) \ - javax/xml/namespace/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/$(am__dirstamp): - @$(mkdir_p) javax/xml/transform - @: > javax/xml/transform/$(am__dirstamp) -javax/xml/transform/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/transform/$(DEPDIR) - @: > javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/TransformerException.lo: \ - javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/TransformerFactoryConfigurationError.lo: \ - javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/sax/$(am__dirstamp): - @$(mkdir_p) javax/xml/transform/sax - @: > javax/xml/transform/sax/$(am__dirstamp) -javax/xml/transform/sax/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/transform/sax/$(DEPDIR) - @: > javax/xml/transform/sax/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/sax/SAXResult.lo: \ - javax/xml/transform/sax/$(am__dirstamp) \ - javax/xml/transform/sax/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/sax/TransformerHandler.lo: \ - javax/xml/transform/sax/$(am__dirstamp) \ - javax/xml/transform/sax/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/sax/SAXTransformerFactory.lo: \ - javax/xml/transform/sax/$(am__dirstamp) \ - javax/xml/transform/sax/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/sax/SAXSource.lo: \ - javax/xml/transform/sax/$(am__dirstamp) \ - javax/xml/transform/sax/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/sax/TemplatesHandler.lo: \ - javax/xml/transform/sax/$(am__dirstamp) \ - javax/xml/transform/sax/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/OutputKeys.lo: \ - javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/stream/$(am__dirstamp): - @$(mkdir_p) javax/xml/transform/stream - @: > javax/xml/transform/stream/$(am__dirstamp) -javax/xml/transform/stream/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/transform/stream/$(DEPDIR) - @: > javax/xml/transform/stream/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/stream/StreamResult.lo: \ - javax/xml/transform/stream/$(am__dirstamp) \ - javax/xml/transform/stream/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/stream/StreamSource.lo: \ - javax/xml/transform/stream/$(am__dirstamp) \ - javax/xml/transform/stream/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/Source.lo: javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/SourceLocator.lo: \ - javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/ErrorListener.lo: \ - javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/TransformerConfigurationException.lo: \ - javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/Templates.lo: javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/Result.lo: javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/URIResolver.lo: \ - javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/dom/$(am__dirstamp): - @$(mkdir_p) javax/xml/transform/dom - @: > javax/xml/transform/dom/$(am__dirstamp) -javax/xml/transform/dom/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) javax/xml/transform/dom/$(DEPDIR) - @: > javax/xml/transform/dom/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/dom/DOMSource.lo: \ - javax/xml/transform/dom/$(am__dirstamp) \ - javax/xml/transform/dom/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/dom/DOMLocator.lo: \ - javax/xml/transform/dom/$(am__dirstamp) \ - javax/xml/transform/dom/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/dom/DOMResult.lo: \ - javax/xml/transform/dom/$(am__dirstamp) \ - javax/xml/transform/dom/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/Transformer.lo: \ - javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) -javax/xml/transform/TransformerFactory.lo: \ - javax/xml/transform/$(am__dirstamp) \ - javax/xml/transform/$(DEPDIR)/$(am__dirstamp) javax/security/cert/$(am__dirstamp): @$(mkdir_p) javax/security/cert @: > javax/security/cert/$(am__dirstamp) @@ -15682,426 +14607,6 @@ org/ietf/jgss/GSSCredential.lo: org/ietf/jgss/$(am__dirstamp) \ org/ietf/jgss/$(DEPDIR)/$(am__dirstamp) org/ietf/jgss/ChannelBinding.lo: org/ietf/jgss/$(am__dirstamp) \ org/ietf/jgss/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/$(am__dirstamp): - @$(mkdir_p) gnu/xml/xpath - @: > gnu/xml/xpath/$(am__dirstamp) -gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/xml/xpath/$(DEPDIR) - @: > gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/EqualityExpr.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/NumberFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/StringLengthFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/NameFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/SumFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Pattern.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/StringFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/NegativeExpr.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/UnionExpr.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/SubstringFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Expr.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/XPathFactoryImpl.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/NormalizeSpaceFunction.lo: \ - gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Constant.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Predicate.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Path.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/OrExpr.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/LangFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/StartsWithFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/SubstringAfterFunction.lo: \ - gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/FloorFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/NotFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Root.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/PositionFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/VariableReference.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/DocumentOrderComparator.lo: \ - gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/LocalNameFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/NamespaceUriFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/TranslateFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/FalseFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/AndExpr.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/XPathParser.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/NamespaceTest.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/ConcatFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/NameTest.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/CountFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/IdFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/LastFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/XPathTokenizer.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Steps.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/TrueFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/BooleanFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/ParenthesizedExpr.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/XPathImpl.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Selector.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/RoundFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/SubstringBeforeFunction.lo: \ - gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Function.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/CeilingFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/RelationalExpr.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/FunctionCall.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/NodeTypeTest.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/ArithmeticExpr.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/Test.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/xpath/ContainsFunction.lo: gnu/xml/xpath/$(am__dirstamp) \ - gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/$(am__dirstamp): - @$(mkdir_p) gnu/xml/pipeline - @: > gnu/xml/pipeline/$(am__dirstamp) -gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/xml/pipeline/$(DEPDIR) - @: > gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/EventFilter.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/NSFilter.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/XsltFilter.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/ValidationConsumer.lo: \ - gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/PipelineFactory.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/TextConsumer.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/LinkFilter.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/TeeConsumer.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/DomConsumer.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/EventConsumer.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/WellFormednessFilter.lo: \ - gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/XIncludeFilter.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/pipeline/CallFilter.lo: gnu/xml/pipeline/$(am__dirstamp) \ - gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) -gnu/xml/aelfred2/$(am__dirstamp): - @$(mkdir_p) gnu/xml/aelfred2 - @: > gnu/xml/aelfred2/$(am__dirstamp) -gnu/xml/aelfred2/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/xml/aelfred2/$(DEPDIR) - @: > gnu/xml/aelfred2/$(DEPDIR)/$(am__dirstamp) -gnu/xml/aelfred2/XmlParser.lo: gnu/xml/aelfred2/$(am__dirstamp) \ - gnu/xml/aelfred2/$(DEPDIR)/$(am__dirstamp) -gnu/xml/aelfred2/XmlReader.lo: gnu/xml/aelfred2/$(am__dirstamp) \ - gnu/xml/aelfred2/$(DEPDIR)/$(am__dirstamp) -gnu/xml/aelfred2/JAXPFactory.lo: gnu/xml/aelfred2/$(am__dirstamp) \ - gnu/xml/aelfred2/$(DEPDIR)/$(am__dirstamp) -gnu/xml/aelfred2/ContentHandler2.lo: gnu/xml/aelfred2/$(am__dirstamp) \ - gnu/xml/aelfred2/$(DEPDIR)/$(am__dirstamp) -gnu/xml/aelfred2/SAXDriver.lo: gnu/xml/aelfred2/$(am__dirstamp) \ - gnu/xml/aelfred2/$(DEPDIR)/$(am__dirstamp) -gnu/xml/util/$(am__dirstamp): - @$(mkdir_p) gnu/xml/util - @: > gnu/xml/util/$(am__dirstamp) -gnu/xml/util/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/xml/util/$(DEPDIR) - @: > gnu/xml/util/$(DEPDIR)/$(am__dirstamp) -gnu/xml/util/XCat.lo: gnu/xml/util/$(am__dirstamp) \ - gnu/xml/util/$(DEPDIR)/$(am__dirstamp) -gnu/xml/util/DomParser.lo: gnu/xml/util/$(am__dirstamp) \ - gnu/xml/util/$(DEPDIR)/$(am__dirstamp) -gnu/xml/util/XMLWriter.lo: gnu/xml/util/$(am__dirstamp) \ - gnu/xml/util/$(DEPDIR)/$(am__dirstamp) -gnu/xml/util/Resolver.lo: gnu/xml/util/$(am__dirstamp) \ - gnu/xml/util/$(DEPDIR)/$(am__dirstamp) -gnu/xml/util/DoParse.lo: gnu/xml/util/$(am__dirstamp) \ - gnu/xml/util/$(DEPDIR)/$(am__dirstamp) -gnu/xml/util/XHTMLWriter.lo: gnu/xml/util/$(am__dirstamp) \ - gnu/xml/util/$(DEPDIR)/$(am__dirstamp) -gnu/xml/util/SAXNullTransformerFactory.lo: \ - gnu/xml/util/$(am__dirstamp) \ - gnu/xml/util/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/$(am__dirstamp): - @$(mkdir_p) gnu/xml/dom - @: > gnu/xml/dom/$(am__dirstamp) -gnu/xml/dom/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/xml/dom/$(DEPDIR) - @: > gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomXPathNSResolver.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/$(am__dirstamp): - @$(mkdir_p) gnu/xml/dom/ls - @: > gnu/xml/dom/ls/$(am__dirstamp) -gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/xml/dom/ls/$(DEPDIR) - @: > gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/FilteredSAXEventSink.lo: \ - gnu/xml/dom/ls/$(am__dirstamp) \ - gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/DomLSException.lo: gnu/xml/dom/ls/$(am__dirstamp) \ - gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/DomLSSerializer.lo: gnu/xml/dom/ls/$(am__dirstamp) \ - gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/DomLSInput.lo: gnu/xml/dom/ls/$(am__dirstamp) \ - gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/DomLSOutput.lo: gnu/xml/dom/ls/$(am__dirstamp) \ - gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/SAXEventSink.lo: gnu/xml/dom/ls/$(am__dirstamp) \ - gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/DomLSParser.lo: gnu/xml/dom/ls/$(am__dirstamp) \ - gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/ReaderInputStream.lo: gnu/xml/dom/ls/$(am__dirstamp) \ - gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ls/WriterOutputStream.lo: gnu/xml/dom/ls/$(am__dirstamp) \ - gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomElement.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomNsNode.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomAttr.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DTDAttributeTypeInfo.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomDocumentBuilder.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DTDElementTypeInfo.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomDocument.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomXPathExpression.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomDocumentConfiguration.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomDocumentFragment.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomProcessingInstruction.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/Consumer.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomComment.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomCharacterData.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomExtern.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomEntityReference.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomNamedNodeMap.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ImplementationList.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/ImplementationSource.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomImpl.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomDoctype.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomNode.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomXPathResult.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomDocumentBuilderFactory.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomText.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomNSResolverContext.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomNodeIterator.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomNotation.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/JAXPFactory.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomIterator.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomEvent.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomEntity.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomCDATASection.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/dom/DomDOMException.lo: gnu/xml/dom/$(am__dirstamp) \ - gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/$(am__dirstamp): - @$(mkdir_p) gnu/xml/transform - @: > gnu/xml/transform/$(am__dirstamp) -gnu/xml/transform/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) gnu/xml/transform/$(DEPDIR) - @: > gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/GenerateIdFunction.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/FormatNumberFunction.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ValueOfNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ApplyImportsNode.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/WithParam.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/DocumentFunction.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/SAXSerializer.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/FunctionAvailableFunction.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ElementAvailableFunction.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/IfNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ApplyTemplatesNode.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/SortKey.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/Key.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ElementNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/CurrentFunction.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/XSLComparator.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/CallTemplateNode.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/TemplatesImpl.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ChooseNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/NumberNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/CopyOfNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ParameterNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/TransformerFactoryImpl.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/TextNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/CopyNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/SystemPropertyFunction.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/Stylesheet.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ProcessingInstructionNode.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/UnparsedEntityUriFunction.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/URIResolverEntityResolver.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ErrorListenerErrorHandler.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/Bindings.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/AttributeSet.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/Template.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/MessageNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/LiteralNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/StreamSerializer.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/XSLURIResolver.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/AttributeNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/CommentNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/ForEachNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/KeyFunction.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/TransformerImpl.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/WhenNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/NodeNumberNode.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/OtherwiseNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/AbstractNumberNode.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/TemplateNode.lo: gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/TransformerOutputProperties.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) -gnu/xml/transform/DOMSourceLocator.lo: \ - gnu/xml/transform/$(am__dirstamp) \ - gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) java/lang/ConcreteProcess.lo: java/lang/$(am__dirstamp) \ java/lang/$(DEPDIR)/$(am__dirstamp) gnu/classpath/Configuration.lo: gnu/classpath/$(am__dirstamp) \ @@ -16327,6 +14832,8 @@ mostlyclean-compile: -rm -f gnu/gcj/io/shs.lo -rm -f gnu/gcj/natCore.$(OBJEXT) -rm -f gnu/gcj/natCore.lo + -rm -f gnu/gcj/runtime/BootClassLoader.$(OBJEXT) + -rm -f gnu/gcj/runtime/BootClassLoader.lo -rm -f gnu/gcj/runtime/FileDeleter.$(OBJEXT) -rm -f gnu/gcj/runtime/FileDeleter.lo -rm -f gnu/gcj/runtime/FinalizerThread.$(OBJEXT) @@ -16590,110 +15097,6 @@ mostlyclean-compile: -rm -f gnu/java/awt/peer/gtk/lib_gnu_java_awt_peer_gtk_la-GtkToolkit.lo -rm -f gnu/java/awt/peer/gtk/lib_gnu_java_awt_peer_gtk_la-GtkWindowPeer.$(OBJEXT) -rm -f gnu/java/awt/peer/gtk/lib_gnu_java_awt_peer_gtk_la-GtkWindowPeer.lo - -rm -f gnu/java/beans/BeanInfoEmbryo.$(OBJEXT) - -rm -f gnu/java/beans/BeanInfoEmbryo.lo - -rm -f gnu/java/beans/DummyAppletContext.$(OBJEXT) - -rm -f gnu/java/beans/DummyAppletContext.lo - -rm -f gnu/java/beans/DummyAppletStub.$(OBJEXT) - -rm -f gnu/java/beans/DummyAppletStub.lo - -rm -f gnu/java/beans/ExplicitBeanInfo.$(OBJEXT) - -rm -f gnu/java/beans/ExplicitBeanInfo.lo - -rm -f gnu/java/beans/IntrospectionIncubator.$(OBJEXT) - -rm -f gnu/java/beans/IntrospectionIncubator.lo - -rm -f gnu/java/beans/decoder/AbstractContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/AbstractContext.lo - -rm -f gnu/java/beans/decoder/AbstractCreatableObjectContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/AbstractCreatableObjectContext.lo - -rm -f gnu/java/beans/decoder/AbstractElementHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/AbstractElementHandler.lo - -rm -f gnu/java/beans/decoder/AbstractObjectContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/AbstractObjectContext.lo - -rm -f gnu/java/beans/decoder/ArrayContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/ArrayContext.lo - -rm -f gnu/java/beans/decoder/ArrayHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/ArrayHandler.lo - -rm -f gnu/java/beans/decoder/AssemblyException.$(OBJEXT) - -rm -f gnu/java/beans/decoder/AssemblyException.lo - -rm -f gnu/java/beans/decoder/BooleanHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/BooleanHandler.lo - -rm -f gnu/java/beans/decoder/ByteHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/ByteHandler.lo - -rm -f gnu/java/beans/decoder/CharHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/CharHandler.lo - -rm -f gnu/java/beans/decoder/ClassHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/ClassHandler.lo - -rm -f gnu/java/beans/decoder/ConstructorContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/ConstructorContext.lo - -rm -f gnu/java/beans/decoder/Context.$(OBJEXT) - -rm -f gnu/java/beans/decoder/Context.lo - -rm -f gnu/java/beans/decoder/DecoderContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/DecoderContext.lo - -rm -f gnu/java/beans/decoder/DefaultExceptionListener.$(OBJEXT) - -rm -f gnu/java/beans/decoder/DefaultExceptionListener.lo - -rm -f gnu/java/beans/decoder/DoubleHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/DoubleHandler.lo - -rm -f gnu/java/beans/decoder/DummyContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/DummyContext.lo - -rm -f gnu/java/beans/decoder/DummyHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/DummyHandler.lo - -rm -f gnu/java/beans/decoder/ElementHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/ElementHandler.lo - -rm -f gnu/java/beans/decoder/FloatHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/FloatHandler.lo - -rm -f gnu/java/beans/decoder/GrowableArrayContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/GrowableArrayContext.lo - -rm -f gnu/java/beans/decoder/IndexContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/IndexContext.lo - -rm -f gnu/java/beans/decoder/IntHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/IntHandler.lo - -rm -f gnu/java/beans/decoder/JavaHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/JavaHandler.lo - -rm -f gnu/java/beans/decoder/LongHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/LongHandler.lo - -rm -f gnu/java/beans/decoder/MethodContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/MethodContext.lo - -rm -f gnu/java/beans/decoder/MethodFinder.$(OBJEXT) - -rm -f gnu/java/beans/decoder/MethodFinder.lo - -rm -f gnu/java/beans/decoder/NullHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/NullHandler.lo - -rm -f gnu/java/beans/decoder/ObjectContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/ObjectContext.lo - -rm -f gnu/java/beans/decoder/ObjectHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/ObjectHandler.lo - -rm -f gnu/java/beans/decoder/PersistenceParser.$(OBJEXT) - -rm -f gnu/java/beans/decoder/PersistenceParser.lo - -rm -f gnu/java/beans/decoder/PropertyContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/PropertyContext.lo - -rm -f gnu/java/beans/decoder/ShortHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/ShortHandler.lo - -rm -f gnu/java/beans/decoder/SimpleHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/SimpleHandler.lo - -rm -f gnu/java/beans/decoder/StaticMethodContext.$(OBJEXT) - -rm -f gnu/java/beans/decoder/StaticMethodContext.lo - -rm -f gnu/java/beans/decoder/StringHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/StringHandler.lo - -rm -f gnu/java/beans/decoder/VoidHandler.$(OBJEXT) - -rm -f gnu/java/beans/decoder/VoidHandler.lo - -rm -f gnu/java/beans/editors/ColorEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/ColorEditor.lo - -rm -f gnu/java/beans/editors/FontEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/FontEditor.lo - -rm -f gnu/java/beans/editors/NativeBooleanEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/NativeBooleanEditor.lo - -rm -f gnu/java/beans/editors/NativeByteEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/NativeByteEditor.lo - -rm -f gnu/java/beans/editors/NativeDoubleEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/NativeDoubleEditor.lo - -rm -f gnu/java/beans/editors/NativeFloatEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/NativeFloatEditor.lo - -rm -f gnu/java/beans/editors/NativeIntEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/NativeIntEditor.lo - -rm -f gnu/java/beans/editors/NativeLongEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/NativeLongEditor.lo - -rm -f gnu/java/beans/editors/NativeShortEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/NativeShortEditor.lo - -rm -f gnu/java/beans/editors/StringEditor.$(OBJEXT) - -rm -f gnu/java/beans/editors/StringEditor.lo -rm -f gnu/java/io/ASN1ParsingException.$(OBJEXT) -rm -f gnu/java/io/ASN1ParsingException.lo -rm -f gnu/java/io/Base64InputStream.$(OBJEXT) @@ -17470,354 +15873,6 @@ mostlyclean-compile: -rm -f gnu/regexp/RETokenWordBoundary.lo -rm -f gnu/regexp/UncheckedRE.$(OBJEXT) -rm -f gnu/regexp/UncheckedRE.lo - -rm -f gnu/xml/aelfred2/ContentHandler2.$(OBJEXT) - -rm -f gnu/xml/aelfred2/ContentHandler2.lo - -rm -f gnu/xml/aelfred2/JAXPFactory.$(OBJEXT) - -rm -f gnu/xml/aelfred2/JAXPFactory.lo - -rm -f gnu/xml/aelfred2/SAXDriver.$(OBJEXT) - -rm -f gnu/xml/aelfred2/SAXDriver.lo - -rm -f gnu/xml/aelfred2/XmlParser.$(OBJEXT) - -rm -f gnu/xml/aelfred2/XmlParser.lo - -rm -f gnu/xml/aelfred2/XmlReader.$(OBJEXT) - -rm -f gnu/xml/aelfred2/XmlReader.lo - -rm -f gnu/xml/dom/Consumer.$(OBJEXT) - -rm -f gnu/xml/dom/Consumer.lo - -rm -f gnu/xml/dom/DTDAttributeTypeInfo.$(OBJEXT) - -rm -f gnu/xml/dom/DTDAttributeTypeInfo.lo - -rm -f gnu/xml/dom/DTDElementTypeInfo.$(OBJEXT) - -rm -f gnu/xml/dom/DTDElementTypeInfo.lo - -rm -f gnu/xml/dom/DomAttr.$(OBJEXT) - -rm -f gnu/xml/dom/DomAttr.lo - -rm -f gnu/xml/dom/DomCDATASection.$(OBJEXT) - -rm -f gnu/xml/dom/DomCDATASection.lo - -rm -f gnu/xml/dom/DomCharacterData.$(OBJEXT) - -rm -f gnu/xml/dom/DomCharacterData.lo - -rm -f gnu/xml/dom/DomComment.$(OBJEXT) - -rm -f gnu/xml/dom/DomComment.lo - -rm -f gnu/xml/dom/DomDOMException.$(OBJEXT) - -rm -f gnu/xml/dom/DomDOMException.lo - -rm -f gnu/xml/dom/DomDoctype.$(OBJEXT) - -rm -f gnu/xml/dom/DomDoctype.lo - -rm -f gnu/xml/dom/DomDocument.$(OBJEXT) - -rm -f gnu/xml/dom/DomDocument.lo - -rm -f gnu/xml/dom/DomDocumentBuilder.$(OBJEXT) - -rm -f gnu/xml/dom/DomDocumentBuilder.lo - -rm -f gnu/xml/dom/DomDocumentBuilderFactory.$(OBJEXT) - -rm -f gnu/xml/dom/DomDocumentBuilderFactory.lo - -rm -f gnu/xml/dom/DomDocumentConfiguration.$(OBJEXT) - -rm -f gnu/xml/dom/DomDocumentConfiguration.lo - -rm -f gnu/xml/dom/DomDocumentFragment.$(OBJEXT) - -rm -f gnu/xml/dom/DomDocumentFragment.lo - -rm -f gnu/xml/dom/DomElement.$(OBJEXT) - -rm -f gnu/xml/dom/DomElement.lo - -rm -f gnu/xml/dom/DomEntity.$(OBJEXT) - -rm -f gnu/xml/dom/DomEntity.lo - -rm -f gnu/xml/dom/DomEntityReference.$(OBJEXT) - -rm -f gnu/xml/dom/DomEntityReference.lo - -rm -f gnu/xml/dom/DomEvent.$(OBJEXT) - -rm -f gnu/xml/dom/DomEvent.lo - -rm -f gnu/xml/dom/DomExtern.$(OBJEXT) - -rm -f gnu/xml/dom/DomExtern.lo - -rm -f gnu/xml/dom/DomImpl.$(OBJEXT) - -rm -f gnu/xml/dom/DomImpl.lo - -rm -f gnu/xml/dom/DomIterator.$(OBJEXT) - -rm -f gnu/xml/dom/DomIterator.lo - -rm -f gnu/xml/dom/DomNSResolverContext.$(OBJEXT) - -rm -f gnu/xml/dom/DomNSResolverContext.lo - -rm -f gnu/xml/dom/DomNamedNodeMap.$(OBJEXT) - -rm -f gnu/xml/dom/DomNamedNodeMap.lo - -rm -f gnu/xml/dom/DomNode.$(OBJEXT) - -rm -f gnu/xml/dom/DomNode.lo - -rm -f gnu/xml/dom/DomNodeIterator.$(OBJEXT) - -rm -f gnu/xml/dom/DomNodeIterator.lo - -rm -f gnu/xml/dom/DomNotation.$(OBJEXT) - -rm -f gnu/xml/dom/DomNotation.lo - -rm -f gnu/xml/dom/DomNsNode.$(OBJEXT) - -rm -f gnu/xml/dom/DomNsNode.lo - -rm -f gnu/xml/dom/DomProcessingInstruction.$(OBJEXT) - -rm -f gnu/xml/dom/DomProcessingInstruction.lo - -rm -f gnu/xml/dom/DomText.$(OBJEXT) - -rm -f gnu/xml/dom/DomText.lo - -rm -f gnu/xml/dom/DomXPathExpression.$(OBJEXT) - -rm -f gnu/xml/dom/DomXPathExpression.lo - -rm -f gnu/xml/dom/DomXPathNSResolver.$(OBJEXT) - -rm -f gnu/xml/dom/DomXPathNSResolver.lo - -rm -f gnu/xml/dom/DomXPathResult.$(OBJEXT) - -rm -f gnu/xml/dom/DomXPathResult.lo - -rm -f gnu/xml/dom/ImplementationList.$(OBJEXT) - -rm -f gnu/xml/dom/ImplementationList.lo - -rm -f gnu/xml/dom/ImplementationSource.$(OBJEXT) - -rm -f gnu/xml/dom/ImplementationSource.lo - -rm -f gnu/xml/dom/JAXPFactory.$(OBJEXT) - -rm -f gnu/xml/dom/JAXPFactory.lo - -rm -f gnu/xml/dom/ls/DomLSException.$(OBJEXT) - -rm -f gnu/xml/dom/ls/DomLSException.lo - -rm -f gnu/xml/dom/ls/DomLSInput.$(OBJEXT) - -rm -f gnu/xml/dom/ls/DomLSInput.lo - -rm -f gnu/xml/dom/ls/DomLSOutput.$(OBJEXT) - -rm -f gnu/xml/dom/ls/DomLSOutput.lo - -rm -f gnu/xml/dom/ls/DomLSParser.$(OBJEXT) - -rm -f gnu/xml/dom/ls/DomLSParser.lo - -rm -f gnu/xml/dom/ls/DomLSSerializer.$(OBJEXT) - -rm -f gnu/xml/dom/ls/DomLSSerializer.lo - -rm -f gnu/xml/dom/ls/FilteredSAXEventSink.$(OBJEXT) - -rm -f gnu/xml/dom/ls/FilteredSAXEventSink.lo - -rm -f gnu/xml/dom/ls/ReaderInputStream.$(OBJEXT) - -rm -f gnu/xml/dom/ls/ReaderInputStream.lo - -rm -f gnu/xml/dom/ls/SAXEventSink.$(OBJEXT) - -rm -f gnu/xml/dom/ls/SAXEventSink.lo - -rm -f gnu/xml/dom/ls/WriterOutputStream.$(OBJEXT) - -rm -f gnu/xml/dom/ls/WriterOutputStream.lo - -rm -f gnu/xml/pipeline/CallFilter.$(OBJEXT) - -rm -f gnu/xml/pipeline/CallFilter.lo - -rm -f gnu/xml/pipeline/DomConsumer.$(OBJEXT) - -rm -f gnu/xml/pipeline/DomConsumer.lo - -rm -f gnu/xml/pipeline/EventConsumer.$(OBJEXT) - -rm -f gnu/xml/pipeline/EventConsumer.lo - -rm -f gnu/xml/pipeline/EventFilter.$(OBJEXT) - -rm -f gnu/xml/pipeline/EventFilter.lo - -rm -f gnu/xml/pipeline/LinkFilter.$(OBJEXT) - -rm -f gnu/xml/pipeline/LinkFilter.lo - -rm -f gnu/xml/pipeline/NSFilter.$(OBJEXT) - -rm -f gnu/xml/pipeline/NSFilter.lo - -rm -f gnu/xml/pipeline/PipelineFactory.$(OBJEXT) - -rm -f gnu/xml/pipeline/PipelineFactory.lo - -rm -f gnu/xml/pipeline/TeeConsumer.$(OBJEXT) - -rm -f gnu/xml/pipeline/TeeConsumer.lo - -rm -f gnu/xml/pipeline/TextConsumer.$(OBJEXT) - -rm -f gnu/xml/pipeline/TextConsumer.lo - -rm -f gnu/xml/pipeline/ValidationConsumer.$(OBJEXT) - -rm -f gnu/xml/pipeline/ValidationConsumer.lo - -rm -f gnu/xml/pipeline/WellFormednessFilter.$(OBJEXT) - -rm -f gnu/xml/pipeline/WellFormednessFilter.lo - -rm -f gnu/xml/pipeline/XIncludeFilter.$(OBJEXT) - -rm -f gnu/xml/pipeline/XIncludeFilter.lo - -rm -f gnu/xml/pipeline/XsltFilter.$(OBJEXT) - -rm -f gnu/xml/pipeline/XsltFilter.lo - -rm -f gnu/xml/transform/AbstractNumberNode.$(OBJEXT) - -rm -f gnu/xml/transform/AbstractNumberNode.lo - -rm -f gnu/xml/transform/ApplyImportsNode.$(OBJEXT) - -rm -f gnu/xml/transform/ApplyImportsNode.lo - -rm -f gnu/xml/transform/ApplyTemplatesNode.$(OBJEXT) - -rm -f gnu/xml/transform/ApplyTemplatesNode.lo - -rm -f gnu/xml/transform/AttributeNode.$(OBJEXT) - -rm -f gnu/xml/transform/AttributeNode.lo - -rm -f gnu/xml/transform/AttributeSet.$(OBJEXT) - -rm -f gnu/xml/transform/AttributeSet.lo - -rm -f gnu/xml/transform/Bindings.$(OBJEXT) - -rm -f gnu/xml/transform/Bindings.lo - -rm -f gnu/xml/transform/CallTemplateNode.$(OBJEXT) - -rm -f gnu/xml/transform/CallTemplateNode.lo - -rm -f gnu/xml/transform/ChooseNode.$(OBJEXT) - -rm -f gnu/xml/transform/ChooseNode.lo - -rm -f gnu/xml/transform/CommentNode.$(OBJEXT) - -rm -f gnu/xml/transform/CommentNode.lo - -rm -f gnu/xml/transform/CopyNode.$(OBJEXT) - -rm -f gnu/xml/transform/CopyNode.lo - -rm -f gnu/xml/transform/CopyOfNode.$(OBJEXT) - -rm -f gnu/xml/transform/CopyOfNode.lo - -rm -f gnu/xml/transform/CurrentFunction.$(OBJEXT) - -rm -f gnu/xml/transform/CurrentFunction.lo - -rm -f gnu/xml/transform/DOMSourceLocator.$(OBJEXT) - -rm -f gnu/xml/transform/DOMSourceLocator.lo - -rm -f gnu/xml/transform/DocumentFunction.$(OBJEXT) - -rm -f gnu/xml/transform/DocumentFunction.lo - -rm -f gnu/xml/transform/ElementAvailableFunction.$(OBJEXT) - -rm -f gnu/xml/transform/ElementAvailableFunction.lo - -rm -f gnu/xml/transform/ElementNode.$(OBJEXT) - -rm -f gnu/xml/transform/ElementNode.lo - -rm -f gnu/xml/transform/ErrorListenerErrorHandler.$(OBJEXT) - -rm -f gnu/xml/transform/ErrorListenerErrorHandler.lo - -rm -f gnu/xml/transform/ForEachNode.$(OBJEXT) - -rm -f gnu/xml/transform/ForEachNode.lo - -rm -f gnu/xml/transform/FormatNumberFunction.$(OBJEXT) - -rm -f gnu/xml/transform/FormatNumberFunction.lo - -rm -f gnu/xml/transform/FunctionAvailableFunction.$(OBJEXT) - -rm -f gnu/xml/transform/FunctionAvailableFunction.lo - -rm -f gnu/xml/transform/GenerateIdFunction.$(OBJEXT) - -rm -f gnu/xml/transform/GenerateIdFunction.lo - -rm -f gnu/xml/transform/IfNode.$(OBJEXT) - -rm -f gnu/xml/transform/IfNode.lo - -rm -f gnu/xml/transform/Key.$(OBJEXT) - -rm -f gnu/xml/transform/Key.lo - -rm -f gnu/xml/transform/KeyFunction.$(OBJEXT) - -rm -f gnu/xml/transform/KeyFunction.lo - -rm -f gnu/xml/transform/LiteralNode.$(OBJEXT) - -rm -f gnu/xml/transform/LiteralNode.lo - -rm -f gnu/xml/transform/MessageNode.$(OBJEXT) - -rm -f gnu/xml/transform/MessageNode.lo - -rm -f gnu/xml/transform/NodeNumberNode.$(OBJEXT) - -rm -f gnu/xml/transform/NodeNumberNode.lo - -rm -f gnu/xml/transform/NumberNode.$(OBJEXT) - -rm -f gnu/xml/transform/NumberNode.lo - -rm -f gnu/xml/transform/OtherwiseNode.$(OBJEXT) - -rm -f gnu/xml/transform/OtherwiseNode.lo - -rm -f gnu/xml/transform/ParameterNode.$(OBJEXT) - -rm -f gnu/xml/transform/ParameterNode.lo - -rm -f gnu/xml/transform/ProcessingInstructionNode.$(OBJEXT) - -rm -f gnu/xml/transform/ProcessingInstructionNode.lo - -rm -f gnu/xml/transform/SAXSerializer.$(OBJEXT) - -rm -f gnu/xml/transform/SAXSerializer.lo - -rm -f gnu/xml/transform/SortKey.$(OBJEXT) - -rm -f gnu/xml/transform/SortKey.lo - -rm -f gnu/xml/transform/StreamSerializer.$(OBJEXT) - -rm -f gnu/xml/transform/StreamSerializer.lo - -rm -f gnu/xml/transform/Stylesheet.$(OBJEXT) - -rm -f gnu/xml/transform/Stylesheet.lo - -rm -f gnu/xml/transform/SystemPropertyFunction.$(OBJEXT) - -rm -f gnu/xml/transform/SystemPropertyFunction.lo - -rm -f gnu/xml/transform/Template.$(OBJEXT) - -rm -f gnu/xml/transform/Template.lo - -rm -f gnu/xml/transform/TemplateNode.$(OBJEXT) - -rm -f gnu/xml/transform/TemplateNode.lo - -rm -f gnu/xml/transform/TemplatesImpl.$(OBJEXT) - -rm -f gnu/xml/transform/TemplatesImpl.lo - -rm -f gnu/xml/transform/TextNode.$(OBJEXT) - -rm -f gnu/xml/transform/TextNode.lo - -rm -f gnu/xml/transform/TransformerFactoryImpl.$(OBJEXT) - -rm -f gnu/xml/transform/TransformerFactoryImpl.lo - -rm -f gnu/xml/transform/TransformerImpl.$(OBJEXT) - -rm -f gnu/xml/transform/TransformerImpl.lo - -rm -f gnu/xml/transform/TransformerOutputProperties.$(OBJEXT) - -rm -f gnu/xml/transform/TransformerOutputProperties.lo - -rm -f gnu/xml/transform/URIResolverEntityResolver.$(OBJEXT) - -rm -f gnu/xml/transform/URIResolverEntityResolver.lo - -rm -f gnu/xml/transform/UnparsedEntityUriFunction.$(OBJEXT) - -rm -f gnu/xml/transform/UnparsedEntityUriFunction.lo - -rm -f gnu/xml/transform/ValueOfNode.$(OBJEXT) - -rm -f gnu/xml/transform/ValueOfNode.lo - -rm -f gnu/xml/transform/WhenNode.$(OBJEXT) - -rm -f gnu/xml/transform/WhenNode.lo - -rm -f gnu/xml/transform/WithParam.$(OBJEXT) - -rm -f gnu/xml/transform/WithParam.lo - -rm -f gnu/xml/transform/XSLComparator.$(OBJEXT) - -rm -f gnu/xml/transform/XSLComparator.lo - -rm -f gnu/xml/transform/XSLURIResolver.$(OBJEXT) - -rm -f gnu/xml/transform/XSLURIResolver.lo - -rm -f gnu/xml/util/DoParse.$(OBJEXT) - -rm -f gnu/xml/util/DoParse.lo - -rm -f gnu/xml/util/DomParser.$(OBJEXT) - -rm -f gnu/xml/util/DomParser.lo - -rm -f gnu/xml/util/Resolver.$(OBJEXT) - -rm -f gnu/xml/util/Resolver.lo - -rm -f gnu/xml/util/SAXNullTransformerFactory.$(OBJEXT) - -rm -f gnu/xml/util/SAXNullTransformerFactory.lo - -rm -f gnu/xml/util/XCat.$(OBJEXT) - -rm -f gnu/xml/util/XCat.lo - -rm -f gnu/xml/util/XHTMLWriter.$(OBJEXT) - -rm -f gnu/xml/util/XHTMLWriter.lo - -rm -f gnu/xml/util/XMLWriter.$(OBJEXT) - -rm -f gnu/xml/util/XMLWriter.lo - -rm -f gnu/xml/xpath/AndExpr.$(OBJEXT) - -rm -f gnu/xml/xpath/AndExpr.lo - -rm -f gnu/xml/xpath/ArithmeticExpr.$(OBJEXT) - -rm -f gnu/xml/xpath/ArithmeticExpr.lo - -rm -f gnu/xml/xpath/BooleanFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/BooleanFunction.lo - -rm -f gnu/xml/xpath/CeilingFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/CeilingFunction.lo - -rm -f gnu/xml/xpath/ConcatFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/ConcatFunction.lo - -rm -f gnu/xml/xpath/Constant.$(OBJEXT) - -rm -f gnu/xml/xpath/Constant.lo - -rm -f gnu/xml/xpath/ContainsFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/ContainsFunction.lo - -rm -f gnu/xml/xpath/CountFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/CountFunction.lo - -rm -f gnu/xml/xpath/DocumentOrderComparator.$(OBJEXT) - -rm -f gnu/xml/xpath/DocumentOrderComparator.lo - -rm -f gnu/xml/xpath/EqualityExpr.$(OBJEXT) - -rm -f gnu/xml/xpath/EqualityExpr.lo - -rm -f gnu/xml/xpath/Expr.$(OBJEXT) - -rm -f gnu/xml/xpath/Expr.lo - -rm -f gnu/xml/xpath/FalseFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/FalseFunction.lo - -rm -f gnu/xml/xpath/FloorFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/FloorFunction.lo - -rm -f gnu/xml/xpath/Function.$(OBJEXT) - -rm -f gnu/xml/xpath/Function.lo - -rm -f gnu/xml/xpath/FunctionCall.$(OBJEXT) - -rm -f gnu/xml/xpath/FunctionCall.lo - -rm -f gnu/xml/xpath/IdFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/IdFunction.lo - -rm -f gnu/xml/xpath/LangFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/LangFunction.lo - -rm -f gnu/xml/xpath/LastFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/LastFunction.lo - -rm -f gnu/xml/xpath/LocalNameFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/LocalNameFunction.lo - -rm -f gnu/xml/xpath/NameFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/NameFunction.lo - -rm -f gnu/xml/xpath/NameTest.$(OBJEXT) - -rm -f gnu/xml/xpath/NameTest.lo - -rm -f gnu/xml/xpath/NamespaceTest.$(OBJEXT) - -rm -f gnu/xml/xpath/NamespaceTest.lo - -rm -f gnu/xml/xpath/NamespaceUriFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/NamespaceUriFunction.lo - -rm -f gnu/xml/xpath/NegativeExpr.$(OBJEXT) - -rm -f gnu/xml/xpath/NegativeExpr.lo - -rm -f gnu/xml/xpath/NodeTypeTest.$(OBJEXT) - -rm -f gnu/xml/xpath/NodeTypeTest.lo - -rm -f gnu/xml/xpath/NormalizeSpaceFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/NormalizeSpaceFunction.lo - -rm -f gnu/xml/xpath/NotFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/NotFunction.lo - -rm -f gnu/xml/xpath/NumberFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/NumberFunction.lo - -rm -f gnu/xml/xpath/OrExpr.$(OBJEXT) - -rm -f gnu/xml/xpath/OrExpr.lo - -rm -f gnu/xml/xpath/ParenthesizedExpr.$(OBJEXT) - -rm -f gnu/xml/xpath/ParenthesizedExpr.lo - -rm -f gnu/xml/xpath/Path.$(OBJEXT) - -rm -f gnu/xml/xpath/Path.lo - -rm -f gnu/xml/xpath/Pattern.$(OBJEXT) - -rm -f gnu/xml/xpath/Pattern.lo - -rm -f gnu/xml/xpath/PositionFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/PositionFunction.lo - -rm -f gnu/xml/xpath/Predicate.$(OBJEXT) - -rm -f gnu/xml/xpath/Predicate.lo - -rm -f gnu/xml/xpath/RelationalExpr.$(OBJEXT) - -rm -f gnu/xml/xpath/RelationalExpr.lo - -rm -f gnu/xml/xpath/Root.$(OBJEXT) - -rm -f gnu/xml/xpath/Root.lo - -rm -f gnu/xml/xpath/RoundFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/RoundFunction.lo - -rm -f gnu/xml/xpath/Selector.$(OBJEXT) - -rm -f gnu/xml/xpath/Selector.lo - -rm -f gnu/xml/xpath/StartsWithFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/StartsWithFunction.lo - -rm -f gnu/xml/xpath/Steps.$(OBJEXT) - -rm -f gnu/xml/xpath/Steps.lo - -rm -f gnu/xml/xpath/StringFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/StringFunction.lo - -rm -f gnu/xml/xpath/StringLengthFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/StringLengthFunction.lo - -rm -f gnu/xml/xpath/SubstringAfterFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/SubstringAfterFunction.lo - -rm -f gnu/xml/xpath/SubstringBeforeFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/SubstringBeforeFunction.lo - -rm -f gnu/xml/xpath/SubstringFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/SubstringFunction.lo - -rm -f gnu/xml/xpath/SumFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/SumFunction.lo - -rm -f gnu/xml/xpath/Test.$(OBJEXT) - -rm -f gnu/xml/xpath/Test.lo - -rm -f gnu/xml/xpath/TranslateFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/TranslateFunction.lo - -rm -f gnu/xml/xpath/TrueFunction.$(OBJEXT) - -rm -f gnu/xml/xpath/TrueFunction.lo - -rm -f gnu/xml/xpath/UnionExpr.$(OBJEXT) - -rm -f gnu/xml/xpath/UnionExpr.lo - -rm -f gnu/xml/xpath/VariableReference.$(OBJEXT) - -rm -f gnu/xml/xpath/VariableReference.lo - -rm -f gnu/xml/xpath/XPathFactoryImpl.$(OBJEXT) - -rm -f gnu/xml/xpath/XPathFactoryImpl.lo - -rm -f gnu/xml/xpath/XPathImpl.$(OBJEXT) - -rm -f gnu/xml/xpath/XPathImpl.lo - -rm -f gnu/xml/xpath/XPathParser.$(OBJEXT) - -rm -f gnu/xml/xpath/XPathParser.lo - -rm -f gnu/xml/xpath/XPathTokenizer.$(OBJEXT) - -rm -f gnu/xml/xpath/XPathTokenizer.lo -rm -f java/applet/Applet.$(OBJEXT) -rm -f java/applet/Applet.lo -rm -f java/applet/AppletContext.$(OBJEXT) @@ -20210,98 +18265,6 @@ mostlyclean-compile: -rm -f javax/crypto/spec/RC5ParameterSpec.lo -rm -f javax/crypto/spec/SecretKeySpec.$(OBJEXT) -rm -f javax/crypto/spec/SecretKeySpec.lo - -rm -f javax/imageio/IIOException.$(OBJEXT) - -rm -f javax/imageio/IIOException.lo - -rm -f javax/imageio/IIOImage.$(OBJEXT) - -rm -f javax/imageio/IIOImage.lo - -rm -f javax/imageio/IIOParam.$(OBJEXT) - -rm -f javax/imageio/IIOParam.lo - -rm -f javax/imageio/IIOParamController.$(OBJEXT) - -rm -f javax/imageio/IIOParamController.lo - -rm -f javax/imageio/ImageIO.$(OBJEXT) - -rm -f javax/imageio/ImageIO.lo - -rm -f javax/imageio/ImageReadParam.$(OBJEXT) - -rm -f javax/imageio/ImageReadParam.lo - -rm -f javax/imageio/ImageReader.$(OBJEXT) - -rm -f javax/imageio/ImageReader.lo - -rm -f javax/imageio/ImageTranscoder.$(OBJEXT) - -rm -f javax/imageio/ImageTranscoder.lo - -rm -f javax/imageio/ImageTypeSpecifier.$(OBJEXT) - -rm -f javax/imageio/ImageTypeSpecifier.lo - -rm -f javax/imageio/ImageWriteParam.$(OBJEXT) - -rm -f javax/imageio/ImageWriteParam.lo - -rm -f javax/imageio/ImageWriter.$(OBJEXT) - -rm -f javax/imageio/ImageWriter.lo - -rm -f javax/imageio/event/IIOReadProgressListener.$(OBJEXT) - -rm -f javax/imageio/event/IIOReadProgressListener.lo - -rm -f javax/imageio/event/IIOReadUpdateListener.$(OBJEXT) - -rm -f javax/imageio/event/IIOReadUpdateListener.lo - -rm -f javax/imageio/event/IIOReadWarningListener.$(OBJEXT) - -rm -f javax/imageio/event/IIOReadWarningListener.lo - -rm -f javax/imageio/event/IIOWriteProgressListener.$(OBJEXT) - -rm -f javax/imageio/event/IIOWriteProgressListener.lo - -rm -f javax/imageio/event/IIOWriteWarningListener.$(OBJEXT) - -rm -f javax/imageio/event/IIOWriteWarningListener.lo - -rm -f javax/imageio/metadata/IIOAttr.$(OBJEXT) - -rm -f javax/imageio/metadata/IIOAttr.lo - -rm -f javax/imageio/metadata/IIOInvalidTreeException.$(OBJEXT) - -rm -f javax/imageio/metadata/IIOInvalidTreeException.lo - -rm -f javax/imageio/metadata/IIOMetadata.$(OBJEXT) - -rm -f javax/imageio/metadata/IIOMetadata.lo - -rm -f javax/imageio/metadata/IIOMetadataController.$(OBJEXT) - -rm -f javax/imageio/metadata/IIOMetadataController.lo - -rm -f javax/imageio/metadata/IIOMetadataFormat.$(OBJEXT) - -rm -f javax/imageio/metadata/IIOMetadataFormat.lo - -rm -f javax/imageio/metadata/IIOMetadataFormatImpl.$(OBJEXT) - -rm -f javax/imageio/metadata/IIOMetadataFormatImpl.lo - -rm -f javax/imageio/metadata/IIOMetadataNode.$(OBJEXT) - -rm -f javax/imageio/metadata/IIOMetadataNode.lo - -rm -f javax/imageio/metadata/IIONamedNodeMap.$(OBJEXT) - -rm -f javax/imageio/metadata/IIONamedNodeMap.lo - -rm -f javax/imageio/metadata/IIONodeList.$(OBJEXT) - -rm -f javax/imageio/metadata/IIONodeList.lo - -rm -f javax/imageio/spi/IIORegistry.$(OBJEXT) - -rm -f javax/imageio/spi/IIORegistry.lo - -rm -f javax/imageio/spi/IIOServiceProvider.$(OBJEXT) - -rm -f javax/imageio/spi/IIOServiceProvider.lo - -rm -f javax/imageio/spi/ImageInputStreamSpi.$(OBJEXT) - -rm -f javax/imageio/spi/ImageInputStreamSpi.lo - -rm -f javax/imageio/spi/ImageOutputStreamSpi.$(OBJEXT) - -rm -f javax/imageio/spi/ImageOutputStreamSpi.lo - -rm -f javax/imageio/spi/ImageReaderSpi.$(OBJEXT) - -rm -f javax/imageio/spi/ImageReaderSpi.lo - -rm -f javax/imageio/spi/ImageReaderWriterSpi.$(OBJEXT) - -rm -f javax/imageio/spi/ImageReaderWriterSpi.lo - -rm -f javax/imageio/spi/ImageTranscoderSpi.$(OBJEXT) - -rm -f javax/imageio/spi/ImageTranscoderSpi.lo - -rm -f javax/imageio/spi/ImageWriterSpi.$(OBJEXT) - -rm -f javax/imageio/spi/ImageWriterSpi.lo - -rm -f javax/imageio/spi/RegisterableService.$(OBJEXT) - -rm -f javax/imageio/spi/RegisterableService.lo - -rm -f javax/imageio/spi/ServiceRegistry.$(OBJEXT) - -rm -f javax/imageio/spi/ServiceRegistry.lo - -rm -f javax/imageio/stream/FileCacheImageInputStream.$(OBJEXT) - -rm -f javax/imageio/stream/FileCacheImageInputStream.lo - -rm -f javax/imageio/stream/FileCacheImageOutputStream.$(OBJEXT) - -rm -f javax/imageio/stream/FileCacheImageOutputStream.lo - -rm -f javax/imageio/stream/FileImageInputStream.$(OBJEXT) - -rm -f javax/imageio/stream/FileImageInputStream.lo - -rm -f javax/imageio/stream/FileImageOutputStream.$(OBJEXT) - -rm -f javax/imageio/stream/FileImageOutputStream.lo - -rm -f javax/imageio/stream/IIOByteBuffer.$(OBJEXT) - -rm -f javax/imageio/stream/IIOByteBuffer.lo - -rm -f javax/imageio/stream/ImageInputStream.$(OBJEXT) - -rm -f javax/imageio/stream/ImageInputStream.lo - -rm -f javax/imageio/stream/ImageInputStreamImpl.$(OBJEXT) - -rm -f javax/imageio/stream/ImageInputStreamImpl.lo - -rm -f javax/imageio/stream/ImageOutputStream.$(OBJEXT) - -rm -f javax/imageio/stream/ImageOutputStream.lo - -rm -f javax/imageio/stream/ImageOutputStreamImpl.$(OBJEXT) - -rm -f javax/imageio/stream/ImageOutputStreamImpl.lo - -rm -f javax/imageio/stream/MemoryCacheImageInputStream.$(OBJEXT) - -rm -f javax/imageio/stream/MemoryCacheImageInputStream.lo - -rm -f javax/imageio/stream/MemoryCacheImageOutputStream.$(OBJEXT) - -rm -f javax/imageio/stream/MemoryCacheImageOutputStream.lo -rm -f javax/naming/AuthenticationException.$(OBJEXT) -rm -f javax/naming/AuthenticationException.lo -rm -f javax/naming/AuthenticationNotSupportedException.$(OBJEXT) @@ -21664,110 +19627,6 @@ mostlyclean-compile: -rm -f javax/transaction/xa/XAResource.lo -rm -f javax/transaction/xa/Xid.$(OBJEXT) -rm -f javax/transaction/xa/Xid.lo - -rm -f javax/xml/XMLConstants.$(OBJEXT) - -rm -f javax/xml/XMLConstants.lo - -rm -f javax/xml/datatype/DatatypeConfigurationException.$(OBJEXT) - -rm -f javax/xml/datatype/DatatypeConfigurationException.lo - -rm -f javax/xml/datatype/DatatypeConstants.$(OBJEXT) - -rm -f javax/xml/datatype/DatatypeConstants.lo - -rm -f javax/xml/datatype/DatatypeFactory.$(OBJEXT) - -rm -f javax/xml/datatype/DatatypeFactory.lo - -rm -f javax/xml/datatype/Duration.$(OBJEXT) - -rm -f javax/xml/datatype/Duration.lo - -rm -f javax/xml/datatype/XMLGregorianCalendar.$(OBJEXT) - -rm -f javax/xml/datatype/XMLGregorianCalendar.lo - -rm -f javax/xml/namespace/NamespaceContext.$(OBJEXT) - -rm -f javax/xml/namespace/NamespaceContext.lo - -rm -f javax/xml/namespace/QName.$(OBJEXT) - -rm -f javax/xml/namespace/QName.lo - -rm -f javax/xml/parsers/DocumentBuilder.$(OBJEXT) - -rm -f javax/xml/parsers/DocumentBuilder.lo - -rm -f javax/xml/parsers/DocumentBuilderFactory.$(OBJEXT) - -rm -f javax/xml/parsers/DocumentBuilderFactory.lo - -rm -f javax/xml/parsers/FactoryConfigurationError.$(OBJEXT) - -rm -f javax/xml/parsers/FactoryConfigurationError.lo - -rm -f javax/xml/parsers/ParserConfigurationException.$(OBJEXT) - -rm -f javax/xml/parsers/ParserConfigurationException.lo - -rm -f javax/xml/parsers/SAXParser.$(OBJEXT) - -rm -f javax/xml/parsers/SAXParser.lo - -rm -f javax/xml/parsers/SAXParserFactory.$(OBJEXT) - -rm -f javax/xml/parsers/SAXParserFactory.lo - -rm -f javax/xml/transform/ErrorListener.$(OBJEXT) - -rm -f javax/xml/transform/ErrorListener.lo - -rm -f javax/xml/transform/OutputKeys.$(OBJEXT) - -rm -f javax/xml/transform/OutputKeys.lo - -rm -f javax/xml/transform/Result.$(OBJEXT) - -rm -f javax/xml/transform/Result.lo - -rm -f javax/xml/transform/Source.$(OBJEXT) - -rm -f javax/xml/transform/Source.lo - -rm -f javax/xml/transform/SourceLocator.$(OBJEXT) - -rm -f javax/xml/transform/SourceLocator.lo - -rm -f javax/xml/transform/Templates.$(OBJEXT) - -rm -f javax/xml/transform/Templates.lo - -rm -f javax/xml/transform/Transformer.$(OBJEXT) - -rm -f javax/xml/transform/Transformer.lo - -rm -f javax/xml/transform/TransformerConfigurationException.$(OBJEXT) - -rm -f javax/xml/transform/TransformerConfigurationException.lo - -rm -f javax/xml/transform/TransformerException.$(OBJEXT) - -rm -f javax/xml/transform/TransformerException.lo - -rm -f javax/xml/transform/TransformerFactory.$(OBJEXT) - -rm -f javax/xml/transform/TransformerFactory.lo - -rm -f javax/xml/transform/TransformerFactoryConfigurationError.$(OBJEXT) - -rm -f javax/xml/transform/TransformerFactoryConfigurationError.lo - -rm -f javax/xml/transform/URIResolver.$(OBJEXT) - -rm -f javax/xml/transform/URIResolver.lo - -rm -f javax/xml/transform/dom/DOMLocator.$(OBJEXT) - -rm -f javax/xml/transform/dom/DOMLocator.lo - -rm -f javax/xml/transform/dom/DOMResult.$(OBJEXT) - -rm -f javax/xml/transform/dom/DOMResult.lo - -rm -f javax/xml/transform/dom/DOMSource.$(OBJEXT) - -rm -f javax/xml/transform/dom/DOMSource.lo - -rm -f javax/xml/transform/sax/SAXResult.$(OBJEXT) - -rm -f javax/xml/transform/sax/SAXResult.lo - -rm -f javax/xml/transform/sax/SAXSource.$(OBJEXT) - -rm -f javax/xml/transform/sax/SAXSource.lo - -rm -f javax/xml/transform/sax/SAXTransformerFactory.$(OBJEXT) - -rm -f javax/xml/transform/sax/SAXTransformerFactory.lo - -rm -f javax/xml/transform/sax/TemplatesHandler.$(OBJEXT) - -rm -f javax/xml/transform/sax/TemplatesHandler.lo - -rm -f javax/xml/transform/sax/TransformerHandler.$(OBJEXT) - -rm -f javax/xml/transform/sax/TransformerHandler.lo - -rm -f javax/xml/transform/stream/StreamResult.$(OBJEXT) - -rm -f javax/xml/transform/stream/StreamResult.lo - -rm -f javax/xml/transform/stream/StreamSource.$(OBJEXT) - -rm -f javax/xml/transform/stream/StreamSource.lo - -rm -f javax/xml/validation/Schema.$(OBJEXT) - -rm -f javax/xml/validation/Schema.lo - -rm -f javax/xml/validation/SchemaFactory.$(OBJEXT) - -rm -f javax/xml/validation/SchemaFactory.lo - -rm -f javax/xml/validation/TypeInfoProvider.$(OBJEXT) - -rm -f javax/xml/validation/TypeInfoProvider.lo - -rm -f javax/xml/validation/Validator.$(OBJEXT) - -rm -f javax/xml/validation/Validator.lo - -rm -f javax/xml/validation/ValidatorHandler.$(OBJEXT) - -rm -f javax/xml/validation/ValidatorHandler.lo - -rm -f javax/xml/xpath/XPath.$(OBJEXT) - -rm -f javax/xml/xpath/XPath.lo - -rm -f javax/xml/xpath/XPathConstants.$(OBJEXT) - -rm -f javax/xml/xpath/XPathConstants.lo - -rm -f javax/xml/xpath/XPathException.$(OBJEXT) - -rm -f javax/xml/xpath/XPathException.lo - -rm -f javax/xml/xpath/XPathExpression.$(OBJEXT) - -rm -f javax/xml/xpath/XPathExpression.lo - -rm -f javax/xml/xpath/XPathExpressionException.$(OBJEXT) - -rm -f javax/xml/xpath/XPathExpressionException.lo - -rm -f javax/xml/xpath/XPathFactory.$(OBJEXT) - -rm -f javax/xml/xpath/XPathFactory.lo - -rm -f javax/xml/xpath/XPathFactoryConfigurationException.$(OBJEXT) - -rm -f javax/xml/xpath/XPathFactoryConfigurationException.lo - -rm -f javax/xml/xpath/XPathFunction.$(OBJEXT) - -rm -f javax/xml/xpath/XPathFunction.lo - -rm -f javax/xml/xpath/XPathFunctionException.$(OBJEXT) - -rm -f javax/xml/xpath/XPathFunctionException.lo - -rm -f javax/xml/xpath/XPathFunctionResolver.$(OBJEXT) - -rm -f javax/xml/xpath/XPathFunctionResolver.lo - -rm -f javax/xml/xpath/XPathVariableResolver.$(OBJEXT) - -rm -f javax/xml/xpath/XPathVariableResolver.lo -rm -f jni/classpath/lib_gnu_java_awt_peer_gtk_la-native_state.$(OBJEXT) -rm -f jni/classpath/lib_gnu_java_awt_peer_gtk_la-native_state.lo -rm -f jni/gtk-peer/lib_gnu_java_awt_peer_gtk_la-gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.$(OBJEXT) @@ -21948,6 +19807,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/io/$(DEPDIR)/SimpleSHSStream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/io/$(DEPDIR)/natSimpleSHSStream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/io/$(DEPDIR)/shs.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/BootClassLoader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/FileDeleter.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/FinalizerThread.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/gcj/runtime/$(DEPDIR)/JNIWeakRef.Plo@am__quote@ @@ -22080,58 +19940,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/awt/peer/gtk/$(DEPDIR)/lib_gnu_java_awt_peer_gtk_la-GtkTextFieldPeer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/awt/peer/gtk/$(DEPDIR)/lib_gnu_java_awt_peer_gtk_la-GtkToolkit.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/awt/peer/gtk/$(DEPDIR)/lib_gnu_java_awt_peer_gtk_la-GtkWindowPeer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/$(DEPDIR)/BeanInfoEmbryo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/$(DEPDIR)/DummyAppletContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/$(DEPDIR)/DummyAppletStub.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/$(DEPDIR)/ExplicitBeanInfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/$(DEPDIR)/IntrospectionIncubator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/AbstractContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/AbstractCreatableObjectContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/AbstractElementHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/AbstractObjectContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/ArrayContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/ArrayHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/AssemblyException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/BooleanHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/ByteHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/CharHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/ClassHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/ConstructorContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/Context.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/DecoderContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/DefaultExceptionListener.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/DoubleHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/DummyContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/DummyHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/ElementHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/FloatHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/GrowableArrayContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/IndexContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/IntHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/JavaHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/LongHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/MethodContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/MethodFinder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/NullHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/ObjectContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/ObjectHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/PersistenceParser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/PropertyContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/ShortHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/SimpleHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/StaticMethodContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/StringHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/decoder/$(DEPDIR)/VoidHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/ColorEditor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/FontEditor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/NativeBooleanEditor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/NativeByteEditor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/NativeDoubleEditor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/NativeFloatEditor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/NativeIntEditor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/NativeLongEditor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/NativeShortEditor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/beans/editors/$(DEPDIR)/StringEditor.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/io/$(DEPDIR)/ASN1ParsingException.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/io/$(DEPDIR)/Base64InputStream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/io/$(DEPDIR)/ClassLoaderObjectInputStream.Plo@am__quote@ @@ -22520,180 +20328,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@gnu/regexp/$(DEPDIR)/RETokenStart.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/regexp/$(DEPDIR)/RETokenWordBoundary.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/regexp/$(DEPDIR)/UncheckedRE.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/aelfred2/$(DEPDIR)/ContentHandler2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/aelfred2/$(DEPDIR)/JAXPFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/aelfred2/$(DEPDIR)/SAXDriver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/aelfred2/$(DEPDIR)/XmlParser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/aelfred2/$(DEPDIR)/XmlReader.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/Consumer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DTDAttributeTypeInfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DTDElementTypeInfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomAttr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomCDATASection.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomCharacterData.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomComment.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomDOMException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomDoctype.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomDocument.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomDocumentBuilder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomDocumentBuilderFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomDocumentConfiguration.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomDocumentFragment.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomEntity.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomEntityReference.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomEvent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomExtern.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomIterator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomNSResolverContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomNamedNodeMap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomNodeIterator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomNotation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomNsNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomProcessingInstruction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomText.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomXPathExpression.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomXPathNSResolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/DomXPathResult.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/ImplementationList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/ImplementationSource.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/$(DEPDIR)/JAXPFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/ls/$(DEPDIR)/DomLSException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/ls/$(DEPDIR)/DomLSInput.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/ls/$(DEPDIR)/DomLSOutput.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/ls/$(DEPDIR)/DomLSParser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/ls/$(DEPDIR)/DomLSSerializer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/ls/$(DEPDIR)/FilteredSAXEventSink.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/ls/$(DEPDIR)/ReaderInputStream.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/ls/$(DEPDIR)/SAXEventSink.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/dom/ls/$(DEPDIR)/WriterOutputStream.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/CallFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/DomConsumer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/EventConsumer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/EventFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/LinkFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/NSFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/PipelineFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/TeeConsumer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/TextConsumer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/ValidationConsumer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/WellFormednessFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/XIncludeFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/pipeline/$(DEPDIR)/XsltFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/AbstractNumberNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ApplyImportsNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ApplyTemplatesNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/AttributeNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/AttributeSet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/Bindings.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/CallTemplateNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ChooseNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/CommentNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/CopyNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/CopyOfNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/CurrentFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/DOMSourceLocator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/DocumentFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ElementAvailableFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ElementNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ErrorListenerErrorHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ForEachNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/FormatNumberFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/FunctionAvailableFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/GenerateIdFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/IfNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/Key.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/KeyFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/LiteralNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/MessageNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/NodeNumberNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/NumberNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/OtherwiseNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ParameterNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ProcessingInstructionNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/SAXSerializer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/SortKey.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/StreamSerializer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/Stylesheet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/SystemPropertyFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/Template.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/TemplateNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/TemplatesImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/TextNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/TransformerFactoryImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/TransformerImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/TransformerOutputProperties.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/URIResolverEntityResolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/UnparsedEntityUriFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/ValueOfNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/WhenNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/WithParam.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/XSLComparator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/transform/$(DEPDIR)/XSLURIResolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/util/$(DEPDIR)/DoParse.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/util/$(DEPDIR)/DomParser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/util/$(DEPDIR)/Resolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/util/$(DEPDIR)/SAXNullTransformerFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/util/$(DEPDIR)/XCat.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/util/$(DEPDIR)/XHTMLWriter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/util/$(DEPDIR)/XMLWriter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/AndExpr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/ArithmeticExpr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/BooleanFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/CeilingFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/ConcatFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Constant.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/ContainsFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/CountFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/DocumentOrderComparator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/EqualityExpr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Expr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/FalseFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/FloorFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Function.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/FunctionCall.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/IdFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/LangFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/LastFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/LocalNameFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/NameFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/NameTest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/NamespaceTest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/NamespaceUriFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/NegativeExpr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/NodeTypeTest.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/NormalizeSpaceFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/NotFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/NumberFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/OrExpr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/ParenthesizedExpr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Path.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Pattern.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/PositionFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Predicate.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/RelationalExpr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Root.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/RoundFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Selector.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/StartsWithFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Steps.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/StringFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/StringLengthFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/SubstringAfterFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/SubstringBeforeFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/SubstringFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/SumFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/Test.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/TranslateFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/TrueFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/UnionExpr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/VariableReference.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/XPathFactoryImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/XPathImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/XPathParser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gnu/xml/xpath/$(DEPDIR)/XPathTokenizer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/applet/$(DEPDIR)/Applet.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/applet/$(DEPDIR)/AppletContext.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/applet/$(DEPDIR)/AppletStub.Plo@am__quote@ @@ -23890,52 +21524,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@javax/crypto/spec/$(DEPDIR)/RC2ParameterSpec.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@javax/crypto/spec/$(DEPDIR)/RC5ParameterSpec.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@javax/crypto/spec/$(DEPDIR)/SecretKeySpec.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/IIOException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/IIOImage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/IIOParam.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/IIOParamController.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/ImageIO.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/ImageReadParam.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/ImageReader.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/ImageTranscoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/ImageTypeSpecifier.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/ImageWriteParam.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/$(DEPDIR)/ImageWriter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/event/$(DEPDIR)/IIOReadProgressListener.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/event/$(DEPDIR)/IIOReadUpdateListener.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/event/$(DEPDIR)/IIOReadWarningListener.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/event/$(DEPDIR)/IIOWriteProgressListener.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/event/$(DEPDIR)/IIOWriteWarningListener.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/metadata/$(DEPDIR)/IIOAttr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/metadata/$(DEPDIR)/IIOInvalidTreeException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/metadata/$(DEPDIR)/IIOMetadata.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/metadata/$(DEPDIR)/IIOMetadataController.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/metadata/$(DEPDIR)/IIOMetadataFormat.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/metadata/$(DEPDIR)/IIOMetadataFormatImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/metadata/$(DEPDIR)/IIOMetadataNode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/metadata/$(DEPDIR)/IIONamedNodeMap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/metadata/$(DEPDIR)/IIONodeList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/IIORegistry.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/IIOServiceProvider.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/ImageInputStreamSpi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/ImageOutputStreamSpi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/ImageReaderSpi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/ImageReaderWriterSpi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/ImageTranscoderSpi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/ImageWriterSpi.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/RegisterableService.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/spi/$(DEPDIR)/ServiceRegistry.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/FileCacheImageInputStream.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/FileCacheImageOutputStream.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/FileImageInputStream.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/FileImageOutputStream.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/IIOByteBuffer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/ImageInputStream.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/ImageInputStreamImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/ImageOutputStream.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/ImageOutputStreamImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/MemoryCacheImageInputStream.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/imageio/stream/$(DEPDIR)/MemoryCacheImageOutputStream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@javax/naming/$(DEPDIR)/AuthenticationException.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@javax/naming/$(DEPDIR)/AuthenticationNotSupportedException.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@javax/naming/$(DEPDIR)/BinaryRefAddr.Plo@am__quote@ @@ -24617,58 +22205,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@javax/transaction/xa/$(DEPDIR)/XAException.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@javax/transaction/xa/$(DEPDIR)/XAResource.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@javax/transaction/xa/$(DEPDIR)/Xid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/$(DEPDIR)/XMLConstants.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/datatype/$(DEPDIR)/DatatypeConfigurationException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/datatype/$(DEPDIR)/DatatypeConstants.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/datatype/$(DEPDIR)/DatatypeFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/datatype/$(DEPDIR)/Duration.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/datatype/$(DEPDIR)/XMLGregorianCalendar.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/namespace/$(DEPDIR)/NamespaceContext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/namespace/$(DEPDIR)/QName.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/parsers/$(DEPDIR)/DocumentBuilder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/parsers/$(DEPDIR)/DocumentBuilderFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/parsers/$(DEPDIR)/FactoryConfigurationError.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/parsers/$(DEPDIR)/ParserConfigurationException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/parsers/$(DEPDIR)/SAXParser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/parsers/$(DEPDIR)/SAXParserFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/ErrorListener.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/OutputKeys.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/Result.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/Source.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/SourceLocator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/Templates.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/Transformer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/TransformerConfigurationException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/TransformerException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/TransformerFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/TransformerFactoryConfigurationError.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/$(DEPDIR)/URIResolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/dom/$(DEPDIR)/DOMLocator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/dom/$(DEPDIR)/DOMResult.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/dom/$(DEPDIR)/DOMSource.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/sax/$(DEPDIR)/SAXResult.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/sax/$(DEPDIR)/SAXSource.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/sax/$(DEPDIR)/SAXTransformerFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/sax/$(DEPDIR)/TemplatesHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/sax/$(DEPDIR)/TransformerHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/stream/$(DEPDIR)/StreamResult.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/transform/stream/$(DEPDIR)/StreamSource.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/validation/$(DEPDIR)/Schema.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/validation/$(DEPDIR)/SchemaFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/validation/$(DEPDIR)/TypeInfoProvider.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/validation/$(DEPDIR)/Validator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/validation/$(DEPDIR)/ValidatorHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPath.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathConstants.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathExpression.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathExpressionException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathFactoryConfigurationException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathFunction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathFunctionException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathFunctionResolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@javax/xml/xpath/$(DEPDIR)/XPathVariableResolver.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@jni/classpath/$(DEPDIR)/lib_gnu_java_awt_peer_gtk_la-native_state.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@jni/gtk-peer/$(DEPDIR)/lib_gnu_java_awt_peer_gtk_la-gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@jni/gtk-peer/$(DEPDIR)/lib_gnu_java_awt_peer_gtk_la-gnu_java_awt_peer_gtk_GdkFontPeer.Plo@am__quote@ @@ -25553,9 +23089,6 @@ clean-libtool: -rm -rf gnu/java/awt/image/.libs gnu/java/awt/image/_libs -rm -rf gnu/java/awt/peer/.libs gnu/java/awt/peer/_libs -rm -rf gnu/java/awt/peer/gtk/.libs gnu/java/awt/peer/gtk/_libs - -rm -rf gnu/java/beans/.libs gnu/java/beans/_libs - -rm -rf gnu/java/beans/decoder/.libs gnu/java/beans/decoder/_libs - -rm -rf gnu/java/beans/editors/.libs gnu/java/beans/editors/_libs -rm -rf gnu/java/io/.libs gnu/java/io/_libs -rm -rf gnu/java/lang/.libs gnu/java/lang/_libs -rm -rf gnu/java/lang/reflect/.libs gnu/java/lang/reflect/_libs @@ -25590,13 +23123,6 @@ clean-libtool: -rm -rf gnu/java/util/.libs gnu/java/util/_libs -rm -rf gnu/java/util/prefs/.libs gnu/java/util/prefs/_libs -rm -rf gnu/regexp/.libs gnu/regexp/_libs - -rm -rf gnu/xml/aelfred2/.libs gnu/xml/aelfred2/_libs - -rm -rf gnu/xml/dom/.libs gnu/xml/dom/_libs - -rm -rf gnu/xml/dom/ls/.libs gnu/xml/dom/ls/_libs - -rm -rf gnu/xml/pipeline/.libs gnu/xml/pipeline/_libs - -rm -rf gnu/xml/transform/.libs gnu/xml/transform/_libs - -rm -rf gnu/xml/util/.libs gnu/xml/util/_libs - -rm -rf gnu/xml/xpath/.libs gnu/xml/xpath/_libs -rm -rf java/applet/.libs java/applet/_libs -rm -rf java/awt/.libs java/awt/_libs -rm -rf java/awt/color/.libs java/awt/color/_libs @@ -25647,11 +23173,6 @@ clean-libtool: -rm -rf javax/crypto/.libs javax/crypto/_libs -rm -rf javax/crypto/interfaces/.libs javax/crypto/interfaces/_libs -rm -rf javax/crypto/spec/.libs javax/crypto/spec/_libs - -rm -rf javax/imageio/.libs javax/imageio/_libs - -rm -rf javax/imageio/event/.libs javax/imageio/event/_libs - -rm -rf javax/imageio/metadata/.libs javax/imageio/metadata/_libs - -rm -rf javax/imageio/spi/.libs javax/imageio/spi/_libs - -rm -rf javax/imageio/stream/.libs javax/imageio/stream/_libs -rm -rf javax/naming/.libs javax/naming/_libs -rm -rf javax/naming/directory/.libs javax/naming/directory/_libs -rm -rf javax/naming/event/.libs javax/naming/event/_libs @@ -25687,16 +23208,6 @@ clean-libtool: -rm -rf javax/swing/undo/.libs javax/swing/undo/_libs -rm -rf javax/transaction/.libs javax/transaction/_libs -rm -rf javax/transaction/xa/.libs javax/transaction/xa/_libs - -rm -rf javax/xml/.libs javax/xml/_libs - -rm -rf javax/xml/datatype/.libs javax/xml/datatype/_libs - -rm -rf javax/xml/namespace/.libs javax/xml/namespace/_libs - -rm -rf javax/xml/parsers/.libs javax/xml/parsers/_libs - -rm -rf javax/xml/transform/.libs javax/xml/transform/_libs - -rm -rf javax/xml/transform/dom/.libs javax/xml/transform/dom/_libs - -rm -rf javax/xml/transform/sax/.libs javax/xml/transform/sax/_libs - -rm -rf javax/xml/transform/stream/.libs javax/xml/transform/stream/_libs - -rm -rf javax/xml/validation/.libs javax/xml/validation/_libs - -rm -rf javax/xml/xpath/.libs javax/xml/xpath/_libs -rm -rf jni/classpath/.libs jni/classpath/_libs -rm -rf jni/gtk-peer/.libs jni/gtk-peer/_libs -rm -rf org/ietf/jgss/.libs org/ietf/jgss/_libs @@ -25781,13 +23292,7 @@ uninstall-toolexecmainlibDATA: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -25799,7 +23304,7 @@ $(RECURSIVE_TARGETS): local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ @@ -25807,13 +23312,7 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -25834,7 +23333,7 @@ maintainer-clean-recursive: local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -26109,12 +23608,6 @@ distclean-generic: -rm -f gnu/java/awt/peer/$(am__dirstamp) -rm -f gnu/java/awt/peer/gtk/$(DEPDIR)/$(am__dirstamp) -rm -f gnu/java/awt/peer/gtk/$(am__dirstamp) - -rm -f gnu/java/beans/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/java/beans/$(am__dirstamp) - -rm -f gnu/java/beans/decoder/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/java/beans/decoder/$(am__dirstamp) - -rm -f gnu/java/beans/editors/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/java/beans/editors/$(am__dirstamp) -rm -f gnu/java/io/$(DEPDIR)/$(am__dirstamp) -rm -f gnu/java/io/$(am__dirstamp) -rm -f gnu/java/lang/$(DEPDIR)/$(am__dirstamp) @@ -26183,20 +23676,6 @@ distclean-generic: -rm -f gnu/java/util/prefs/$(am__dirstamp) -rm -f gnu/regexp/$(DEPDIR)/$(am__dirstamp) -rm -f gnu/regexp/$(am__dirstamp) - -rm -f gnu/xml/aelfred2/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/xml/aelfred2/$(am__dirstamp) - -rm -f gnu/xml/dom/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/xml/dom/$(am__dirstamp) - -rm -f gnu/xml/dom/ls/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/xml/dom/ls/$(am__dirstamp) - -rm -f gnu/xml/pipeline/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/xml/pipeline/$(am__dirstamp) - -rm -f gnu/xml/transform/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/xml/transform/$(am__dirstamp) - -rm -f gnu/xml/util/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/xml/util/$(am__dirstamp) - -rm -f gnu/xml/xpath/$(DEPDIR)/$(am__dirstamp) - -rm -f gnu/xml/xpath/$(am__dirstamp) -rm -f java/applet/$(DEPDIR)/$(am__dirstamp) -rm -f java/applet/$(am__dirstamp) -rm -f java/awt/$(DEPDIR)/$(am__dirstamp) @@ -26297,16 +23776,6 @@ distclean-generic: -rm -f javax/crypto/interfaces/$(am__dirstamp) -rm -f javax/crypto/spec/$(DEPDIR)/$(am__dirstamp) -rm -f javax/crypto/spec/$(am__dirstamp) - -rm -f javax/imageio/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/imageio/$(am__dirstamp) - -rm -f javax/imageio/event/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/imageio/event/$(am__dirstamp) - -rm -f javax/imageio/metadata/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/imageio/metadata/$(am__dirstamp) - -rm -f javax/imageio/spi/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/imageio/spi/$(am__dirstamp) - -rm -f javax/imageio/stream/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/imageio/stream/$(am__dirstamp) -rm -f javax/naming/$(DEPDIR)/$(am__dirstamp) -rm -f javax/naming/$(am__dirstamp) -rm -f javax/naming/directory/$(DEPDIR)/$(am__dirstamp) @@ -26377,26 +23846,6 @@ distclean-generic: -rm -f javax/transaction/$(am__dirstamp) -rm -f javax/transaction/xa/$(DEPDIR)/$(am__dirstamp) -rm -f javax/transaction/xa/$(am__dirstamp) - -rm -f javax/xml/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/$(am__dirstamp) - -rm -f javax/xml/datatype/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/datatype/$(am__dirstamp) - -rm -f javax/xml/namespace/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/namespace/$(am__dirstamp) - -rm -f javax/xml/parsers/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/parsers/$(am__dirstamp) - -rm -f javax/xml/transform/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/transform/$(am__dirstamp) - -rm -f javax/xml/transform/dom/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/transform/dom/$(am__dirstamp) - -rm -f javax/xml/transform/sax/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/transform/sax/$(am__dirstamp) - -rm -f javax/xml/transform/stream/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/transform/stream/$(am__dirstamp) - -rm -f javax/xml/validation/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/validation/$(am__dirstamp) - -rm -f javax/xml/xpath/$(DEPDIR)/$(am__dirstamp) - -rm -f javax/xml/xpath/$(am__dirstamp) -rm -f jni/classpath/$(DEPDIR)/$(am__dirstamp) -rm -f jni/classpath/$(am__dirstamp) -rm -f jni/gtk-peer/$(DEPDIR)/$(am__dirstamp) @@ -26417,7 +23866,7 @@ clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) gnu/awt/$(DEPDIR) gnu/awt/j2d/$(DEPDIR) gnu/awt/xlib/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/awt/$(DEPDIR) gnu/java/awt/color/$(DEPDIR) gnu/java/awt/image/$(DEPDIR) gnu/java/awt/peer/$(DEPDIR) gnu/java/awt/peer/gtk/$(DEPDIR) gnu/java/beans/$(DEPDIR) gnu/java/beans/decoder/$(DEPDIR) gnu/java/beans/editors/$(DEPDIR) gnu/java/io/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/reflect/$(DEPDIR) gnu/java/locale/$(DEPDIR) gnu/java/math/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/net/protocol/file/$(DEPDIR) gnu/java/net/protocol/ftp/$(DEPDIR) gnu/java/net/protocol/gcjlib/$(DEPDIR) gnu/java/net/protocol/http/$(DEPDIR) gnu/java/net/protocol/http/event/$(DEPDIR) gnu/java/net/protocol/jar/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) gnu/java/nio/charset/$(DEPDIR) gnu/java/rmi/$(DEPDIR) gnu/java/rmi/dgc/$(DEPDIR) gnu/java/rmi/registry/$(DEPDIR) gnu/java/rmi/rmic/$(DEPDIR) gnu/java/rmi/server/$(DEPDIR) gnu/java/security/$(DEPDIR) gnu/java/security/action/$(DEPDIR) gnu/java/security/ber/$(DEPDIR) gnu/java/security/der/$(DEPDIR) gnu/java/security/pkcs/$(DEPDIR) gnu/java/security/provider/$(DEPDIR) gnu/java/security/util/$(DEPDIR) gnu/java/security/x509/$(DEPDIR) gnu/java/security/x509/ext/$(DEPDIR) gnu/java/text/$(DEPDIR) gnu/java/util/$(DEPDIR) gnu/java/util/prefs/$(DEPDIR) gnu/regexp/$(DEPDIR) gnu/xml/aelfred2/$(DEPDIR) gnu/xml/dom/$(DEPDIR) gnu/xml/dom/ls/$(DEPDIR) gnu/xml/pipeline/$(DEPDIR) gnu/xml/transform/$(DEPDIR) gnu/xml/util/$(DEPDIR) gnu/xml/xpath/$(DEPDIR) java/applet/$(DEPDIR) java/awt/$(DEPDIR) java/awt/color/$(DEPDIR) java/awt/datatransfer/$(DEPDIR) java/awt/dnd/$(DEPDIR) java/awt/dnd/peer/$(DEPDIR) java/awt/event/$(DEPDIR) java/awt/font/$(DEPDIR) java/awt/geom/$(DEPDIR) java/awt/im/$(DEPDIR) java/awt/im/spi/$(DEPDIR) java/awt/image/$(DEPDIR) java/awt/image/renderable/$(DEPDIR) java/awt/peer/$(DEPDIR) java/awt/print/$(DEPDIR) java/beans/$(DEPDIR) java/beans/beancontext/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/math/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/nio/channels/spi/$(DEPDIR) java/nio/charset/$(DEPDIR) java/nio/charset/spi/$(DEPDIR) java/rmi/$(DEPDIR) java/rmi/activation/$(DEPDIR) java/rmi/dgc/$(DEPDIR) java/rmi/registry/$(DEPDIR) java/rmi/server/$(DEPDIR) java/security/$(DEPDIR) java/security/acl/$(DEPDIR) java/security/cert/$(DEPDIR) java/security/interfaces/$(DEPDIR) java/security/spec/$(DEPDIR) java/sql/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/jar/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/prefs/$(DEPDIR) java/util/regex/$(DEPDIR) java/util/zip/$(DEPDIR) javax/accessibility/$(DEPDIR) javax/crypto/$(DEPDIR) javax/crypto/interfaces/$(DEPDIR) javax/crypto/spec/$(DEPDIR) javax/imageio/$(DEPDIR) javax/imageio/event/$(DEPDIR) javax/imageio/metadata/$(DEPDIR) javax/imageio/spi/$(DEPDIR) javax/imageio/stream/$(DEPDIR) javax/naming/$(DEPDIR) javax/naming/directory/$(DEPDIR) javax/naming/event/$(DEPDIR) javax/naming/ldap/$(DEPDIR) javax/naming/spi/$(DEPDIR) javax/net/$(DEPDIR) javax/net/ssl/$(DEPDIR) javax/print/$(DEPDIR) javax/print/attribute/$(DEPDIR) javax/print/attribute/standard/$(DEPDIR) javax/print/event/$(DEPDIR) javax/security/auth/$(DEPDIR) javax/security/auth/callback/$(DEPDIR) javax/security/auth/login/$(DEPDIR) javax/security/auth/spi/$(DEPDIR) javax/security/auth/x500/$(DEPDIR) javax/security/cert/$(DEPDIR) javax/security/sasl/$(DEPDIR) javax/sql/$(DEPDIR) javax/swing/$(DEPDIR) javax/swing/border/$(DEPDIR) javax/swing/colorchooser/$(DEPDIR) javax/swing/event/$(DEPDIR) javax/swing/filechooser/$(DEPDIR) javax/swing/plaf/$(DEPDIR) javax/swing/plaf/basic/$(DEPDIR) javax/swing/plaf/metal/$(DEPDIR) javax/swing/table/$(DEPDIR) javax/swing/text/$(DEPDIR) javax/swing/text/html/$(DEPDIR) javax/swing/text/html/parser/$(DEPDIR) javax/swing/tree/$(DEPDIR) javax/swing/undo/$(DEPDIR) javax/transaction/$(DEPDIR) javax/transaction/xa/$(DEPDIR) javax/xml/$(DEPDIR) javax/xml/datatype/$(DEPDIR) javax/xml/namespace/$(DEPDIR) javax/xml/parsers/$(DEPDIR) javax/xml/transform/$(DEPDIR) javax/xml/transform/dom/$(DEPDIR) javax/xml/transform/sax/$(DEPDIR) javax/xml/transform/stream/$(DEPDIR) javax/xml/validation/$(DEPDIR) javax/xml/xpath/$(DEPDIR) jni/classpath/$(DEPDIR) jni/gtk-peer/$(DEPDIR) org/ietf/jgss/$(DEPDIR) sysdep/$(DEPDIR) + -rm -rf ./$(DEPDIR) gnu/awt/$(DEPDIR) gnu/awt/j2d/$(DEPDIR) gnu/awt/xlib/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/awt/$(DEPDIR) gnu/java/awt/color/$(DEPDIR) gnu/java/awt/image/$(DEPDIR) gnu/java/awt/peer/$(DEPDIR) gnu/java/awt/peer/gtk/$(DEPDIR) gnu/java/io/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/reflect/$(DEPDIR) gnu/java/locale/$(DEPDIR) gnu/java/math/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/net/protocol/file/$(DEPDIR) gnu/java/net/protocol/ftp/$(DEPDIR) gnu/java/net/protocol/gcjlib/$(DEPDIR) gnu/java/net/protocol/http/$(DEPDIR) gnu/java/net/protocol/http/event/$(DEPDIR) gnu/java/net/protocol/jar/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) gnu/java/nio/charset/$(DEPDIR) gnu/java/rmi/$(DEPDIR) gnu/java/rmi/dgc/$(DEPDIR) gnu/java/rmi/registry/$(DEPDIR) gnu/java/rmi/rmic/$(DEPDIR) gnu/java/rmi/server/$(DEPDIR) gnu/java/security/$(DEPDIR) gnu/java/security/action/$(DEPDIR) gnu/java/security/ber/$(DEPDIR) gnu/java/security/der/$(DEPDIR) gnu/java/security/pkcs/$(DEPDIR) gnu/java/security/provider/$(DEPDIR) gnu/java/security/util/$(DEPDIR) gnu/java/security/x509/$(DEPDIR) gnu/java/security/x509/ext/$(DEPDIR) gnu/java/text/$(DEPDIR) gnu/java/util/$(DEPDIR) gnu/java/util/prefs/$(DEPDIR) gnu/regexp/$(DEPDIR) java/applet/$(DEPDIR) java/awt/$(DEPDIR) java/awt/color/$(DEPDIR) java/awt/datatransfer/$(DEPDIR) java/awt/dnd/$(DEPDIR) java/awt/dnd/peer/$(DEPDIR) java/awt/event/$(DEPDIR) java/awt/font/$(DEPDIR) java/awt/geom/$(DEPDIR) java/awt/im/$(DEPDIR) java/awt/im/spi/$(DEPDIR) java/awt/image/$(DEPDIR) java/awt/image/renderable/$(DEPDIR) java/awt/peer/$(DEPDIR) java/awt/print/$(DEPDIR) java/beans/$(DEPDIR) java/beans/beancontext/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/math/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/nio/channels/spi/$(DEPDIR) java/nio/charset/$(DEPDIR) java/nio/charset/spi/$(DEPDIR) java/rmi/$(DEPDIR) java/rmi/activation/$(DEPDIR) java/rmi/dgc/$(DEPDIR) java/rmi/registry/$(DEPDIR) java/rmi/server/$(DEPDIR) java/security/$(DEPDIR) java/security/acl/$(DEPDIR) java/security/cert/$(DEPDIR) java/security/interfaces/$(DEPDIR) java/security/spec/$(DEPDIR) java/sql/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/jar/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/prefs/$(DEPDIR) java/util/regex/$(DEPDIR) java/util/zip/$(DEPDIR) javax/accessibility/$(DEPDIR) javax/crypto/$(DEPDIR) javax/crypto/interfaces/$(DEPDIR) javax/crypto/spec/$(DEPDIR) javax/naming/$(DEPDIR) javax/naming/directory/$(DEPDIR) javax/naming/event/$(DEPDIR) javax/naming/ldap/$(DEPDIR) javax/naming/spi/$(DEPDIR) javax/net/$(DEPDIR) javax/net/ssl/$(DEPDIR) javax/print/$(DEPDIR) javax/print/attribute/$(DEPDIR) javax/print/attribute/standard/$(DEPDIR) javax/print/event/$(DEPDIR) javax/security/auth/$(DEPDIR) javax/security/auth/callback/$(DEPDIR) javax/security/auth/login/$(DEPDIR) javax/security/auth/spi/$(DEPDIR) javax/security/auth/x500/$(DEPDIR) javax/security/cert/$(DEPDIR) javax/security/sasl/$(DEPDIR) javax/sql/$(DEPDIR) javax/swing/$(DEPDIR) javax/swing/border/$(DEPDIR) javax/swing/colorchooser/$(DEPDIR) javax/swing/event/$(DEPDIR) javax/swing/filechooser/$(DEPDIR) javax/swing/plaf/$(DEPDIR) javax/swing/plaf/basic/$(DEPDIR) javax/swing/plaf/metal/$(DEPDIR) javax/swing/table/$(DEPDIR) javax/swing/text/$(DEPDIR) javax/swing/text/html/$(DEPDIR) javax/swing/text/html/parser/$(DEPDIR) javax/swing/tree/$(DEPDIR) javax/swing/undo/$(DEPDIR) javax/transaction/$(DEPDIR) javax/transaction/xa/$(DEPDIR) jni/classpath/$(DEPDIR) jni/gtk-peer/$(DEPDIR) org/ietf/jgss/$(DEPDIR) sysdep/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-libtool distclean-local distclean-tags @@ -26448,7 +23897,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) gnu/awt/$(DEPDIR) gnu/awt/j2d/$(DEPDIR) gnu/awt/xlib/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/awt/$(DEPDIR) gnu/java/awt/color/$(DEPDIR) gnu/java/awt/image/$(DEPDIR) gnu/java/awt/peer/$(DEPDIR) gnu/java/awt/peer/gtk/$(DEPDIR) gnu/java/beans/$(DEPDIR) gnu/java/beans/decoder/$(DEPDIR) gnu/java/beans/editors/$(DEPDIR) gnu/java/io/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/reflect/$(DEPDIR) gnu/java/locale/$(DEPDIR) gnu/java/math/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/net/protocol/file/$(DEPDIR) gnu/java/net/protocol/ftp/$(DEPDIR) gnu/java/net/protocol/gcjlib/$(DEPDIR) gnu/java/net/protocol/http/$(DEPDIR) gnu/java/net/protocol/http/event/$(DEPDIR) gnu/java/net/protocol/jar/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) gnu/java/nio/charset/$(DEPDIR) gnu/java/rmi/$(DEPDIR) gnu/java/rmi/dgc/$(DEPDIR) gnu/java/rmi/registry/$(DEPDIR) gnu/java/rmi/rmic/$(DEPDIR) gnu/java/rmi/server/$(DEPDIR) gnu/java/security/$(DEPDIR) gnu/java/security/action/$(DEPDIR) gnu/java/security/ber/$(DEPDIR) gnu/java/security/der/$(DEPDIR) gnu/java/security/pkcs/$(DEPDIR) gnu/java/security/provider/$(DEPDIR) gnu/java/security/util/$(DEPDIR) gnu/java/security/x509/$(DEPDIR) gnu/java/security/x509/ext/$(DEPDIR) gnu/java/text/$(DEPDIR) gnu/java/util/$(DEPDIR) gnu/java/util/prefs/$(DEPDIR) gnu/regexp/$(DEPDIR) gnu/xml/aelfred2/$(DEPDIR) gnu/xml/dom/$(DEPDIR) gnu/xml/dom/ls/$(DEPDIR) gnu/xml/pipeline/$(DEPDIR) gnu/xml/transform/$(DEPDIR) gnu/xml/util/$(DEPDIR) gnu/xml/xpath/$(DEPDIR) java/applet/$(DEPDIR) java/awt/$(DEPDIR) java/awt/color/$(DEPDIR) java/awt/datatransfer/$(DEPDIR) java/awt/dnd/$(DEPDIR) java/awt/dnd/peer/$(DEPDIR) java/awt/event/$(DEPDIR) java/awt/font/$(DEPDIR) java/awt/geom/$(DEPDIR) java/awt/im/$(DEPDIR) java/awt/im/spi/$(DEPDIR) java/awt/image/$(DEPDIR) java/awt/image/renderable/$(DEPDIR) java/awt/peer/$(DEPDIR) java/awt/print/$(DEPDIR) java/beans/$(DEPDIR) java/beans/beancontext/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/math/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/nio/channels/spi/$(DEPDIR) java/nio/charset/$(DEPDIR) java/nio/charset/spi/$(DEPDIR) java/rmi/$(DEPDIR) java/rmi/activation/$(DEPDIR) java/rmi/dgc/$(DEPDIR) java/rmi/registry/$(DEPDIR) java/rmi/server/$(DEPDIR) java/security/$(DEPDIR) java/security/acl/$(DEPDIR) java/security/cert/$(DEPDIR) java/security/interfaces/$(DEPDIR) java/security/spec/$(DEPDIR) java/sql/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/jar/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/prefs/$(DEPDIR) java/util/regex/$(DEPDIR) java/util/zip/$(DEPDIR) javax/accessibility/$(DEPDIR) javax/crypto/$(DEPDIR) javax/crypto/interfaces/$(DEPDIR) javax/crypto/spec/$(DEPDIR) javax/imageio/$(DEPDIR) javax/imageio/event/$(DEPDIR) javax/imageio/metadata/$(DEPDIR) javax/imageio/spi/$(DEPDIR) javax/imageio/stream/$(DEPDIR) javax/naming/$(DEPDIR) javax/naming/directory/$(DEPDIR) javax/naming/event/$(DEPDIR) javax/naming/ldap/$(DEPDIR) javax/naming/spi/$(DEPDIR) javax/net/$(DEPDIR) javax/net/ssl/$(DEPDIR) javax/print/$(DEPDIR) javax/print/attribute/$(DEPDIR) javax/print/attribute/standard/$(DEPDIR) javax/print/event/$(DEPDIR) javax/security/auth/$(DEPDIR) javax/security/auth/callback/$(DEPDIR) javax/security/auth/login/$(DEPDIR) javax/security/auth/spi/$(DEPDIR) javax/security/auth/x500/$(DEPDIR) javax/security/cert/$(DEPDIR) javax/security/sasl/$(DEPDIR) javax/sql/$(DEPDIR) javax/swing/$(DEPDIR) javax/swing/border/$(DEPDIR) javax/swing/colorchooser/$(DEPDIR) javax/swing/event/$(DEPDIR) javax/swing/filechooser/$(DEPDIR) javax/swing/plaf/$(DEPDIR) javax/swing/plaf/basic/$(DEPDIR) javax/swing/plaf/metal/$(DEPDIR) javax/swing/table/$(DEPDIR) javax/swing/text/$(DEPDIR) javax/swing/text/html/$(DEPDIR) javax/swing/text/html/parser/$(DEPDIR) javax/swing/tree/$(DEPDIR) javax/swing/undo/$(DEPDIR) javax/transaction/$(DEPDIR) javax/transaction/xa/$(DEPDIR) javax/xml/$(DEPDIR) javax/xml/datatype/$(DEPDIR) javax/xml/namespace/$(DEPDIR) javax/xml/parsers/$(DEPDIR) javax/xml/transform/$(DEPDIR) javax/xml/transform/dom/$(DEPDIR) javax/xml/transform/sax/$(DEPDIR) javax/xml/transform/stream/$(DEPDIR) javax/xml/validation/$(DEPDIR) javax/xml/xpath/$(DEPDIR) jni/classpath/$(DEPDIR) jni/gtk-peer/$(DEPDIR) org/ietf/jgss/$(DEPDIR) sysdep/$(DEPDIR) + -rm -rf ./$(DEPDIR) gnu/awt/$(DEPDIR) gnu/awt/j2d/$(DEPDIR) gnu/awt/xlib/$(DEPDIR) gnu/classpath/$(DEPDIR) gnu/gcj/$(DEPDIR) gnu/gcj/convert/$(DEPDIR) gnu/gcj/io/$(DEPDIR) gnu/gcj/runtime/$(DEPDIR) gnu/gcj/tools/gcj_dbtool/$(DEPDIR) gnu/gcj/util/$(DEPDIR) gnu/gcj/xlib/$(DEPDIR) gnu/java/awt/$(DEPDIR) gnu/java/awt/color/$(DEPDIR) gnu/java/awt/image/$(DEPDIR) gnu/java/awt/peer/$(DEPDIR) gnu/java/awt/peer/gtk/$(DEPDIR) gnu/java/io/$(DEPDIR) gnu/java/lang/$(DEPDIR) gnu/java/lang/reflect/$(DEPDIR) gnu/java/locale/$(DEPDIR) gnu/java/math/$(DEPDIR) gnu/java/net/$(DEPDIR) gnu/java/net/protocol/core/$(DEPDIR) gnu/java/net/protocol/file/$(DEPDIR) gnu/java/net/protocol/ftp/$(DEPDIR) gnu/java/net/protocol/gcjlib/$(DEPDIR) gnu/java/net/protocol/http/$(DEPDIR) gnu/java/net/protocol/http/event/$(DEPDIR) gnu/java/net/protocol/jar/$(DEPDIR) gnu/java/nio/$(DEPDIR) gnu/java/nio/channels/$(DEPDIR) gnu/java/nio/charset/$(DEPDIR) gnu/java/rmi/$(DEPDIR) gnu/java/rmi/dgc/$(DEPDIR) gnu/java/rmi/registry/$(DEPDIR) gnu/java/rmi/rmic/$(DEPDIR) gnu/java/rmi/server/$(DEPDIR) gnu/java/security/$(DEPDIR) gnu/java/security/action/$(DEPDIR) gnu/java/security/ber/$(DEPDIR) gnu/java/security/der/$(DEPDIR) gnu/java/security/pkcs/$(DEPDIR) gnu/java/security/provider/$(DEPDIR) gnu/java/security/util/$(DEPDIR) gnu/java/security/x509/$(DEPDIR) gnu/java/security/x509/ext/$(DEPDIR) gnu/java/text/$(DEPDIR) gnu/java/util/$(DEPDIR) gnu/java/util/prefs/$(DEPDIR) gnu/regexp/$(DEPDIR) java/applet/$(DEPDIR) java/awt/$(DEPDIR) java/awt/color/$(DEPDIR) java/awt/datatransfer/$(DEPDIR) java/awt/dnd/$(DEPDIR) java/awt/dnd/peer/$(DEPDIR) java/awt/event/$(DEPDIR) java/awt/font/$(DEPDIR) java/awt/geom/$(DEPDIR) java/awt/im/$(DEPDIR) java/awt/im/spi/$(DEPDIR) java/awt/image/$(DEPDIR) java/awt/image/renderable/$(DEPDIR) java/awt/peer/$(DEPDIR) java/awt/print/$(DEPDIR) java/beans/$(DEPDIR) java/beans/beancontext/$(DEPDIR) java/io/$(DEPDIR) java/lang/$(DEPDIR) java/lang/ref/$(DEPDIR) java/lang/reflect/$(DEPDIR) java/math/$(DEPDIR) java/net/$(DEPDIR) java/nio/$(DEPDIR) java/nio/channels/$(DEPDIR) java/nio/channels/spi/$(DEPDIR) java/nio/charset/$(DEPDIR) java/nio/charset/spi/$(DEPDIR) java/rmi/$(DEPDIR) java/rmi/activation/$(DEPDIR) java/rmi/dgc/$(DEPDIR) java/rmi/registry/$(DEPDIR) java/rmi/server/$(DEPDIR) java/security/$(DEPDIR) java/security/acl/$(DEPDIR) java/security/cert/$(DEPDIR) java/security/interfaces/$(DEPDIR) java/security/spec/$(DEPDIR) java/sql/$(DEPDIR) java/text/$(DEPDIR) java/util/$(DEPDIR) java/util/jar/$(DEPDIR) java/util/logging/$(DEPDIR) java/util/prefs/$(DEPDIR) java/util/regex/$(DEPDIR) java/util/zip/$(DEPDIR) javax/accessibility/$(DEPDIR) javax/crypto/$(DEPDIR) javax/crypto/interfaces/$(DEPDIR) javax/crypto/spec/$(DEPDIR) javax/naming/$(DEPDIR) javax/naming/directory/$(DEPDIR) javax/naming/event/$(DEPDIR) javax/naming/ldap/$(DEPDIR) javax/naming/spi/$(DEPDIR) javax/net/$(DEPDIR) javax/net/ssl/$(DEPDIR) javax/print/$(DEPDIR) javax/print/attribute/$(DEPDIR) javax/print/attribute/standard/$(DEPDIR) javax/print/event/$(DEPDIR) javax/security/auth/$(DEPDIR) javax/security/auth/callback/$(DEPDIR) javax/security/auth/login/$(DEPDIR) javax/security/auth/spi/$(DEPDIR) javax/security/auth/x500/$(DEPDIR) javax/security/cert/$(DEPDIR) javax/security/sasl/$(DEPDIR) javax/sql/$(DEPDIR) javax/swing/$(DEPDIR) javax/swing/border/$(DEPDIR) javax/swing/colorchooser/$(DEPDIR) javax/swing/event/$(DEPDIR) javax/swing/filechooser/$(DEPDIR) javax/swing/plaf/$(DEPDIR) javax/swing/plaf/basic/$(DEPDIR) javax/swing/plaf/metal/$(DEPDIR) javax/swing/table/$(DEPDIR) javax/swing/text/$(DEPDIR) javax/swing/text/html/$(DEPDIR) javax/swing/text/html/parser/$(DEPDIR) javax/swing/tree/$(DEPDIR) javax/swing/undo/$(DEPDIR) javax/transaction/$(DEPDIR) javax/transaction/xa/$(DEPDIR) jni/classpath/$(DEPDIR) jni/gtk-peer/$(DEPDIR) org/ietf/jgss/$(DEPDIR) sysdep/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -26648,7 +24097,7 @@ clean-nat: $(javao_files) $(xlib_javao_files): %.lo: %.java $(LTGCJCOMPILE) -o $@ -c $< -$(gtk_awt_peer_sources:.java=.lo) $(gnu_xml_source_files:.java=.lo): %.lo: %.java +$(gtk_awt_peer_sources:.java=.lo): %.lo: %.java $(LTGCJCOMPILE) -fjni -o $@ -c $< libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES) @@ -26664,6 +24113,26 @@ lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPEND $(lib_gnu_awt_xlib_la_LINK) -objectlist lib_gnu_awt_xlib.objectlist \ -rpath $(toolexeclibdir) $(lib_gnu_awt_xlib_la_LDFLAGS) $(LIBS) +gnu-xml.lo: $(gnu_xml_source_files) + $(MAKE) classes.stamp + $(LTGCJCOMPILE) -fjni -findirect-dispatch -c -o gnu-xml.lo \ + `find gnu/xml -name '*.class' -print` + +javax-imageio.lo: $(javax_imageio_source_files) + $(MAKE) classes.stamp + $(LTGCJCOMPILE) -findirect-dispatch -c -o javax-imageio.lo \ + `find javax/imageio -name '*.class' -print` + +javax-xml.lo: $(javax_xml_source_files) + $(MAKE) classes.stamp + $(LTGCJCOMPILE) -findirect-dispatch -c -o javax-xml.lo \ + `find javax/xml -name '*.class' -print` + +gnu-java-beans.lo: $(gnu_java_beans_source_files) + $(MAKE) classes.stamp + $(LTGCJCOMPILE) -findirect-dispatch -c -o gnu-java-beans.lo \ + `find gnu/java/beans -name '*.class' -print` + %.h: %.class $(GCJH) -classpath '' -bootclasspath $(top_builddir) $(basename $<) diff --git a/libjava/aclocal.m4 b/libjava/aclocal.m4 index 286f26a8618..32840e5e6e0 100644 --- a/libjava/aclocal.m4 +++ b/libjava/aclocal.m4 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.5 -*- Autoconf -*- +# generated automatically by aclocal 1.9.3 -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -11,11 +11,23 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- @@ -28,15 +40,26 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.5])]) + [AM_AUTOMAKE_VERSION([1.9.3])]) -# AM_AUX_DIR_EXPAND -*- Autoconf -*- +# AM_AUX_DIR_EXPAND -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to @@ -83,16 +106,26 @@ AC_PREREQ([2.50])dnl am_aux_dir=`cd $ac_aux_dir && pwd` ]) -# AM_CONDITIONAL -*- Autoconf -*- +# AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. -# serial 7 +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -116,15 +149,26 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) +# serial 7 -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. -# serial 8 +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -133,6 +177,7 @@ fi])]) # CC etc. in the Makefile, will ask for an AC_PROG_CC use... + # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. @@ -272,16 +317,27 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH]) ]) -# Generate code to set up dependency tracking. -*- Autoconf -*- +# Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. -#serial 3 +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ @@ -340,14 +396,25 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Check for Java compiler. -*- Autoconf -*- +# Check for Java compiler. # For now we only handle the GNU compiler. -# Copyright (C) 1999, 2000, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. AC_DEFUN([AM_PROG_GCJ],[ AC_CHECK_PROGS(GCJ, gcj, gcj) @@ -359,19 +426,30 @@ AC_SUBST(GCJFLAGS) _AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(GCJ)]) ]) -# Do all the work for Automake. -*- Autoconf -*- +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. -# serial 12 +# This program 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. -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) @@ -473,27 +551,51 @@ for _am_header in $config_headers :; do done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. -# serial 2 +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. @@ -508,17 +610,28 @@ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# Add --enable-maintainer-mode option to configure. # From Jim Meyering -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004 # Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. -# serial 4 +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) @@ -537,15 +650,26 @@ AC_DEFUN([AM_MAINTAINER_MODE], AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) -# Check to see how 'make' treats includes. -*- Autoconf -*- +# Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. -# serial 3 +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 # AM_MAKE_INCLUDE() # ----------------- @@ -589,17 +713,29 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) -# Copyright (C) 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 +# serial 2 # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. + +# Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl @@ -617,16 +753,27 @@ if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then fi ]) -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- +# -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. -# serial 4 +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -652,16 +799,27 @@ else fi ]) -# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - # AM_PROG_MKDIR_P # --------------- # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -# + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories # created by `make install' are always world readable, even if the # installer happens to have an overly restrictive umask (e.g. 077). @@ -715,15 +873,26 @@ else fi AC_SUBST([mkdir_p])]) -# Helper functions for option handling. -*- Autoconf -*- +# Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. -# serial 3 +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -748,16 +917,28 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 -# Free Software Foundation, Inc. # -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Check to make sure that the build environment is sane. +# -# serial 4 +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 # AM_SANITY_CHECK # --------------- @@ -800,14 +981,25 @@ Check your system clock]) fi AC_MSG_RESULT(yes)]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - # AM_PROG_INSTALL_STRIP -# --------------------- + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip @@ -830,13 +1022,25 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. +# Copyright (C) 2004 Free Software Foundation, Inc. + +# This program 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. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 -# serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- diff --git a/libjava/external/Makefile.in b/libjava/external/Makefile.in index 57f7c071529..86248b22f6f 100644 --- a/libjava/external/Makefile.in +++ b/libjava/external/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -382,13 +382,7 @@ uninstall-info-am: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -400,7 +394,7 @@ $(RECURSIVE_TARGETS): local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ @@ -408,13 +402,7 @@ $(RECURSIVE_TARGETS): mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @set fnord $$MAKEFLAGS; amf=$$2; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -435,7 +423,7 @@ maintainer-clean-recursive: local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ diff --git a/libjava/external/sax/Makefile.am b/libjava/external/sax/Makefile.am index 41760e53492..d4bdf5900d1 100644 --- a/libjava/external/sax/Makefile.am +++ b/libjava/external/sax/Makefile.am @@ -5,6 +5,9 @@ AUTOMAKE_OPTIONS = foreign subdir-objects # May be used by various substitution variables. gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) +## Needed because $(ZIP) is a relative path. +MULTIBUILDTOP = ../../ + ## The compiler with whatever flags we want for both -c and -C ## compiles. GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated -fbootclasspath=$(BOOTCLASSPATH) @@ -20,18 +23,24 @@ AM_GCJFLAGS = \ BUILT_SOURCES = classes.stamp -classes.stamp: $(libsax_convenience_la_SOURCES) +sax.jar: classes.stamp + find org -name '*.class' -print | $(ZIP) -cfME@ $@ + +classes.stamp: $(source_files) here=`pwd`; cd $(srcdir); \ - $(GCJ_WITH_FLAGS) -C -d $$here $(libsax_convenience_la_SOURCES) + $(GCJ_WITH_FLAGS) -C -d $$here $(source_files) echo > classes.stamp mostlyclean-local: -find . -name '*.class' | xargs rm - -rm classes.stamp + -rm classes.stamp sax.jar + +toolexeclib_LTLIBRARIES = libsax-gcj.la -noinst_LTLIBRARIES = libsax_convenience.la +libsax_gcj_la_SOURCES = sax.jar +libsax_gcj_la_GCJFLAGS = -findirect-dispatch -libsax_convenience_la_SOURCES = \ +source_files = \ org/xml/sax/SAXNotSupportedException.java \ org/xml/sax/helpers/NamespaceSupport.java \ org/xml/sax/helpers/AttributesImpl.java \ diff --git a/libjava/external/sax/Makefile.in b/libjava/external/sax/Makefile.in index 88bac2296e5..6ca3c6249c5 100644 --- a/libjava/external/sax/Makefile.in +++ b/libjava/external/sax/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,7 +14,7 @@ @SET_MAKE@ -SOURCES = $(libsax_convenience_la_SOURCES) +SOURCES = $(libsax_gcj_la_SOURCES) srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -58,38 +58,18 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ CONFIG_HEADER = $(top_builddir)/include/config.h \ $(top_builddir)/gcj/libgcj-config.h CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libsax_convenience_la_LIBADD = -am__dirstamp = $(am__leading_dot)dirstamp -am_libsax_convenience_la_OBJECTS = \ - org/xml/sax/SAXNotSupportedException.lo \ - org/xml/sax/helpers/NamespaceSupport.lo \ - org/xml/sax/helpers/AttributesImpl.lo \ - org/xml/sax/helpers/LocatorImpl.lo \ - org/xml/sax/helpers/DefaultHandler.lo \ - org/xml/sax/helpers/AttributeListImpl.lo \ - org/xml/sax/helpers/ParserFactory.lo \ - org/xml/sax/helpers/NewInstance.lo \ - org/xml/sax/helpers/XMLFilterImpl.lo \ - org/xml/sax/helpers/ParserAdapter.lo \ - org/xml/sax/helpers/XMLReaderAdapter.lo \ - org/xml/sax/helpers/XMLReaderFactory.lo \ - org/xml/sax/HandlerBase.lo org/xml/sax/SAXException.lo \ - org/xml/sax/ContentHandler.lo \ - org/xml/sax/SAXNotRecognizedException.lo \ - org/xml/sax/ErrorHandler.lo org/xml/sax/AttributeList.lo \ - org/xml/sax/Locator.lo org/xml/sax/Attributes.lo \ - org/xml/sax/SAXParseException.lo org/xml/sax/XMLFilter.lo \ - org/xml/sax/EntityResolver.lo org/xml/sax/XMLReader.lo \ - org/xml/sax/ext/Locator2.lo org/xml/sax/ext/LexicalHandler.lo \ - org/xml/sax/ext/Attributes2Impl.lo \ - org/xml/sax/ext/DeclHandler.lo org/xml/sax/ext/Attributes2.lo \ - org/xml/sax/ext/EntityResolver2.lo \ - org/xml/sax/ext/Locator2Impl.lo \ - org/xml/sax/ext/DefaultHandler2.lo org/xml/sax/InputSource.lo \ - org/xml/sax/DocumentHandler.lo org/xml/sax/DTDHandler.lo \ - org/xml/sax/Parser.lo -libsax_convenience_la_OBJECTS = $(am_libsax_convenience_la_OBJECTS) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(toolexeclibdir)" +toolexeclibLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(toolexeclib_LTLIBRARIES) +libsax_gcj_la_LIBADD = +am_libsax_gcj_la_OBJECTS = libsax_gcj_la-sax.lo +libsax_gcj_la_OBJECTS = $(am_libsax_gcj_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_builddir)/gcj depcomp = $(SHELL) $(top_srcdir)/../depcomp am__depfiles_maybe = depfiles @@ -99,8 +79,8 @@ LTGCJCOMPILE = $(LIBTOOL) --mode=compile $(GCJ) $(AM_GCJFLAGS) \ GCJLD = $(GCJ) GCJLINK = $(LIBTOOL) --mode=link $(GCJLD) $(AM_GCJFLAGS) $(GCJFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(libsax_convenience_la_SOURCES) -DIST_SOURCES = $(libsax_convenience_la_SOURCES) +SOURCES = $(libsax_gcj_la_SOURCES) +DIST_SOURCES = $(libsax_gcj_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -327,6 +307,7 @@ AUTOMAKE_OPTIONS = foreign subdir-objects # May be used by various substitution variables. gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) +MULTIBUILDTOP = ../../ GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated -fbootclasspath=$(BOOTCLASSPATH) BOOTCLASSPATH = $(here)'$(CLASSPATH_SEPARATOR)'$(srcdir)'$(CLASSPATH_SEPARATOR)'$(top_srcdir)'$(CLASSPATH_SEPARATOR)'$(top_builddir) AM_GCJFLAGS = \ @@ -337,8 +318,10 @@ AM_GCJFLAGS = \ -Wno-deprecated BUILT_SOURCES = classes.stamp -noinst_LTLIBRARIES = libsax_convenience.la -libsax_convenience_la_SOURCES = \ +toolexeclib_LTLIBRARIES = libsax-gcj.la +libsax_gcj_la_SOURCES = sax.jar +libsax_gcj_la_GCJFLAGS = -findirect-dispatch +source_files = \ org/xml/sax/SAXNotSupportedException.java \ org/xml/sax/helpers/NamespaceSupport.java \ org/xml/sax/helpers/AttributesImpl.java \ @@ -380,7 +363,7 @@ all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: -.SUFFIXES: .java .lo .o .obj +.SUFFIXES: .jar .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -410,235 +393,45 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(toolexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(toolexeclibdir)" + @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(toolexeclibdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(toolexeclibdir)/$$f"; \ + else :; fi; \ + done + +uninstall-toolexeclibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$p"; \ + done -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ +clean-toolexeclibLTLIBRARIES: + -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES) + @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -org/xml/sax/$(am__dirstamp): - @$(mkdir_p) org/xml/sax - @: > org/xml/sax/$(am__dirstamp) -org/xml/sax/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/xml/sax/$(DEPDIR) - @: > org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/SAXNotSupportedException.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/$(am__dirstamp): - @$(mkdir_p) org/xml/sax/helpers - @: > org/xml/sax/helpers/$(am__dirstamp) -org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/xml/sax/helpers/$(DEPDIR) - @: > org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/NamespaceSupport.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/AttributesImpl.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/LocatorImpl.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/DefaultHandler.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/AttributeListImpl.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/ParserFactory.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/NewInstance.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/XMLFilterImpl.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/ParserAdapter.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/XMLReaderAdapter.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/helpers/XMLReaderFactory.lo: \ - org/xml/sax/helpers/$(am__dirstamp) \ - org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/HandlerBase.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/SAXException.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ContentHandler.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/SAXNotRecognizedException.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ErrorHandler.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/AttributeList.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/Locator.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/Attributes.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/SAXParseException.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/XMLFilter.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/EntityResolver.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/XMLReader.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ext/$(am__dirstamp): - @$(mkdir_p) org/xml/sax/ext - @: > org/xml/sax/ext/$(am__dirstamp) -org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/xml/sax/ext/$(DEPDIR) - @: > org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ext/Locator2.lo: org/xml/sax/ext/$(am__dirstamp) \ - org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ext/LexicalHandler.lo: org/xml/sax/ext/$(am__dirstamp) \ - org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ext/Attributes2Impl.lo: org/xml/sax/ext/$(am__dirstamp) \ - org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ext/DeclHandler.lo: org/xml/sax/ext/$(am__dirstamp) \ - org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ext/Attributes2.lo: org/xml/sax/ext/$(am__dirstamp) \ - org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ext/EntityResolver2.lo: org/xml/sax/ext/$(am__dirstamp) \ - org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ext/Locator2Impl.lo: org/xml/sax/ext/$(am__dirstamp) \ - org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/ext/DefaultHandler2.lo: org/xml/sax/ext/$(am__dirstamp) \ - org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/InputSource.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/DocumentHandler.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/DTDHandler.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -org/xml/sax/Parser.lo: org/xml/sax/$(am__dirstamp) \ - org/xml/sax/$(DEPDIR)/$(am__dirstamp) -libsax_convenience.la: $(libsax_convenience_la_OBJECTS) $(libsax_convenience_la_DEPENDENCIES) - $(GCJLINK) $(libsax_convenience_la_LDFLAGS) $(libsax_convenience_la_OBJECTS) $(libsax_convenience_la_LIBADD) $(LIBS) +libsax-gcj.la: $(libsax_gcj_la_OBJECTS) $(libsax_gcj_la_DEPENDENCIES) + $(GCJLINK) -rpath $(toolexeclibdir) $(libsax_gcj_la_LDFLAGS) $(libsax_gcj_la_OBJECTS) $(libsax_gcj_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) - -rm -f org/xml/sax/AttributeList.$(OBJEXT) - -rm -f org/xml/sax/AttributeList.lo - -rm -f org/xml/sax/Attributes.$(OBJEXT) - -rm -f org/xml/sax/Attributes.lo - -rm -f org/xml/sax/ContentHandler.$(OBJEXT) - -rm -f org/xml/sax/ContentHandler.lo - -rm -f org/xml/sax/DTDHandler.$(OBJEXT) - -rm -f org/xml/sax/DTDHandler.lo - -rm -f org/xml/sax/DocumentHandler.$(OBJEXT) - -rm -f org/xml/sax/DocumentHandler.lo - -rm -f org/xml/sax/EntityResolver.$(OBJEXT) - -rm -f org/xml/sax/EntityResolver.lo - -rm -f org/xml/sax/ErrorHandler.$(OBJEXT) - -rm -f org/xml/sax/ErrorHandler.lo - -rm -f org/xml/sax/HandlerBase.$(OBJEXT) - -rm -f org/xml/sax/HandlerBase.lo - -rm -f org/xml/sax/InputSource.$(OBJEXT) - -rm -f org/xml/sax/InputSource.lo - -rm -f org/xml/sax/Locator.$(OBJEXT) - -rm -f org/xml/sax/Locator.lo - -rm -f org/xml/sax/Parser.$(OBJEXT) - -rm -f org/xml/sax/Parser.lo - -rm -f org/xml/sax/SAXException.$(OBJEXT) - -rm -f org/xml/sax/SAXException.lo - -rm -f org/xml/sax/SAXNotRecognizedException.$(OBJEXT) - -rm -f org/xml/sax/SAXNotRecognizedException.lo - -rm -f org/xml/sax/SAXNotSupportedException.$(OBJEXT) - -rm -f org/xml/sax/SAXNotSupportedException.lo - -rm -f org/xml/sax/SAXParseException.$(OBJEXT) - -rm -f org/xml/sax/SAXParseException.lo - -rm -f org/xml/sax/XMLFilter.$(OBJEXT) - -rm -f org/xml/sax/XMLFilter.lo - -rm -f org/xml/sax/XMLReader.$(OBJEXT) - -rm -f org/xml/sax/XMLReader.lo - -rm -f org/xml/sax/ext/Attributes2.$(OBJEXT) - -rm -f org/xml/sax/ext/Attributes2.lo - -rm -f org/xml/sax/ext/Attributes2Impl.$(OBJEXT) - -rm -f org/xml/sax/ext/Attributes2Impl.lo - -rm -f org/xml/sax/ext/DeclHandler.$(OBJEXT) - -rm -f org/xml/sax/ext/DeclHandler.lo - -rm -f org/xml/sax/ext/DefaultHandler2.$(OBJEXT) - -rm -f org/xml/sax/ext/DefaultHandler2.lo - -rm -f org/xml/sax/ext/EntityResolver2.$(OBJEXT) - -rm -f org/xml/sax/ext/EntityResolver2.lo - -rm -f org/xml/sax/ext/LexicalHandler.$(OBJEXT) - -rm -f org/xml/sax/ext/LexicalHandler.lo - -rm -f org/xml/sax/ext/Locator2.$(OBJEXT) - -rm -f org/xml/sax/ext/Locator2.lo - -rm -f org/xml/sax/ext/Locator2Impl.$(OBJEXT) - -rm -f org/xml/sax/ext/Locator2Impl.lo - -rm -f org/xml/sax/helpers/AttributeListImpl.$(OBJEXT) - -rm -f org/xml/sax/helpers/AttributeListImpl.lo - -rm -f org/xml/sax/helpers/AttributesImpl.$(OBJEXT) - -rm -f org/xml/sax/helpers/AttributesImpl.lo - -rm -f org/xml/sax/helpers/DefaultHandler.$(OBJEXT) - -rm -f org/xml/sax/helpers/DefaultHandler.lo - -rm -f org/xml/sax/helpers/LocatorImpl.$(OBJEXT) - -rm -f org/xml/sax/helpers/LocatorImpl.lo - -rm -f org/xml/sax/helpers/NamespaceSupport.$(OBJEXT) - -rm -f org/xml/sax/helpers/NamespaceSupport.lo - -rm -f org/xml/sax/helpers/NewInstance.$(OBJEXT) - -rm -f org/xml/sax/helpers/NewInstance.lo - -rm -f org/xml/sax/helpers/ParserAdapter.$(OBJEXT) - -rm -f org/xml/sax/helpers/ParserAdapter.lo - -rm -f org/xml/sax/helpers/ParserFactory.$(OBJEXT) - -rm -f org/xml/sax/helpers/ParserFactory.lo - -rm -f org/xml/sax/helpers/XMLFilterImpl.$(OBJEXT) - -rm -f org/xml/sax/helpers/XMLFilterImpl.lo - -rm -f org/xml/sax/helpers/XMLReaderAdapter.$(OBJEXT) - -rm -f org/xml/sax/helpers/XMLReaderAdapter.lo - -rm -f org/xml/sax/helpers/XMLReaderFactory.$(OBJEXT) - -rm -f org/xml/sax/helpers/XMLReaderFactory.lo distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/AttributeList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/Attributes.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/ContentHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/DTDHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/DocumentHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/EntityResolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/ErrorHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/HandlerBase.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/InputSource.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/Locator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/Parser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/SAXException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/SAXNotRecognizedException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/SAXNotSupportedException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/SAXParseException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/XMLFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/$(DEPDIR)/XMLReader.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/ext/$(DEPDIR)/Attributes2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/ext/$(DEPDIR)/Attributes2Impl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/ext/$(DEPDIR)/DeclHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/ext/$(DEPDIR)/DefaultHandler2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/ext/$(DEPDIR)/EntityResolver2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/ext/$(DEPDIR)/LexicalHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/ext/$(DEPDIR)/Locator2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/ext/$(DEPDIR)/Locator2Impl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/AttributeListImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/AttributesImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/DefaultHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/LocatorImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/NamespaceSupport.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/NewInstance.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/ParserAdapter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/ParserFactory.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/XMLFilterImpl.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/XMLReaderAdapter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/xml/sax/helpers/$(DEPDIR)/XMLReaderFactory.Plo@am__quote@ - -.java.o: +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsax_gcj_la-sax.Plo@am__quote@ + +.jar.o: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ @am__fastdepGCJ_TRUE@ if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -646,7 +439,7 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(GCJCOMPILE) -c -o $@ $< -.java.obj: +.jar.obj: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \ @am__fastdepGCJ_TRUE@ if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -654,7 +447,7 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(GCJCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -.java.lo: +.jar.lo: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \ @am__fastdepGCJ_TRUE@ if $(LTGCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -662,14 +455,18 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(LTGCJCOMPILE) -c -o $@ $< +libsax_gcj_la-sax.lo: sax.jar +@am__fastdepGCJ_TRUE@ if $(LIBTOOL) --mode=compile $(GCJ) $(libsax_gcj_la_GCJFLAGS) $(GCJFLAGS) -MT libsax_gcj_la-sax.lo -MD -MP -MF "$(DEPDIR)/libsax_gcj_la-sax.Tpo" -c -o libsax_gcj_la-sax.lo `test -f 'sax.jar' || echo '$(srcdir)/'`sax.jar; \ +@am__fastdepGCJ_TRUE@ then mv -f "$(DEPDIR)/libsax_gcj_la-sax.Tpo" "$(DEPDIR)/libsax_gcj_la-sax.Plo"; else rm -f "$(DEPDIR)/libsax_gcj_la-sax.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepGCJ_FALSE@ source='sax.jar' object='libsax_gcj_la-sax.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepGCJ_FALSE@ $(LIBTOOL) --mode=compile $(GCJ) $(libsax_gcj_la_GCJFLAGS) $(GCJFLAGS) -c -o libsax_gcj_la-sax.lo `test -f 'sax.jar' || echo '$(srcdir)/'`sax.jar + mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -rm -rf org/xml/sax/.libs org/xml/sax/_libs - -rm -rf org/xml/sax/ext/.libs org/xml/sax/ext/_libs - -rm -rf org/xml/sax/helpers/.libs org/xml/sax/helpers/_libs distclean-libtool: -rm -f libtool @@ -755,6 +552,9 @@ check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LTLIBRARIES) installdirs: + for dir in "$(DESTDIR)$(toolexeclibdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am @@ -776,12 +576,6 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -rm -f org/xml/sax/$(DEPDIR)/$(am__dirstamp) - -rm -f org/xml/sax/$(am__dirstamp) - -rm -f org/xml/sax/ext/$(DEPDIR)/$(am__dirstamp) - -rm -f org/xml/sax/ext/$(am__dirstamp) - -rm -f org/xml/sax/helpers/$(DEPDIR)/$(am__dirstamp) - -rm -f org/xml/sax/helpers/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -789,11 +583,11 @@ maintainer-clean-generic: -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ +clean-am: clean-generic clean-libtool clean-toolexeclibLTLIBRARIES \ mostlyclean-am distclean: distclean-am - -rm -rf org/xml/sax/$(DEPDIR) org/xml/sax/ext/$(DEPDIR) org/xml/sax/helpers/$(DEPDIR) + -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-libtool distclean-tags @@ -810,7 +604,7 @@ info-am: install-data-am: -install-exec-am: +install-exec-am: install-toolexeclibLTLIBRARIES install-info: install-info-am @@ -819,7 +613,7 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf org/xml/sax/$(DEPDIR) org/xml/sax/ext/$(DEPDIR) org/xml/sax/helpers/$(DEPDIR) + -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -836,29 +630,33 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: uninstall-info-am uninstall-toolexeclibLTLIBRARIES .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + clean-libtool clean-toolexeclibLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-exec \ install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - mostlyclean-local pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-info-am + install-strip install-toolexeclibLTLIBRARIES installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am \ + uninstall-toolexeclibLTLIBRARIES + +sax.jar: classes.stamp + find org -name '*.class' -print | $(ZIP) -cfME@ $@ -classes.stamp: $(libsax_convenience_la_SOURCES) +classes.stamp: $(source_files) here=`pwd`; cd $(srcdir); \ - $(GCJ_WITH_FLAGS) -C -d $$here $(libsax_convenience_la_SOURCES) + $(GCJ_WITH_FLAGS) -C -d $$here $(source_files) echo > classes.stamp mostlyclean-local: -find . -name '*.class' | xargs rm - -rm classes.stamp + -rm classes.stamp sax.jar # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/libjava/external/sax/org/xml/sax/helpers/NamespaceSupport.java b/libjava/external/sax/org/xml/sax/helpers/NamespaceSupport.java index 01e11faf83e..52472fa6e03 100644 --- a/libjava/external/sax/org/xml/sax/helpers/NamespaceSupport.java +++ b/libjava/external/sax/org/xml/sax/helpers/NamespaceSupport.java @@ -2,7 +2,7 @@ // http://www.saxproject.org // Written by David Megginson // This class is in the Public Domain. NO WARRANTY! -// $Id: NamespaceSupport.java,v 1.1 2004/12/23 22:38:42 mark Exp $ +// $Id: NamespaceSupport.java,v 1.1 2005/02/02 00:41:54 tromey Exp $ package org.xml.sax.helpers; @@ -113,7 +113,8 @@ public class NamespaceSupport /** * An empty enumeration. */ - private final static Enumeration EMPTY_ENUMERATION = + // GCJ LOCAL: work around gcj bug by making this package-private + final static Enumeration EMPTY_ENUMERATION = new Vector().elements(); diff --git a/libjava/external/w3c_dom/Makefile.am b/libjava/external/w3c_dom/Makefile.am index 9eaa39a39eb..f94e5626445 100644 --- a/libjava/external/w3c_dom/Makefile.am +++ b/libjava/external/w3c_dom/Makefile.am @@ -5,6 +5,9 @@ AUTOMAKE_OPTIONS = foreign subdir-objects # May be used by various substitution variables. gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) +## Needed because $(ZIP) is a relative path. +MULTIBUILDTOP = ../../ + ## The compiler with whatever flags we want for both -c and -C ## compiles. GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated -fbootclasspath=$(BOOTCLASSPATH) @@ -20,18 +23,24 @@ AM_GCJFLAGS = \ BUILT_SOURCES = classes.stamp -classes.stamp: $(libw3c_convenience_la_SOURCES) +w3c.jar: classes.stamp + find org -name '*.class' -print | $(ZIP) -cfME@ $@ + +classes.stamp: $(source_files) here=`pwd`; cd $(srcdir); \ - $(GCJ_WITH_FLAGS) -C -d $$here $(libw3c_convenience_la_SOURCES) + $(GCJ_WITH_FLAGS) -C -d $$here $(source_files) echo > classes.stamp mostlyclean-local: -find . -name '*.class' | xargs rm - -rm classes.stamp + -rm classes.stamp w3c.jar + +toolexeclib_LTLIBRARIES = libw3c-gcj.la -noinst_LTLIBRARIES = libw3c_convenience.la +libw3c_gcj_la_SOURCES = w3c.jar +libw3c_gcj_la_GCJFLAGS = -findirect-dispatch -libw3c_convenience_la_SOURCES = \ +source_files = \ org/w3c/dom/xpath/XPathNamespace.java \ org/w3c/dom/xpath/XPathResult.java \ org/w3c/dom/xpath/XPathException.java \ diff --git a/libjava/external/w3c_dom/Makefile.in b/libjava/external/w3c_dom/Makefile.in index 8d64e75cbb3..6aef501e357 100644 --- a/libjava/external/w3c_dom/Makefile.in +++ b/libjava/external/w3c_dom/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,7 +14,7 @@ @SET_MAKE@ -SOURCES = $(libw3c_convenience_la_SOURCES) +SOURCES = $(libw3c_gcj_la_SOURCES) srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -58,132 +58,18 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ CONFIG_HEADER = $(top_builddir)/include/config.h \ $(top_builddir)/gcj/libgcj-config.h CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libw3c_convenience_la_LIBADD = -am__dirstamp = $(am__leading_dot)dirstamp -am_libw3c_convenience_la_OBJECTS = \ - org/w3c/dom/xpath/XPathNamespace.lo \ - org/w3c/dom/xpath/XPathResult.lo \ - org/w3c/dom/xpath/XPathException.lo \ - org/w3c/dom/xpath/XPathExpression.lo \ - org/w3c/dom/xpath/XPathNSResolver.lo \ - org/w3c/dom/xpath/XPathEvaluator.lo \ - org/w3c/dom/DOMException.lo org/w3c/dom/Comment.lo \ - org/w3c/dom/stylesheets/DocumentStyle.lo \ - org/w3c/dom/stylesheets/MediaList.lo \ - org/w3c/dom/stylesheets/LinkStyle.lo \ - org/w3c/dom/stylesheets/StyleSheet.lo \ - org/w3c/dom/stylesheets/StyleSheetList.lo org/w3c/dom/Attr.lo \ - org/w3c/dom/Notation.lo org/w3c/dom/TypeInfo.lo \ - org/w3c/dom/html2/HTMLIsIndexElement.lo \ - org/w3c/dom/html2/HTMLTableColElement.lo \ - org/w3c/dom/html2/HTMLLinkElement.lo \ - org/w3c/dom/html2/HTMLTitleElement.lo \ - org/w3c/dom/html2/HTMLBRElement.lo \ - org/w3c/dom/html2/HTMLHeadElement.lo \ - org/w3c/dom/html2/HTMLHtmlElement.lo \ - org/w3c/dom/html2/HTMLScriptElement.lo \ - org/w3c/dom/html2/HTMLTableRowElement.lo \ - org/w3c/dom/html2/HTMLOptionsCollection.lo \ - org/w3c/dom/html2/HTMLTableCellElement.lo \ - org/w3c/dom/html2/HTMLDListElement.lo \ - org/w3c/dom/html2/HTMLFieldSetElement.lo \ - org/w3c/dom/html2/HTMLImageElement.lo \ - org/w3c/dom/html2/HTMLHRElement.lo \ - org/w3c/dom/html2/HTMLModElement.lo \ - org/w3c/dom/html2/HTMLHeadingElement.lo \ - org/w3c/dom/html2/HTMLTableElement.lo \ - org/w3c/dom/html2/HTMLAreaElement.lo \ - org/w3c/dom/html2/HTMLOptGroupElement.lo \ - org/w3c/dom/html2/HTMLIFrameElement.lo \ - org/w3c/dom/html2/HTMLDirectoryElement.lo \ - org/w3c/dom/html2/HTMLParamElement.lo \ - org/w3c/dom/html2/HTMLLegendElement.lo \ - org/w3c/dom/html2/HTMLFrameElement.lo \ - org/w3c/dom/html2/HTMLFormElement.lo \ - org/w3c/dom/html2/HTMLStyleElement.lo \ - org/w3c/dom/html2/HTMLFrameSetElement.lo \ - org/w3c/dom/html2/HTMLCollection.lo \ - org/w3c/dom/html2/HTMLAnchorElement.lo \ - org/w3c/dom/html2/HTMLLabelElement.lo \ - org/w3c/dom/html2/HTMLBodyElement.lo \ - org/w3c/dom/html2/HTMLOptionElement.lo \ - org/w3c/dom/html2/HTMLTableSectionElement.lo \ - org/w3c/dom/html2/HTMLAppletElement.lo \ - org/w3c/dom/html2/HTMLSelectElement.lo \ - org/w3c/dom/html2/HTMLMetaElement.lo \ - org/w3c/dom/html2/HTMLMenuElement.lo \ - org/w3c/dom/html2/HTMLDivElement.lo \ - org/w3c/dom/html2/HTMLLIElement.lo \ - org/w3c/dom/html2/HTMLFontElement.lo \ - org/w3c/dom/html2/HTMLOListElement.lo \ - org/w3c/dom/html2/HTMLBaseFontElement.lo \ - org/w3c/dom/html2/HTMLElement.lo \ - org/w3c/dom/html2/HTMLTableCaptionElement.lo \ - org/w3c/dom/html2/HTMLTextAreaElement.lo \ - org/w3c/dom/html2/HTMLPreElement.lo \ - org/w3c/dom/html2/HTMLObjectElement.lo \ - org/w3c/dom/html2/HTMLBaseElement.lo \ - org/w3c/dom/html2/HTMLUListElement.lo \ - org/w3c/dom/html2/HTMLMapElement.lo \ - org/w3c/dom/html2/HTMLParagraphElement.lo \ - org/w3c/dom/html2/HTMLButtonElement.lo \ - org/w3c/dom/html2/HTMLQuoteElement.lo \ - org/w3c/dom/html2/HTMLInputElement.lo \ - org/w3c/dom/html2/HTMLDocument.lo org/w3c/dom/ls/LSParser.lo \ - org/w3c/dom/ls/LSSerializerFilter.lo \ - org/w3c/dom/ls/LSLoadEvent.lo \ - org/w3c/dom/ls/DOMImplementationLS.lo \ - org/w3c/dom/ls/LSException.lo org/w3c/dom/ls/LSSerializer.lo \ - org/w3c/dom/ls/LSResourceResolver.lo \ - org/w3c/dom/ls/LSOutput.lo org/w3c/dom/ls/LSInput.lo \ - org/w3c/dom/ls/LSProgressEvent.lo \ - org/w3c/dom/ls/LSParserFilter.lo org/w3c/dom/DOMLocator.lo \ - org/w3c/dom/DOMStringList.lo org/w3c/dom/DocumentFragment.lo \ - org/w3c/dom/events/MutationEvent.lo \ - org/w3c/dom/events/UIEvent.lo \ - org/w3c/dom/events/EventListener.lo \ - org/w3c/dom/events/Event.lo org/w3c/dom/events/MouseEvent.lo \ - org/w3c/dom/events/EventTarget.lo \ - org/w3c/dom/events/DocumentEvent.lo \ - org/w3c/dom/events/EventException.lo \ - org/w3c/dom/EntityReference.lo org/w3c/dom/DOMErrorHandler.lo \ - org/w3c/dom/views/AbstractView.lo \ - org/w3c/dom/views/DocumentView.lo org/w3c/dom/DOMError.lo \ - org/w3c/dom/bootstrap/DOMImplementationRegistry.lo \ - org/w3c/dom/traversal/TreeWalker.lo \ - org/w3c/dom/traversal/NodeFilter.lo \ - org/w3c/dom/traversal/DocumentTraversal.lo \ - org/w3c/dom/traversal/NodeIterator.lo \ - org/w3c/dom/CharacterData.lo org/w3c/dom/DOMConfiguration.lo \ - org/w3c/dom/css/CSSRule.lo org/w3c/dom/css/Rect.lo \ - org/w3c/dom/css/CSSStyleSheet.lo \ - org/w3c/dom/css/CSSFontFaceRule.lo \ - org/w3c/dom/css/CSSPrimitiveValue.lo \ - org/w3c/dom/css/CSSRuleList.lo org/w3c/dom/css/ViewCSS.lo \ - org/w3c/dom/css/CSSStyleRule.lo \ - org/w3c/dom/css/CSSUnknownRule.lo org/w3c/dom/css/RGBColor.lo \ - org/w3c/dom/css/ElementCSSInlineStyle.lo \ - org/w3c/dom/css/CSSMediaRule.lo \ - org/w3c/dom/css/CSS2Properties.lo org/w3c/dom/css/CSSValue.lo \ - org/w3c/dom/css/CSSStyleDeclaration.lo \ - org/w3c/dom/css/DOMImplementationCSS.lo \ - org/w3c/dom/css/CSSCharsetRule.lo org/w3c/dom/css/Counter.lo \ - org/w3c/dom/css/CSSPageRule.lo org/w3c/dom/css/DocumentCSS.lo \ - org/w3c/dom/css/CSSValueList.lo \ - org/w3c/dom/css/CSSImportRule.lo org/w3c/dom/NameList.lo \ - org/w3c/dom/Element.lo org/w3c/dom/Document.lo \ - org/w3c/dom/ranges/Range.lo \ - org/w3c/dom/ranges/RangeException.lo \ - org/w3c/dom/ranges/DocumentRange.lo \ - org/w3c/dom/DOMImplementationList.lo org/w3c/dom/Entity.lo \ - org/w3c/dom/UserDataHandler.lo \ - org/w3c/dom/DOMImplementation.lo org/w3c/dom/CDATASection.lo \ - org/w3c/dom/ProcessingInstruction.lo org/w3c/dom/Node.lo \ - org/w3c/dom/NamedNodeMap.lo org/w3c/dom/NodeList.lo \ - org/w3c/dom/Text.lo org/w3c/dom/DocumentType.lo \ - org/w3c/dom/DOMImplementationSource.lo -libw3c_convenience_la_OBJECTS = $(am_libw3c_convenience_la_OBJECTS) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(toolexeclibdir)" +toolexeclibLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(toolexeclib_LTLIBRARIES) +libw3c_gcj_la_LIBADD = +am_libw3c_gcj_la_OBJECTS = libw3c_gcj_la-w3c.lo +libw3c_gcj_la_OBJECTS = $(am_libw3c_gcj_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_builddir)/gcj depcomp = $(SHELL) $(top_srcdir)/../depcomp am__depfiles_maybe = depfiles @@ -193,8 +79,8 @@ LTGCJCOMPILE = $(LIBTOOL) --mode=compile $(GCJ) $(AM_GCJFLAGS) \ GCJLD = $(GCJ) GCJLINK = $(LIBTOOL) --mode=link $(GCJLD) $(AM_GCJFLAGS) $(GCJFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(libw3c_convenience_la_SOURCES) -DIST_SOURCES = $(libw3c_convenience_la_SOURCES) +SOURCES = $(libw3c_gcj_la_SOURCES) +DIST_SOURCES = $(libw3c_gcj_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -421,6 +307,7 @@ AUTOMAKE_OPTIONS = foreign subdir-objects # May be used by various substitution variables. gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) +MULTIBUILDTOP = ../../ GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated -fbootclasspath=$(BOOTCLASSPATH) BOOTCLASSPATH = $(here)'$(CLASSPATH_SEPARATOR)'$(srcdir)'$(CLASSPATH_SEPARATOR)'$(top_srcdir)'$(CLASSPATH_SEPARATOR)'$(top_builddir) AM_GCJFLAGS = \ @@ -431,8 +318,10 @@ AM_GCJFLAGS = \ -Wno-deprecated BUILT_SOURCES = classes.stamp -noinst_LTLIBRARIES = libw3c_convenience.la -libw3c_convenience_la_SOURCES = \ +toolexeclib_LTLIBRARIES = libw3c-gcj.la +libw3c_gcj_la_SOURCES = w3c.jar +libw3c_gcj_la_GCJFLAGS = -findirect-dispatch +source_files = \ org/w3c/dom/xpath/XPathNamespace.java \ org/w3c/dom/xpath/XPathResult.java \ org/w3c/dom/xpath/XPathException.java \ @@ -584,7 +473,7 @@ all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: -.SUFFIXES: .java .lo .o .obj +.SUFFIXES: .jar .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -614,897 +503,45 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(toolexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(toolexeclibdir)" + @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(toolexeclibdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(toolexeclibdir)/$$f"; \ + else :; fi; \ + done + +uninstall-toolexeclibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$p"; \ + done -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ +clean-toolexeclibLTLIBRARIES: + -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES) + @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -org/w3c/dom/xpath/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/xpath - @: > org/w3c/dom/xpath/$(am__dirstamp) -org/w3c/dom/xpath/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/xpath/$(DEPDIR) - @: > org/w3c/dom/xpath/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/xpath/XPathNamespace.lo: \ - org/w3c/dom/xpath/$(am__dirstamp) \ - org/w3c/dom/xpath/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/xpath/XPathResult.lo: org/w3c/dom/xpath/$(am__dirstamp) \ - org/w3c/dom/xpath/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/xpath/XPathException.lo: \ - org/w3c/dom/xpath/$(am__dirstamp) \ - org/w3c/dom/xpath/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/xpath/XPathExpression.lo: \ - org/w3c/dom/xpath/$(am__dirstamp) \ - org/w3c/dom/xpath/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/xpath/XPathNSResolver.lo: \ - org/w3c/dom/xpath/$(am__dirstamp) \ - org/w3c/dom/xpath/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/xpath/XPathEvaluator.lo: \ - org/w3c/dom/xpath/$(am__dirstamp) \ - org/w3c/dom/xpath/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom - @: > org/w3c/dom/$(am__dirstamp) -org/w3c/dom/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/$(DEPDIR) - @: > org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DOMException.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/Comment.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/stylesheets/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/stylesheets - @: > org/w3c/dom/stylesheets/$(am__dirstamp) -org/w3c/dom/stylesheets/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/stylesheets/$(DEPDIR) - @: > org/w3c/dom/stylesheets/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/stylesheets/DocumentStyle.lo: \ - org/w3c/dom/stylesheets/$(am__dirstamp) \ - org/w3c/dom/stylesheets/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/stylesheets/MediaList.lo: \ - org/w3c/dom/stylesheets/$(am__dirstamp) \ - org/w3c/dom/stylesheets/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/stylesheets/LinkStyle.lo: \ - org/w3c/dom/stylesheets/$(am__dirstamp) \ - org/w3c/dom/stylesheets/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/stylesheets/StyleSheet.lo: \ - org/w3c/dom/stylesheets/$(am__dirstamp) \ - org/w3c/dom/stylesheets/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/stylesheets/StyleSheetList.lo: \ - org/w3c/dom/stylesheets/$(am__dirstamp) \ - org/w3c/dom/stylesheets/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/Attr.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/Notation.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/TypeInfo.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/html2 - @: > org/w3c/dom/html2/$(am__dirstamp) -org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/html2/$(DEPDIR) - @: > org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLIsIndexElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLTableColElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLLinkElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLTitleElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLBRElement.lo: org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLHeadElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLHtmlElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLScriptElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLTableRowElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLOptionsCollection.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLTableCellElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLDListElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLFieldSetElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLImageElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLHRElement.lo: org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLModElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLHeadingElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLTableElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLAreaElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLOptGroupElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLIFrameElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLDirectoryElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLParamElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLLegendElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLFrameElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLFormElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLStyleElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLFrameSetElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLCollection.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLAnchorElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLLabelElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLBodyElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLOptionElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLTableSectionElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLAppletElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLSelectElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLMetaElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLMenuElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLDivElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLLIElement.lo: org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLFontElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLOListElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLBaseFontElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLElement.lo: org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLTableCaptionElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLTextAreaElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLPreElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLObjectElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLBaseElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLUListElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLMapElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLParagraphElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLButtonElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLQuoteElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLInputElement.lo: \ - org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/html2/HTMLDocument.lo: org/w3c/dom/html2/$(am__dirstamp) \ - org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/ls - @: > org/w3c/dom/ls/$(am__dirstamp) -org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/ls/$(DEPDIR) - @: > org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSParser.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSSerializerFilter.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSLoadEvent.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/DOMImplementationLS.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSException.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSSerializer.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSResourceResolver.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSOutput.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSInput.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSProgressEvent.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ls/LSParserFilter.lo: org/w3c/dom/ls/$(am__dirstamp) \ - org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DOMLocator.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DOMStringList.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DocumentFragment.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/events/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/events - @: > org/w3c/dom/events/$(am__dirstamp) -org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/events/$(DEPDIR) - @: > org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/events/MutationEvent.lo: \ - org/w3c/dom/events/$(am__dirstamp) \ - org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/events/UIEvent.lo: org/w3c/dom/events/$(am__dirstamp) \ - org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/events/EventListener.lo: \ - org/w3c/dom/events/$(am__dirstamp) \ - org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/events/Event.lo: org/w3c/dom/events/$(am__dirstamp) \ - org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/events/MouseEvent.lo: org/w3c/dom/events/$(am__dirstamp) \ - org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/events/EventTarget.lo: org/w3c/dom/events/$(am__dirstamp) \ - org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/events/DocumentEvent.lo: \ - org/w3c/dom/events/$(am__dirstamp) \ - org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/events/EventException.lo: \ - org/w3c/dom/events/$(am__dirstamp) \ - org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/EntityReference.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DOMErrorHandler.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/views/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/views - @: > org/w3c/dom/views/$(am__dirstamp) -org/w3c/dom/views/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/views/$(DEPDIR) - @: > org/w3c/dom/views/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/views/AbstractView.lo: org/w3c/dom/views/$(am__dirstamp) \ - org/w3c/dom/views/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/views/DocumentView.lo: org/w3c/dom/views/$(am__dirstamp) \ - org/w3c/dom/views/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DOMError.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/bootstrap/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/bootstrap - @: > org/w3c/dom/bootstrap/$(am__dirstamp) -org/w3c/dom/bootstrap/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/bootstrap/$(DEPDIR) - @: > org/w3c/dom/bootstrap/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/bootstrap/DOMImplementationRegistry.lo: \ - org/w3c/dom/bootstrap/$(am__dirstamp) \ - org/w3c/dom/bootstrap/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/traversal/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/traversal - @: > org/w3c/dom/traversal/$(am__dirstamp) -org/w3c/dom/traversal/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/traversal/$(DEPDIR) - @: > org/w3c/dom/traversal/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/traversal/TreeWalker.lo: \ - org/w3c/dom/traversal/$(am__dirstamp) \ - org/w3c/dom/traversal/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/traversal/NodeFilter.lo: \ - org/w3c/dom/traversal/$(am__dirstamp) \ - org/w3c/dom/traversal/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/traversal/DocumentTraversal.lo: \ - org/w3c/dom/traversal/$(am__dirstamp) \ - org/w3c/dom/traversal/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/traversal/NodeIterator.lo: \ - org/w3c/dom/traversal/$(am__dirstamp) \ - org/w3c/dom/traversal/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/CharacterData.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DOMConfiguration.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/css - @: > org/w3c/dom/css/$(am__dirstamp) -org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/css/$(DEPDIR) - @: > org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSRule.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/Rect.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSStyleSheet.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSFontFaceRule.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSPrimitiveValue.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSRuleList.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/ViewCSS.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSStyleRule.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSUnknownRule.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/RGBColor.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/ElementCSSInlineStyle.lo: \ - org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSMediaRule.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSS2Properties.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSValue.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSStyleDeclaration.lo: \ - org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/DOMImplementationCSS.lo: \ - org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSCharsetRule.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/Counter.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSPageRule.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/DocumentCSS.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSValueList.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/css/CSSImportRule.lo: org/w3c/dom/css/$(am__dirstamp) \ - org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/NameList.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/Element.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/Document.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ranges/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/ranges - @: > org/w3c/dom/ranges/$(am__dirstamp) -org/w3c/dom/ranges/$(DEPDIR)/$(am__dirstamp): - @$(mkdir_p) org/w3c/dom/ranges/$(DEPDIR) - @: > org/w3c/dom/ranges/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ranges/Range.lo: org/w3c/dom/ranges/$(am__dirstamp) \ - org/w3c/dom/ranges/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ranges/RangeException.lo: \ - org/w3c/dom/ranges/$(am__dirstamp) \ - org/w3c/dom/ranges/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ranges/DocumentRange.lo: \ - org/w3c/dom/ranges/$(am__dirstamp) \ - org/w3c/dom/ranges/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DOMImplementationList.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/Entity.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/UserDataHandler.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DOMImplementation.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/CDATASection.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/ProcessingInstruction.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/Node.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/NamedNodeMap.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/NodeList.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/Text.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DocumentType.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -org/w3c/dom/DOMImplementationSource.lo: org/w3c/dom/$(am__dirstamp) \ - org/w3c/dom/$(DEPDIR)/$(am__dirstamp) -libw3c_convenience.la: $(libw3c_convenience_la_OBJECTS) $(libw3c_convenience_la_DEPENDENCIES) - $(GCJLINK) $(libw3c_convenience_la_LDFLAGS) $(libw3c_convenience_la_OBJECTS) $(libw3c_convenience_la_LIBADD) $(LIBS) +libw3c-gcj.la: $(libw3c_gcj_la_OBJECTS) $(libw3c_gcj_la_DEPENDENCIES) + $(GCJLINK) -rpath $(toolexeclibdir) $(libw3c_gcj_la_LDFLAGS) $(libw3c_gcj_la_OBJECTS) $(libw3c_gcj_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) - -rm -f org/w3c/dom/Attr.$(OBJEXT) - -rm -f org/w3c/dom/Attr.lo - -rm -f org/w3c/dom/CDATASection.$(OBJEXT) - -rm -f org/w3c/dom/CDATASection.lo - -rm -f org/w3c/dom/CharacterData.$(OBJEXT) - -rm -f org/w3c/dom/CharacterData.lo - -rm -f org/w3c/dom/Comment.$(OBJEXT) - -rm -f org/w3c/dom/Comment.lo - -rm -f org/w3c/dom/DOMConfiguration.$(OBJEXT) - -rm -f org/w3c/dom/DOMConfiguration.lo - -rm -f org/w3c/dom/DOMError.$(OBJEXT) - -rm -f org/w3c/dom/DOMError.lo - -rm -f org/w3c/dom/DOMErrorHandler.$(OBJEXT) - -rm -f org/w3c/dom/DOMErrorHandler.lo - -rm -f org/w3c/dom/DOMException.$(OBJEXT) - -rm -f org/w3c/dom/DOMException.lo - -rm -f org/w3c/dom/DOMImplementation.$(OBJEXT) - -rm -f org/w3c/dom/DOMImplementation.lo - -rm -f org/w3c/dom/DOMImplementationList.$(OBJEXT) - -rm -f org/w3c/dom/DOMImplementationList.lo - -rm -f org/w3c/dom/DOMImplementationSource.$(OBJEXT) - -rm -f org/w3c/dom/DOMImplementationSource.lo - -rm -f org/w3c/dom/DOMLocator.$(OBJEXT) - -rm -f org/w3c/dom/DOMLocator.lo - -rm -f org/w3c/dom/DOMStringList.$(OBJEXT) - -rm -f org/w3c/dom/DOMStringList.lo - -rm -f org/w3c/dom/Document.$(OBJEXT) - -rm -f org/w3c/dom/Document.lo - -rm -f org/w3c/dom/DocumentFragment.$(OBJEXT) - -rm -f org/w3c/dom/DocumentFragment.lo - -rm -f org/w3c/dom/DocumentType.$(OBJEXT) - -rm -f org/w3c/dom/DocumentType.lo - -rm -f org/w3c/dom/Element.$(OBJEXT) - -rm -f org/w3c/dom/Element.lo - -rm -f org/w3c/dom/Entity.$(OBJEXT) - -rm -f org/w3c/dom/Entity.lo - -rm -f org/w3c/dom/EntityReference.$(OBJEXT) - -rm -f org/w3c/dom/EntityReference.lo - -rm -f org/w3c/dom/NameList.$(OBJEXT) - -rm -f org/w3c/dom/NameList.lo - -rm -f org/w3c/dom/NamedNodeMap.$(OBJEXT) - -rm -f org/w3c/dom/NamedNodeMap.lo - -rm -f org/w3c/dom/Node.$(OBJEXT) - -rm -f org/w3c/dom/Node.lo - -rm -f org/w3c/dom/NodeList.$(OBJEXT) - -rm -f org/w3c/dom/NodeList.lo - -rm -f org/w3c/dom/Notation.$(OBJEXT) - -rm -f org/w3c/dom/Notation.lo - -rm -f org/w3c/dom/ProcessingInstruction.$(OBJEXT) - -rm -f org/w3c/dom/ProcessingInstruction.lo - -rm -f org/w3c/dom/Text.$(OBJEXT) - -rm -f org/w3c/dom/Text.lo - -rm -f org/w3c/dom/TypeInfo.$(OBJEXT) - -rm -f org/w3c/dom/TypeInfo.lo - -rm -f org/w3c/dom/UserDataHandler.$(OBJEXT) - -rm -f org/w3c/dom/UserDataHandler.lo - -rm -f org/w3c/dom/bootstrap/DOMImplementationRegistry.$(OBJEXT) - -rm -f org/w3c/dom/bootstrap/DOMImplementationRegistry.lo - -rm -f org/w3c/dom/css/CSS2Properties.$(OBJEXT) - -rm -f org/w3c/dom/css/CSS2Properties.lo - -rm -f org/w3c/dom/css/CSSCharsetRule.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSCharsetRule.lo - -rm -f org/w3c/dom/css/CSSFontFaceRule.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSFontFaceRule.lo - -rm -f org/w3c/dom/css/CSSImportRule.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSImportRule.lo - -rm -f org/w3c/dom/css/CSSMediaRule.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSMediaRule.lo - -rm -f org/w3c/dom/css/CSSPageRule.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSPageRule.lo - -rm -f org/w3c/dom/css/CSSPrimitiveValue.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSPrimitiveValue.lo - -rm -f org/w3c/dom/css/CSSRule.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSRule.lo - -rm -f org/w3c/dom/css/CSSRuleList.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSRuleList.lo - -rm -f org/w3c/dom/css/CSSStyleDeclaration.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSStyleDeclaration.lo - -rm -f org/w3c/dom/css/CSSStyleRule.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSStyleRule.lo - -rm -f org/w3c/dom/css/CSSStyleSheet.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSStyleSheet.lo - -rm -f org/w3c/dom/css/CSSUnknownRule.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSUnknownRule.lo - -rm -f org/w3c/dom/css/CSSValue.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSValue.lo - -rm -f org/w3c/dom/css/CSSValueList.$(OBJEXT) - -rm -f org/w3c/dom/css/CSSValueList.lo - -rm -f org/w3c/dom/css/Counter.$(OBJEXT) - -rm -f org/w3c/dom/css/Counter.lo - -rm -f org/w3c/dom/css/DOMImplementationCSS.$(OBJEXT) - -rm -f org/w3c/dom/css/DOMImplementationCSS.lo - -rm -f org/w3c/dom/css/DocumentCSS.$(OBJEXT) - -rm -f org/w3c/dom/css/DocumentCSS.lo - -rm -f org/w3c/dom/css/ElementCSSInlineStyle.$(OBJEXT) - -rm -f org/w3c/dom/css/ElementCSSInlineStyle.lo - -rm -f org/w3c/dom/css/RGBColor.$(OBJEXT) - -rm -f org/w3c/dom/css/RGBColor.lo - -rm -f org/w3c/dom/css/Rect.$(OBJEXT) - -rm -f org/w3c/dom/css/Rect.lo - -rm -f org/w3c/dom/css/ViewCSS.$(OBJEXT) - -rm -f org/w3c/dom/css/ViewCSS.lo - -rm -f org/w3c/dom/events/DocumentEvent.$(OBJEXT) - -rm -f org/w3c/dom/events/DocumentEvent.lo - -rm -f org/w3c/dom/events/Event.$(OBJEXT) - -rm -f org/w3c/dom/events/Event.lo - -rm -f org/w3c/dom/events/EventException.$(OBJEXT) - -rm -f org/w3c/dom/events/EventException.lo - -rm -f org/w3c/dom/events/EventListener.$(OBJEXT) - -rm -f org/w3c/dom/events/EventListener.lo - -rm -f org/w3c/dom/events/EventTarget.$(OBJEXT) - -rm -f org/w3c/dom/events/EventTarget.lo - -rm -f org/w3c/dom/events/MouseEvent.$(OBJEXT) - -rm -f org/w3c/dom/events/MouseEvent.lo - -rm -f org/w3c/dom/events/MutationEvent.$(OBJEXT) - -rm -f org/w3c/dom/events/MutationEvent.lo - -rm -f org/w3c/dom/events/UIEvent.$(OBJEXT) - -rm -f org/w3c/dom/events/UIEvent.lo - -rm -f org/w3c/dom/html2/HTMLAnchorElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLAnchorElement.lo - -rm -f org/w3c/dom/html2/HTMLAppletElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLAppletElement.lo - -rm -f org/w3c/dom/html2/HTMLAreaElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLAreaElement.lo - -rm -f org/w3c/dom/html2/HTMLBRElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLBRElement.lo - -rm -f org/w3c/dom/html2/HTMLBaseElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLBaseElement.lo - -rm -f org/w3c/dom/html2/HTMLBaseFontElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLBaseFontElement.lo - -rm -f org/w3c/dom/html2/HTMLBodyElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLBodyElement.lo - -rm -f org/w3c/dom/html2/HTMLButtonElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLButtonElement.lo - -rm -f org/w3c/dom/html2/HTMLCollection.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLCollection.lo - -rm -f org/w3c/dom/html2/HTMLDListElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLDListElement.lo - -rm -f org/w3c/dom/html2/HTMLDirectoryElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLDirectoryElement.lo - -rm -f org/w3c/dom/html2/HTMLDivElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLDivElement.lo - -rm -f org/w3c/dom/html2/HTMLDocument.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLDocument.lo - -rm -f org/w3c/dom/html2/HTMLElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLElement.lo - -rm -f org/w3c/dom/html2/HTMLFieldSetElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLFieldSetElement.lo - -rm -f org/w3c/dom/html2/HTMLFontElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLFontElement.lo - -rm -f org/w3c/dom/html2/HTMLFormElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLFormElement.lo - -rm -f org/w3c/dom/html2/HTMLFrameElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLFrameElement.lo - -rm -f org/w3c/dom/html2/HTMLFrameSetElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLFrameSetElement.lo - -rm -f org/w3c/dom/html2/HTMLHRElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLHRElement.lo - -rm -f org/w3c/dom/html2/HTMLHeadElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLHeadElement.lo - -rm -f org/w3c/dom/html2/HTMLHeadingElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLHeadingElement.lo - -rm -f org/w3c/dom/html2/HTMLHtmlElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLHtmlElement.lo - -rm -f org/w3c/dom/html2/HTMLIFrameElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLIFrameElement.lo - -rm -f org/w3c/dom/html2/HTMLImageElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLImageElement.lo - -rm -f org/w3c/dom/html2/HTMLInputElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLInputElement.lo - -rm -f org/w3c/dom/html2/HTMLIsIndexElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLIsIndexElement.lo - -rm -f org/w3c/dom/html2/HTMLLIElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLLIElement.lo - -rm -f org/w3c/dom/html2/HTMLLabelElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLLabelElement.lo - -rm -f org/w3c/dom/html2/HTMLLegendElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLLegendElement.lo - -rm -f org/w3c/dom/html2/HTMLLinkElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLLinkElement.lo - -rm -f org/w3c/dom/html2/HTMLMapElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLMapElement.lo - -rm -f org/w3c/dom/html2/HTMLMenuElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLMenuElement.lo - -rm -f org/w3c/dom/html2/HTMLMetaElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLMetaElement.lo - -rm -f org/w3c/dom/html2/HTMLModElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLModElement.lo - -rm -f org/w3c/dom/html2/HTMLOListElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLOListElement.lo - -rm -f org/w3c/dom/html2/HTMLObjectElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLObjectElement.lo - -rm -f org/w3c/dom/html2/HTMLOptGroupElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLOptGroupElement.lo - -rm -f org/w3c/dom/html2/HTMLOptionElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLOptionElement.lo - -rm -f org/w3c/dom/html2/HTMLOptionsCollection.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLOptionsCollection.lo - -rm -f org/w3c/dom/html2/HTMLParagraphElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLParagraphElement.lo - -rm -f org/w3c/dom/html2/HTMLParamElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLParamElement.lo - -rm -f org/w3c/dom/html2/HTMLPreElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLPreElement.lo - -rm -f org/w3c/dom/html2/HTMLQuoteElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLQuoteElement.lo - -rm -f org/w3c/dom/html2/HTMLScriptElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLScriptElement.lo - -rm -f org/w3c/dom/html2/HTMLSelectElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLSelectElement.lo - -rm -f org/w3c/dom/html2/HTMLStyleElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLStyleElement.lo - -rm -f org/w3c/dom/html2/HTMLTableCaptionElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLTableCaptionElement.lo - -rm -f org/w3c/dom/html2/HTMLTableCellElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLTableCellElement.lo - -rm -f org/w3c/dom/html2/HTMLTableColElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLTableColElement.lo - -rm -f org/w3c/dom/html2/HTMLTableElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLTableElement.lo - -rm -f org/w3c/dom/html2/HTMLTableRowElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLTableRowElement.lo - -rm -f org/w3c/dom/html2/HTMLTableSectionElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLTableSectionElement.lo - -rm -f org/w3c/dom/html2/HTMLTextAreaElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLTextAreaElement.lo - -rm -f org/w3c/dom/html2/HTMLTitleElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLTitleElement.lo - -rm -f org/w3c/dom/html2/HTMLUListElement.$(OBJEXT) - -rm -f org/w3c/dom/html2/HTMLUListElement.lo - -rm -f org/w3c/dom/ls/DOMImplementationLS.$(OBJEXT) - -rm -f org/w3c/dom/ls/DOMImplementationLS.lo - -rm -f org/w3c/dom/ls/LSException.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSException.lo - -rm -f org/w3c/dom/ls/LSInput.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSInput.lo - -rm -f org/w3c/dom/ls/LSLoadEvent.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSLoadEvent.lo - -rm -f org/w3c/dom/ls/LSOutput.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSOutput.lo - -rm -f org/w3c/dom/ls/LSParser.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSParser.lo - -rm -f org/w3c/dom/ls/LSParserFilter.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSParserFilter.lo - -rm -f org/w3c/dom/ls/LSProgressEvent.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSProgressEvent.lo - -rm -f org/w3c/dom/ls/LSResourceResolver.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSResourceResolver.lo - -rm -f org/w3c/dom/ls/LSSerializer.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSSerializer.lo - -rm -f org/w3c/dom/ls/LSSerializerFilter.$(OBJEXT) - -rm -f org/w3c/dom/ls/LSSerializerFilter.lo - -rm -f org/w3c/dom/ranges/DocumentRange.$(OBJEXT) - -rm -f org/w3c/dom/ranges/DocumentRange.lo - -rm -f org/w3c/dom/ranges/Range.$(OBJEXT) - -rm -f org/w3c/dom/ranges/Range.lo - -rm -f org/w3c/dom/ranges/RangeException.$(OBJEXT) - -rm -f org/w3c/dom/ranges/RangeException.lo - -rm -f org/w3c/dom/stylesheets/DocumentStyle.$(OBJEXT) - -rm -f org/w3c/dom/stylesheets/DocumentStyle.lo - -rm -f org/w3c/dom/stylesheets/LinkStyle.$(OBJEXT) - -rm -f org/w3c/dom/stylesheets/LinkStyle.lo - -rm -f org/w3c/dom/stylesheets/MediaList.$(OBJEXT) - -rm -f org/w3c/dom/stylesheets/MediaList.lo - -rm -f org/w3c/dom/stylesheets/StyleSheet.$(OBJEXT) - -rm -f org/w3c/dom/stylesheets/StyleSheet.lo - -rm -f org/w3c/dom/stylesheets/StyleSheetList.$(OBJEXT) - -rm -f org/w3c/dom/stylesheets/StyleSheetList.lo - -rm -f org/w3c/dom/traversal/DocumentTraversal.$(OBJEXT) - -rm -f org/w3c/dom/traversal/DocumentTraversal.lo - -rm -f org/w3c/dom/traversal/NodeFilter.$(OBJEXT) - -rm -f org/w3c/dom/traversal/NodeFilter.lo - -rm -f org/w3c/dom/traversal/NodeIterator.$(OBJEXT) - -rm -f org/w3c/dom/traversal/NodeIterator.lo - -rm -f org/w3c/dom/traversal/TreeWalker.$(OBJEXT) - -rm -f org/w3c/dom/traversal/TreeWalker.lo - -rm -f org/w3c/dom/views/AbstractView.$(OBJEXT) - -rm -f org/w3c/dom/views/AbstractView.lo - -rm -f org/w3c/dom/views/DocumentView.$(OBJEXT) - -rm -f org/w3c/dom/views/DocumentView.lo - -rm -f org/w3c/dom/xpath/XPathEvaluator.$(OBJEXT) - -rm -f org/w3c/dom/xpath/XPathEvaluator.lo - -rm -f org/w3c/dom/xpath/XPathException.$(OBJEXT) - -rm -f org/w3c/dom/xpath/XPathException.lo - -rm -f org/w3c/dom/xpath/XPathExpression.$(OBJEXT) - -rm -f org/w3c/dom/xpath/XPathExpression.lo - -rm -f org/w3c/dom/xpath/XPathNSResolver.$(OBJEXT) - -rm -f org/w3c/dom/xpath/XPathNSResolver.lo - -rm -f org/w3c/dom/xpath/XPathNamespace.$(OBJEXT) - -rm -f org/w3c/dom/xpath/XPathNamespace.lo - -rm -f org/w3c/dom/xpath/XPathResult.$(OBJEXT) - -rm -f org/w3c/dom/xpath/XPathResult.lo distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/Attr.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/CDATASection.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/CharacterData.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/Comment.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DOMConfiguration.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DOMError.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DOMErrorHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DOMException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DOMImplementation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DOMImplementationList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DOMImplementationSource.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DOMLocator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DOMStringList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/Document.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DocumentFragment.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/DocumentType.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/Element.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/Entity.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/EntityReference.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/NameList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/NamedNodeMap.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/Node.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/NodeList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/Notation.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/ProcessingInstruction.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/Text.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/TypeInfo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/$(DEPDIR)/UserDataHandler.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/bootstrap/$(DEPDIR)/DOMImplementationRegistry.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSS2Properties.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSCharsetRule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSFontFaceRule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSImportRule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSMediaRule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSPageRule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSPrimitiveValue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSRule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSRuleList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSStyleDeclaration.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSStyleRule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSStyleSheet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSUnknownRule.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSValue.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/CSSValueList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/Counter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/DOMImplementationCSS.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/DocumentCSS.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/ElementCSSInlineStyle.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/RGBColor.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/Rect.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/css/$(DEPDIR)/ViewCSS.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/events/$(DEPDIR)/DocumentEvent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/events/$(DEPDIR)/Event.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/events/$(DEPDIR)/EventException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/events/$(DEPDIR)/EventListener.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/events/$(DEPDIR)/EventTarget.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/events/$(DEPDIR)/MouseEvent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/events/$(DEPDIR)/MutationEvent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/events/$(DEPDIR)/UIEvent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLAnchorElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLAppletElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLAreaElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLBRElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLBaseElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLBaseFontElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLBodyElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLButtonElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLCollection.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLDListElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLDirectoryElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLDivElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLDocument.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLFieldSetElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLFontElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLFormElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLFrameElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLFrameSetElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLHRElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLHeadElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLHeadingElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLHtmlElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLIFrameElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLImageElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLInputElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLIsIndexElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLLIElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLLabelElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLLegendElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLLinkElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLMapElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLMenuElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLMetaElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLModElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLOListElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLObjectElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLOptGroupElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLOptionElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLOptionsCollection.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLParagraphElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLParamElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLPreElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLQuoteElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLScriptElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLSelectElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLStyleElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLTableCaptionElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLTableCellElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLTableColElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLTableElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLTableRowElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLTableSectionElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLTextAreaElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLTitleElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/html2/$(DEPDIR)/HTMLUListElement.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/DOMImplementationLS.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSInput.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSLoadEvent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSOutput.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSParser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSParserFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSProgressEvent.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSResourceResolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSSerializer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ls/$(DEPDIR)/LSSerializerFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ranges/$(DEPDIR)/DocumentRange.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ranges/$(DEPDIR)/Range.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/ranges/$(DEPDIR)/RangeException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/stylesheets/$(DEPDIR)/DocumentStyle.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/stylesheets/$(DEPDIR)/LinkStyle.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/stylesheets/$(DEPDIR)/MediaList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/stylesheets/$(DEPDIR)/StyleSheet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/stylesheets/$(DEPDIR)/StyleSheetList.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/traversal/$(DEPDIR)/DocumentTraversal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/traversal/$(DEPDIR)/NodeFilter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/traversal/$(DEPDIR)/NodeIterator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/traversal/$(DEPDIR)/TreeWalker.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/views/$(DEPDIR)/AbstractView.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/views/$(DEPDIR)/DocumentView.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/xpath/$(DEPDIR)/XPathEvaluator.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/xpath/$(DEPDIR)/XPathException.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/xpath/$(DEPDIR)/XPathExpression.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/xpath/$(DEPDIR)/XPathNSResolver.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/xpath/$(DEPDIR)/XPathNamespace.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@org/w3c/dom/xpath/$(DEPDIR)/XPathResult.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libw3c_gcj_la-w3c.Plo@am__quote@ -.java.o: +.jar.o: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ @am__fastdepGCJ_TRUE@ if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -1512,7 +549,7 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(GCJCOMPILE) -c -o $@ $< -.java.obj: +.jar.obj: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \ @am__fastdepGCJ_TRUE@ if $(GCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -1520,7 +557,7 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(GCJCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` -.java.lo: +.jar.lo: @am__fastdepGCJ_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \ @am__fastdepGCJ_TRUE@ if $(LTGCJCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \ @am__fastdepGCJ_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi @@ -1528,22 +565,18 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepGCJ_FALSE@ $(LTGCJCOMPILE) -c -o $@ $< +libw3c_gcj_la-w3c.lo: w3c.jar +@am__fastdepGCJ_TRUE@ if $(LIBTOOL) --mode=compile $(GCJ) $(libw3c_gcj_la_GCJFLAGS) $(GCJFLAGS) -MT libw3c_gcj_la-w3c.lo -MD -MP -MF "$(DEPDIR)/libw3c_gcj_la-w3c.Tpo" -c -o libw3c_gcj_la-w3c.lo `test -f 'w3c.jar' || echo '$(srcdir)/'`w3c.jar; \ +@am__fastdepGCJ_TRUE@ then mv -f "$(DEPDIR)/libw3c_gcj_la-w3c.Tpo" "$(DEPDIR)/libw3c_gcj_la-w3c.Plo"; else rm -f "$(DEPDIR)/libw3c_gcj_la-w3c.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepGCJ_FALSE@ source='w3c.jar' object='libw3c_gcj_la-w3c.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepGCJ_FALSE@ DEPDIR=$(DEPDIR) $(GCJDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepGCJ_FALSE@ $(LIBTOOL) --mode=compile $(GCJ) $(libw3c_gcj_la_GCJFLAGS) $(GCJFLAGS) -c -o libw3c_gcj_la-w3c.lo `test -f 'w3c.jar' || echo '$(srcdir)/'`w3c.jar + mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -rm -rf org/w3c/dom/.libs org/w3c/dom/_libs - -rm -rf org/w3c/dom/bootstrap/.libs org/w3c/dom/bootstrap/_libs - -rm -rf org/w3c/dom/css/.libs org/w3c/dom/css/_libs - -rm -rf org/w3c/dom/events/.libs org/w3c/dom/events/_libs - -rm -rf org/w3c/dom/html2/.libs org/w3c/dom/html2/_libs - -rm -rf org/w3c/dom/ls/.libs org/w3c/dom/ls/_libs - -rm -rf org/w3c/dom/ranges/.libs org/w3c/dom/ranges/_libs - -rm -rf org/w3c/dom/stylesheets/.libs org/w3c/dom/stylesheets/_libs - -rm -rf org/w3c/dom/traversal/.libs org/w3c/dom/traversal/_libs - -rm -rf org/w3c/dom/views/.libs org/w3c/dom/views/_libs - -rm -rf org/w3c/dom/xpath/.libs org/w3c/dom/xpath/_libs distclean-libtool: -rm -f libtool @@ -1629,6 +662,9 @@ check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LTLIBRARIES) installdirs: + for dir in "$(DESTDIR)$(toolexeclibdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am @@ -1650,28 +686,6 @@ clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -rm -f org/w3c/dom/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/$(am__dirstamp) - -rm -f org/w3c/dom/bootstrap/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/bootstrap/$(am__dirstamp) - -rm -f org/w3c/dom/css/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/css/$(am__dirstamp) - -rm -f org/w3c/dom/events/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/events/$(am__dirstamp) - -rm -f org/w3c/dom/html2/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/html2/$(am__dirstamp) - -rm -f org/w3c/dom/ls/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/ls/$(am__dirstamp) - -rm -f org/w3c/dom/ranges/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/ranges/$(am__dirstamp) - -rm -f org/w3c/dom/stylesheets/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/stylesheets/$(am__dirstamp) - -rm -f org/w3c/dom/traversal/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/traversal/$(am__dirstamp) - -rm -f org/w3c/dom/views/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/views/$(am__dirstamp) - -rm -f org/w3c/dom/xpath/$(DEPDIR)/$(am__dirstamp) - -rm -f org/w3c/dom/xpath/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -1679,11 +693,11 @@ maintainer-clean-generic: -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ +clean-am: clean-generic clean-libtool clean-toolexeclibLTLIBRARIES \ mostlyclean-am distclean: distclean-am - -rm -rf org/w3c/dom/$(DEPDIR) org/w3c/dom/bootstrap/$(DEPDIR) org/w3c/dom/css/$(DEPDIR) org/w3c/dom/events/$(DEPDIR) org/w3c/dom/html2/$(DEPDIR) org/w3c/dom/ls/$(DEPDIR) org/w3c/dom/ranges/$(DEPDIR) org/w3c/dom/stylesheets/$(DEPDIR) org/w3c/dom/traversal/$(DEPDIR) org/w3c/dom/views/$(DEPDIR) org/w3c/dom/xpath/$(DEPDIR) + -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-libtool distclean-tags @@ -1700,7 +714,7 @@ info-am: install-data-am: -install-exec-am: +install-exec-am: install-toolexeclibLTLIBRARIES install-info: install-info-am @@ -1709,7 +723,7 @@ install-man: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf org/w3c/dom/$(DEPDIR) org/w3c/dom/bootstrap/$(DEPDIR) org/w3c/dom/css/$(DEPDIR) org/w3c/dom/events/$(DEPDIR) org/w3c/dom/html2/$(DEPDIR) org/w3c/dom/ls/$(DEPDIR) org/w3c/dom/ranges/$(DEPDIR) org/w3c/dom/stylesheets/$(DEPDIR) org/w3c/dom/traversal/$(DEPDIR) org/w3c/dom/views/$(DEPDIR) org/w3c/dom/xpath/$(DEPDIR) + -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1726,29 +740,33 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: uninstall-info-am uninstall-toolexeclibLTLIBRARIES .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES ctags distclean \ + clean-libtool clean-toolexeclibLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-exec \ install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - mostlyclean-local pdf pdf-am ps ps-am tags uninstall \ - uninstall-am uninstall-info-am + install-strip install-toolexeclibLTLIBRARIES installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \ + pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am \ + uninstall-toolexeclibLTLIBRARIES + +w3c.jar: classes.stamp + find org -name '*.class' -print | $(ZIP) -cfME@ $@ -classes.stamp: $(libw3c_convenience_la_SOURCES) +classes.stamp: $(source_files) here=`pwd`; cd $(srcdir); \ - $(GCJ_WITH_FLAGS) -C -d $$here $(libw3c_convenience_la_SOURCES) + $(GCJ_WITH_FLAGS) -C -d $$here $(source_files) echo > classes.stamp mostlyclean-local: -find . -name '*.class' | xargs rm - -rm classes.stamp + -rm classes.stamp w3c.jar # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in index dcb332acadf..ebf125d7880 100644 --- a/libjava/gcj/Makefile.in +++ b/libjava/gcj/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/libjava/gnu/gcj/runtime/BootClassLoader.java b/libjava/gnu/gcj/runtime/BootClassLoader.java new file mode 100644 index 00000000000..6223c733b9f --- /dev/null +++ b/libjava/gnu/gcj/runtime/BootClassLoader.java @@ -0,0 +1,102 @@ +/* Copyright (C) 2005 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +package gnu.gcj.runtime; + +import java.io.File; +import java.io.FilenameFilter; +import java.io.IOException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.StringTokenizer; + +/** + * This is a helper for the bootstrap class loader. It is a + * URLClassLoader so that we can read a class path and re-use all the + * existing code for finding classes, extracting them from jars, etc. + * However, it is never called the way that an ordinary ClassLoader is + * called. For instance, loadClass() is never used. + */ +public final class BootClassLoader extends URLClassLoader +{ + BootClassLoader(String libdir) + { + super(new URL[0]); + + // Add the contents of the endorsed directories. + StringTokenizer st + = new StringTokenizer (System.getProperty ("java.endorsed.dirs", ""), + File.pathSeparator); + try + { + while (st.hasMoreElements ()) + { + String dirname = st.nextToken (); + File dir = new File (dirname); + if (dir.exists ()) + { + if (! dirname.endsWith (File.separator)) + dirname = dirname + File.separator; + String files[] = dir.list (new FilenameFilter () + { + public boolean accept (File dir, String name) + { + return name.endsWith (".jar") || name.endsWith (".zip"); + } + }); + for (int i = files.length - 1; i >= 0; i--) + addURL(new URL("file", "", -1, dirname + files[i])); + } + } + + String w3clib = (libdir + File.separator + + System.mapLibraryName ("w3c-gcj")); + addURL(new URL("gcjlib", "", -1, w3clib)); + String saxlib = (libdir + File.separator + + System.mapLibraryName ("sax-gcj")); + addURL(new URL("gcjlib", "", -1, saxlib)); + } + catch (java.net.MalformedURLException x) + { + // This should never happen. + throw new RuntimeException(x); + } + } + + public Class bootLoadClass(String name) + throws ClassNotFoundException + { + Class c = findLoadedClass(name); + if (c == null) + { + try + { + // We could hack URLClassLoader to make this more + // efficient, if it mattered. + c = findClass(name); + } + catch (ClassNotFoundException _) + { + c = null; + } + } + return c; + } + + public URL bootGetResource(String name) + { + return findResource(name); + } + + public Enumeration bootGetResources(String name) throws IOException + { + return findResources(name); + } +} diff --git a/libjava/gnu/xml/aelfred2/JAXPFactory.java b/libjava/gnu/xml/aelfred2/JAXPFactory.java index 006dc1302e3..ff585a82aa6 100644 --- a/libjava/gnu/xml/aelfred2/JAXPFactory.java +++ b/libjava/gnu/xml/aelfred2/JAXPFactory.java @@ -60,137 +60,172 @@ import javax.xml.parsers.SAXParserFactory; * * @author David Brownell */ -public final class JAXPFactory extends SAXParserFactory +public final class JAXPFactory + extends SAXParserFactory { - private Hashtable flags = new Hashtable (); - - /** - * Constructs a factory which normally returns a non-validating - * parser. - */ - public JAXPFactory () { } - - public SAXParser newSAXParser () + + private Hashtable flags = new Hashtable(); + + /** + * Constructs a factory which normally returns a non-validating + * parser. + */ + public JAXPFactory() + { + } + + public SAXParser newSAXParser() throws ParserConfigurationException, SAXException + { + JaxpParser jaxp = new JaxpParser(); + Enumeration e = flags.keys(); + XMLReader parser = jaxp.getXMLReader(); + + parser.setFeature(SAXDriver.FEATURE + "namespaces", + isNamespaceAware()); + parser.setFeature(SAXDriver.FEATURE + "validation", + isValidating()); + // that makes SAX2 feature flags trump JAXP + + while (e.hasMoreElements()) + { + String uri = (String) e.nextElement(); + Boolean value = (Boolean) flags.get(uri); + parser.setFeature(uri, value.booleanValue()); + } + + return jaxp; + } + + // yes, this "feature transfer" mechanism doesn't play well + + public void setFeature(String name, boolean value) + throws ParserConfigurationException, SAXNotRecognizedException, + SAXNotSupportedException + { + try + { + // force "early" detection of errors where possible + // (flags can't necessarily be set before parsing) + new JaxpParser().getXMLReader().setFeature(name, value); + + flags.put(name, new Boolean(value)); + } + catch (SAXNotRecognizedException e) + { + throw new SAXNotRecognizedException(name); + } + catch (SAXNotSupportedException e) + { + throw new SAXNotSupportedException(name); + } + catch (Exception e) + { + throw new ParserConfigurationException(e.getClass().getName() + + ": " + + e.getMessage()); + } + } + + public boolean getFeature(String name) + throws ParserConfigurationException, SAXNotRecognizedException, + SAXNotSupportedException + { + Boolean value = (Boolean) flags.get(name); + + if (value != null) + { + return value.booleanValue(); + } + else + { + try + { + return new JaxpParser().getXMLReader().getFeature(name); + } + catch (SAXNotRecognizedException e) + { + throw new SAXNotRecognizedException(name); + } + catch (SAXNotSupportedException e) + { + throw new SAXNotSupportedException(name); + } + catch (SAXException e) + { + throw new ParserConfigurationException(e.getClass().getName() + + ": " + + e.getMessage()); + } + } + } + + private static class JaxpParser + extends SAXParser + { + + private XmlReader ae2 = new XmlReader(); + private XMLReaderAdapter parser = null; + + JaxpParser() { - JaxpParser jaxp = new JaxpParser (); - Enumeration e = flags.keys (); - XMLReader parser = jaxp.getXMLReader (); - - parser.setFeature ( - SAXDriver.FEATURE + "namespaces", - isNamespaceAware ()); - parser.setFeature ( - SAXDriver.FEATURE + "validation", - isValidating ()); - // that makes SAX2 feature flags trump JAXP - - while (e.hasMoreElements ()) { - String uri = (String) e.nextElement (); - Boolean value = (Boolean) flags.get (uri); - parser.setFeature (uri, value.booleanValue ()); - } - - return jaxp; } - // yes, this "feature transfer" mechanism doesn't play well + public void setProperty(String id, Object value) + throws SAXNotRecognizedException, SAXNotSupportedException + { + ae2.setProperty(id, value); + } - public void setFeature (String name, boolean value) - throws - ParserConfigurationException, - SAXNotRecognizedException, - SAXNotSupportedException + public Object getProperty(String id) + throws SAXNotRecognizedException, SAXNotSupportedException { - try { - // force "early" detection of errors where possible - // (flags can't necessarily be set before parsing) - new JaxpParser ().getXMLReader ().setFeature (name, value); - - flags.put (name, new Boolean (value)); - } catch (SAXNotRecognizedException e) { - throw new SAXNotRecognizedException (name); - } catch (SAXNotSupportedException e) { - throw new SAXNotSupportedException (name); - } catch (Exception e) { - throw new ParserConfigurationException ( - e.getClass ().getName () - + ": " - + e.getMessage ()); - } + return ae2.getProperty(id); } - public boolean getFeature (String name) - throws - ParserConfigurationException, - SAXNotRecognizedException, - SAXNotSupportedException + public Parser getParser() + throws SAXException { - Boolean value = (Boolean) flags.get (name); - - if (value != null) - return value.booleanValue (); - else - try { - return new JaxpParser ().getXMLReader ().getFeature (name); - } catch (SAXNotRecognizedException e) { - throw new SAXNotRecognizedException (name); - } catch (SAXNotSupportedException e) { - throw new SAXNotSupportedException (name); - } catch (SAXException e) { - throw new ParserConfigurationException ( - e.getClass ().getName () - + ": " - + e.getMessage ()); - } + if (parser == null) + { + parser = new XMLReaderAdapter(ae2); + } + return parser; } - private static class JaxpParser extends SAXParser + public XMLReader getXMLReader () + throws SAXException { - private XmlReader ae2 = new XmlReader (); - private XMLReaderAdapter parser = null; - - JaxpParser () { } - - public void setProperty (String id, Object value) - throws SAXNotRecognizedException, SAXNotSupportedException - { ae2.setProperty (id, value); } - - public Object getProperty (String id) - throws SAXNotRecognizedException, SAXNotSupportedException - { return ae2.getProperty (id); } - - public Parser getParser () - throws SAXException - { - if (parser == null) - parser = new XMLReaderAdapter (ae2); - return parser; - } - - public XMLReader getXMLReader () - throws SAXException - { return ae2; } - - public boolean isNamespaceAware () - { - try { - return ae2.getFeature (SAXDriver.FEATURE + "namespaces"); - } catch (Exception e) { - throw new Error (); - } - } - - public boolean isValidating () - { - try { - return ae2.getFeature (SAXDriver.FEATURE + "validation"); - } catch (Exception e) { - throw new Error (); - } - } - - // TODO isXIncludeAware() - + return ae2; } + + public boolean isNamespaceAware() + { + try + { + return ae2.getFeature(SAXDriver.FEATURE + "namespaces"); + } + catch (Exception e) + { + throw new Error(); + } + } + + public boolean isValidating() + { + try + { + return ae2.getFeature(SAXDriver.FEATURE + "validation"); + } + catch (Exception e) + { + throw new Error(); + } + } + + // TODO isXIncludeAware() + + } + } + diff --git a/libjava/gnu/xml/aelfred2/SAXDriver.java b/libjava/gnu/xml/aelfred2/SAXDriver.java index 0e7b3c719a6..003a73620a8 100644 --- a/libjava/gnu/xml/aelfred2/SAXDriver.java +++ b/libjava/gnu/xml/aelfred2/SAXDriver.java @@ -60,15 +60,11 @@ import java.net.URL; import java.util.Locale; import java.util.Stack; -// maintaining 1.1 compatibility for now ... more portable, PJava, etc -// Iterator, Hashmap and ArrayList ought to be faster import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; -import java.util.Hashtable; import java.util.Iterator; import java.util.List; -import java.util.Vector; import org.xml.sax.*; import org.xml.sax.ext.*; @@ -133,1276 +129,1494 @@ import org.xml.sax.helpers.NamespaceSupport; * @see org.xml.sax.Parser */ final public class SAXDriver - implements Locator, Attributes2, XMLReader, Parser, AttributeList + implements Locator, Attributes2, XMLReader, Parser, AttributeList { - private final DefaultHandler2 base = new DefaultHandler2 (); - private XmlParser parser; - - private EntityResolver entityResolver = base; - private EntityResolver2 resolver2 = null; - private ContentHandler contentHandler = base; - private DTDHandler dtdHandler = base; - private ErrorHandler errorHandler = base; - private DeclHandler declHandler = base; - private LexicalHandler lexicalHandler = base; - - private String elementName; - private Stack entityStack; - - // one vector (of object/struct): faster, smaller - private List attributesList; - - private boolean namespaces = true; - private boolean xmlNames = false; - private boolean extGE = true; - private boolean extPE = true; - private boolean resolveAll = true; - private boolean useResolver2 = true; - private boolean stringInterning = true; - - private int attributeCount; - private boolean attributes; - private String nsTemp []; - private NamespaceSupport prefixStack; + + private final DefaultHandler2 base = new DefaultHandler2(); + private XmlParser parser; + + private EntityResolver entityResolver = base; + private EntityResolver2 resolver2 = null; + private ContentHandler contentHandler = base; + private DTDHandler dtdHandler = base; + private ErrorHandler errorHandler = base; + private DeclHandler declHandler = base; + private LexicalHandler lexicalHandler = base; + + private String elementName; + private Stack entityStack; + + // one vector (of object/struct): faster, smaller + private List attributesList; + + private boolean namespaces = true; + private boolean xmlNames = false; + private boolean extGE = true; + private boolean extPE = true; + private boolean resolveAll = true; + private boolean useResolver2 = true; + + // package private to allow (read-only) access in XmlParser + boolean stringInterning = true; + + private int attributeCount; + private boolean attributes; + private String[] nsTemp; + private NamespaceSupport prefixStack; + + // + // Constructor. + // + + /** + * Constructs a SAX Parser. + */ + public SAXDriver() + { + reset(); + } - // - // Constructor. - // + private void reset() + { + elementName = null; + entityStack = new Stack(); + attributesList = Collections.synchronizedList(new ArrayList()); + attributeCount = 0; + attributes = false; + nsTemp = new String[3]; + prefixStack = null; + } - /** Constructs a SAX Parser. */ - public SAXDriver () - { - reset (); - } - private void reset () - { - elementName = null; - entityStack = new Stack (); - attributesList = Collections.synchronizedList(new ArrayList()); - attributeCount = 0; - attributes = false; - nsTemp = new String[3]; - prefixStack = null; - } + // + // Implementation of org.xml.sax.Parser. + // + /** + * SAX1: Sets the locale used for diagnostics; currently, + * only locales using the English language are supported. + * @param locale The locale for which diagnostics will be generated + */ + public void setLocale(Locale locale) + throws SAXException + { + if ("en".equals(locale.getLanguage())) + { + return; + } + throw new SAXException ("AElfred2 only supports English locales."); + } - // - // Implementation of org.xml.sax.Parser. - // + /** + * SAX2: Returns the object used when resolving external + * entities during parsing (both general and parameter entities). + */ + public EntityResolver getEntityResolver() + { + return (entityResolver == base) ? null : entityResolver; + } - /** - * SAX1: Sets the locale used for diagnostics; currently, - * only locales using the English language are supported. - * @param locale The locale for which diagnostics will be generated - */ - public void setLocale (Locale locale) - throws SAXException - { - if ("en".equals (locale.getLanguage ())) - return ; + /** + * SAX1, SAX2: Set the entity resolver for this parser. + * @param handler The object to receive entity events. + */ + public void setEntityResolver(EntityResolver resolver) + { + if (resolver instanceof EntityResolver2) + { + resolver2 = (EntityResolver2) resolver; + } + else + { + resolver2 = null; + } + if (resolver == null) + { + resolver = base; + } + entityResolver = resolver; + } - throw new SAXException ("AElfred2 only supports English locales."); - } + /** + * SAX2: Returns the object used to process declarations related + * to notations and unparsed entities. + */ + public DTDHandler getDTDHandler() + { + return (dtdHandler == base) ? null : dtdHandler; + } + /** + * SAX1, SAX2: Set the DTD handler for this parser. + * @param handler The object to receive DTD events. + */ + public void setDTDHandler(DTDHandler handler) + { + if (handler == null) + { + handler = base; + } + this.dtdHandler = handler; + } - /** - * SAX2: Returns the object used when resolving external - * entities during parsing (both general and parameter entities). - */ - public EntityResolver getEntityResolver () - { - return (entityResolver == base) ? null : entityResolver; - } - /** - * SAX1, SAX2: Set the entity resolver for this parser. - * @param handler The object to receive entity events. - */ - public void setEntityResolver (EntityResolver resolver) - { - if (resolver instanceof EntityResolver2) - resolver2 = (EntityResolver2) resolver; - else - resolver2 = null; - if (resolver == null) - resolver = base; - entityResolver = resolver; - } + /** + * SAX1: Set the document handler for this parser. If a + * content handler was set, this document handler will supplant it. + * The parser is set to report all XML 1.0 names rather than to + * filter out "xmlns" attributes (the "namespace-prefixes" feature + * is set to true). + * + * @deprecated SAX2 programs should use the XMLReader interface + * and a ContentHandler. + * + * @param handler The object to receive document events. + */ + public void setDocumentHandler(DocumentHandler handler) + { + contentHandler = new Adapter(handler); + xmlNames = true; + } + /** + * SAX2: Returns the object used to report the logical + * content of an XML document. + */ + public ContentHandler getContentHandler() + { + return (contentHandler == base) ? null : contentHandler; + } - /** - * SAX2: Returns the object used to process declarations related - * to notations and unparsed entities. - */ - public DTDHandler getDTDHandler () - { - return (dtdHandler == base) ? null : dtdHandler; - } + /** + * SAX2: Assigns the object used to report the logical + * content of an XML document. If a document handler was set, + * this content handler will supplant it (but XML 1.0 style name + * reporting may remain enabled). + */ + public void setContentHandler(ContentHandler handler) + { + if (handler == null) + { + handler = base; + } + contentHandler = handler; + } - /** - * SAX1, SAX2: Set the DTD handler for this parser. - * @param handler The object to receive DTD events. - */ - public void setDTDHandler (DTDHandler handler) - { - if (handler == null) - handler = base; - this.dtdHandler = handler; - } + /** + * SAX1, SAX2: Set the error handler for this parser. + * @param handler The object to receive error events. + */ + public void setErrorHandler(ErrorHandler handler) + { + if (handler == null) + { + handler = base; + } + this.errorHandler = handler; + } + /** + * SAX2: Returns the object used to receive callbacks for XML + * errors of all levels (fatal, nonfatal, warning); this is never null; + */ + public ErrorHandler getErrorHandler() + { + return (errorHandler == base) ? null : errorHandler; + } - /** - * SAX1: Set the document handler for this parser. If a - * content handler was set, this document handler will supplant it. - * The parser is set to report all XML 1.0 names rather than to - * filter out "xmlns" attributes (the "namespace-prefixes" feature - * is set to true). - * - * @deprecated SAX2 programs should use the XMLReader interface - * and a ContentHandler. - * - * @param handler The object to receive document events. - */ - public void setDocumentHandler (DocumentHandler handler) - { - contentHandler = new Adapter (handler); - xmlNames = true; - } + /** + * SAX1, SAX2: Auxiliary API to parse an XML document, used mostly + * when no URI is available. + * If you want anything useful to happen, you should set + * at least one type of handler. + * @param source The XML input source. Don't set 'encoding' unless + * you know for a fact that it's correct. + * @see #setEntityResolver + * @see #setDTDHandler + * @see #setContentHandler + * @see #setErrorHandler + * @exception SAXException The handlers may throw any SAXException, + * and the parser normally throws SAXParseException objects. + * @exception IOException IOExceptions are normally through through + * the parser if there are problems reading the source document. + */ + public void parse(InputSource source) + throws SAXException, IOException + { + synchronized (base) + { + parser = new XmlParser(); + if (namespaces) + { + prefixStack = new NamespaceSupport(); + } + else if (!xmlNames) + { + throw new IllegalStateException(); + } + parser.setHandler(this); + + try + { + Reader r = source.getCharacterStream(); + InputStream in = source.getByteStream(); + + parser.doParse(source.getSystemId(), + source.getPublicId(), + r, + in, + source.getEncoding()); + } + catch (SAXException e) + { + throw e; + } + catch (IOException e) + { + throw e; + } + catch (RuntimeException e) + { + throw e; + } + catch (Exception e) + { + throw new SAXParseException(e.getMessage(), this, e); + } + finally + { + contentHandler.endDocument(); + reset(); + } + } + } - /** - * SAX2: Returns the object used to report the logical - * content of an XML document. - */ - public ContentHandler getContentHandler () - { - return contentHandler == base ? null : contentHandler; - } + /** + * SAX1, SAX2: Preferred API to parse an XML document, using a + * system identifier (URI). + */ + public void parse(String systemId) + throws SAXException, IOException + { + parse(new InputSource(systemId)); + } - /** - * SAX2: Assigns the object used to report the logical - * content of an XML document. If a document handler was set, - * this content handler will supplant it (but XML 1.0 style name - * reporting may remain enabled). - */ - public void setContentHandler (ContentHandler handler) - { - if (handler == null) - handler = base; - contentHandler = handler; - } + // + // Implementation of SAX2 "XMLReader" interface + // + static final String FEATURE = "http://xml.org/sax/features/"; + static final String PROPERTY = "http://xml.org/sax/properties/"; + + /** + * SAX2: Tells the value of the specified feature flag. + * + * @exception SAXNotRecognizedException thrown if the feature flag + * is neither built in, nor yet assigned. + */ + public boolean getFeature(String featureId) + throws SAXNotRecognizedException, SAXNotSupportedException + { + if ((FEATURE + "validation").equals(featureId)) + { + return false; + } - /** - * SAX1, SAX2: Set the error handler for this parser. - * @param handler The object to receive error events. - */ - public void setErrorHandler (ErrorHandler handler) - { - if (handler == null) - handler = base; - this.errorHandler = handler; - } + // external entities (both types) are optionally included + if ((FEATURE + "external-general-entities").equals(featureId)) + { + return extGE; + } + if ((FEATURE + "external-parameter-entities").equals(featureId)) + { + return extPE; + } + + // element/attribute names are as written in document; no mangling + if ((FEATURE + "namespace-prefixes").equals(featureId)) + { + return xmlNames; + } - /** - * SAX2: Returns the object used to receive callbacks for XML - * errors of all levels (fatal, nonfatal, warning); this is never null; - */ - public ErrorHandler getErrorHandler () - { return errorHandler == base ? null : errorHandler; } - - - /** - * SAX1, SAX2: Auxiliary API to parse an XML document, used mostly - * when no URI is available. - * If you want anything useful to happen, you should set - * at least one type of handler. - * @param source The XML input source. Don't set 'encoding' unless - * you know for a fact that it's correct. - * @see #setEntityResolver - * @see #setDTDHandler - * @see #setContentHandler - * @see #setErrorHandler - * @exception SAXException The handlers may throw any SAXException, - * and the parser normally throws SAXParseException objects. - * @exception IOException IOExceptions are normally through through - * the parser if there are problems reading the source document. - */ - public void parse (InputSource source) - throws SAXException, IOException - { - synchronized (base) { - parser = new XmlParser (); - if (namespaces) - prefixStack = new NamespaceSupport (); - else if (!xmlNames) - throw new IllegalStateException (); - parser.setHandler (this); - - try { - - Reader r = source.getCharacterStream(); - InputStream in = source.getByteStream(); - - - parser.doParse (source.getSystemId (), - source.getPublicId (), - r, - in, - source.getEncoding ()); - } catch (SAXException e) { - throw e; - } catch (IOException e) { - throw e; - } catch (RuntimeException e) { - throw e; - } catch (Exception e) { - throw new SAXParseException (e.getMessage (), this, e); - } finally { - contentHandler.endDocument (); - reset(); - } - } - } + // report element/attribute namespaces? + if ((FEATURE + "namespaces").equals(featureId)) + { + return namespaces; + } + // all PEs and GEs are reported + if ((FEATURE + "lexical-handler/parameter-entities").equals(featureId)) + { + return true; + } - /** - * SAX1, SAX2: Preferred API to parse an XML document, using a - * system identifier (URI). - */ - public void parse (String systemId) - throws SAXException, IOException - { - parse (new InputSource (systemId)); - } + // default is true + if ((FEATURE + "string-interning").equals(featureId)) + { + return stringInterning; + } + + // EXTENSIONS 1.1 + + // always returns isSpecified info + if ((FEATURE + "use-attributes2").equals(featureId)) + { + return true; + } + + // meaningful between startDocument/endDocument + if ((FEATURE + "is-standalone").equals(featureId)) + { + if (parser == null) + { + throw new SAXNotSupportedException(featureId); + } + return parser.isStandalone(); + } - // - // Implementation of SAX2 "XMLReader" interface - // - static final String FEATURE = "http://xml.org/sax/features/"; - static final String PROPERTY = "http://xml.org/sax/properties/"; - - /** - * SAX2: Tells the value of the specified feature flag. - * - * @exception SAXNotRecognizedException thrown if the feature flag - * is neither built in, nor yet assigned. - */ - public boolean getFeature (String featureId) - throws SAXNotRecognizedException, SAXNotSupportedException - { - if ((FEATURE + "validation").equals (featureId)) - return false; - - // external entities (both types) are optionally included - if ((FEATURE + "external-general-entities").equals (featureId)) - return extGE; - if ((FEATURE + "external-parameter-entities") .equals (featureId)) - return extPE; - - // element/attribute names are as written in document; no mangling - if ((FEATURE + "namespace-prefixes").equals (featureId)) - return xmlNames; - - // report element/attribute namespaces? - if ((FEATURE + "namespaces").equals (featureId)) - return namespaces; - - // all PEs and GEs are reported - if ((FEATURE + "lexical-handler/parameter-entities").equals (featureId)) - return true; - - // default is true - if ((FEATURE + "string-interning").equals (featureId)) - return stringInterning; - - // EXTENSIONS 1.1 - - // always returns isSpecified info - if ((FEATURE + "use-attributes2").equals (featureId)) - return true; - - // meaningful between startDocument/endDocument - if ((FEATURE + "is-standalone").equals (featureId)) { - if (parser == null) - throw new SAXNotSupportedException (featureId); - return parser.isStandalone (); - } - - // optionally don't absolutize URIs in declarations - if ((FEATURE + "resolve-dtd-uris").equals (featureId)) - return resolveAll; - - // optionally use resolver2 interface methods, if possible - if ((FEATURE + "use-entity-resolver2").equals (featureId)) - return useResolver2; - - throw new SAXNotRecognizedException (featureId); - } + // optionally don't absolutize URIs in declarations + if ((FEATURE + "resolve-dtd-uris").equals(featureId)) + { + return resolveAll; + } + + // optionally use resolver2 interface methods, if possible + if ((FEATURE + "use-entity-resolver2").equals(featureId)) + { + return useResolver2; + } + + throw new SAXNotRecognizedException(featureId); + } - // package private - DeclHandler getDeclHandler () { return declHandler; } + // package private + DeclHandler getDeclHandler() + { + return declHandler; + } - // package private - boolean resolveURIs () { return resolveAll; } + // package private + boolean resolveURIs() + { + return resolveAll; + } - /** - * SAX2: Returns the specified property. - * - * @exception SAXNotRecognizedException thrown if the property value - * is neither built in, nor yet stored. - */ - public Object getProperty (String propertyId) + /** + * SAX2: Returns the specified property. + * + * @exception SAXNotRecognizedException thrown if the property value + * is neither built in, nor yet stored. + */ + public Object getProperty(String propertyId) throws SAXNotRecognizedException - { - if ((PROPERTY + "declaration-handler").equals (propertyId)) - return declHandler == base ? null : declHandler; - - if ((PROPERTY + "lexical-handler").equals (propertyId)) - return lexicalHandler == base ? null : lexicalHandler; - - // unknown properties - throw new SAXNotRecognizedException (propertyId); - } + { + if ((PROPERTY + "declaration-handler").equals(propertyId)) + { + return (declHandler == base) ? null : declHandler; + } - /** - * SAX2: Sets the state of feature flags in this parser. Some - * built-in feature flags are mutable. - */ - public void setFeature (String featureId, boolean value) - throws SAXNotRecognizedException, SAXNotSupportedException - { - boolean state; - - // Features with a defined value, we just change it if we can. - state = getFeature (featureId); - - if (state == value) - return; - if (parser != null) - throw new SAXNotSupportedException ("not while parsing"); - - if ((FEATURE + "namespace-prefixes").equals (featureId)) { - // in this implementation, this only affects xmlns reporting - xmlNames = value; - // forcibly prevent illegal parser state - if (!xmlNames) - namespaces = true; - return; - } - - if ((FEATURE + "namespaces").equals (featureId)) { - namespaces = value; - // forcibly prevent illegal parser state - if (!namespaces) - xmlNames = true; - return; - } - - if ((FEATURE + "external-general-entities").equals (featureId)) { - extGE = value; - return; - } - if ((FEATURE + "external-parameter-entities") .equals (featureId)) { - extPE = value; - return; - } - if ((FEATURE + "resolve-dtd-uris").equals (featureId)) { - resolveAll = value; - return; - } - - if ((FEATURE + "use-entity-resolver2").equals (featureId)) { - useResolver2 = value; - return; - } - - throw new SAXNotRecognizedException (featureId); - } + if ((PROPERTY + "lexical-handler").equals(propertyId)) + { + return (lexicalHandler == base) ? null : lexicalHandler; + } + + // unknown properties + throw new SAXNotRecognizedException(propertyId); + } - /** - * SAX2: Assigns the specified property. Like SAX1 handlers, - * these may be changed at any time. - */ - public void setProperty (String propertyId, Object value) + /** + * SAX2: Sets the state of feature flags in this parser. Some + * built-in feature flags are mutable. + */ + public void setFeature(String featureId, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException - { - // see if the property is recognized - getProperty (propertyId); - - // Properties with a defined value, we just change it if we can. - - if ((PROPERTY + "declaration-handler").equals (propertyId)) { - if (value == null) - declHandler = base; - else if (! (value instanceof DeclHandler)) - throw new SAXNotSupportedException (propertyId); - else - declHandler = (DeclHandler) value; - return ; - } - - if ((PROPERTY + "lexical-handler").equals (propertyId)) { - if (value == null) - lexicalHandler = base; - else if (! (value instanceof LexicalHandler)) - throw new SAXNotSupportedException (propertyId); - else - lexicalHandler = (LexicalHandler) value; - return ; - } - - throw new SAXNotSupportedException (propertyId); - } + { + boolean state; + + // Features with a defined value, we just change it if we can. + state = getFeature (featureId); + + if (state == value) + { + return; + } + if (parser != null) + { + throw new SAXNotSupportedException("not while parsing"); + } + if ((FEATURE + "namespace-prefixes").equals(featureId)) + { + // in this implementation, this only affects xmlns reporting + xmlNames = value; + // forcibly prevent illegal parser state + if (!xmlNames) + { + namespaces = true; + } + return; + } - // - // This is where the driver receives XmlParser callbacks and translates - // them into SAX callbacks. Some more callbacks have been added for - // SAX2 support. - // + if ((FEATURE + "namespaces").equals(featureId)) + { + namespaces = value; + // forcibly prevent illegal parser state + if (!namespaces) + { + xmlNames = true; + } + return; + } + + if ((FEATURE + "external-general-entities").equals(featureId)) + { + extGE = value; + return; + } + if ((FEATURE + "external-parameter-entities").equals(featureId)) + { + extPE = value; + return; + } + if ((FEATURE + "resolve-dtd-uris").equals(featureId)) + { + resolveAll = value; + return; + } - void startDocument () + if ((FEATURE + "use-entity-resolver2").equals(featureId)) + { + useResolver2 = value; + return; + } + + throw new SAXNotRecognizedException(featureId); + } + + /** + * SAX2: Assigns the specified property. Like SAX1 handlers, + * these may be changed at any time. + */ + public void setProperty(String propertyId, Object value) + throws SAXNotRecognizedException, SAXNotSupportedException + { + // see if the property is recognized + getProperty(propertyId); + + // Properties with a defined value, we just change it if we can. + + if ((PROPERTY + "declaration-handler").equals(propertyId)) + { + if (value == null) + { + declHandler = base; + } + else if (!(value instanceof DeclHandler)) + { + throw new SAXNotSupportedException(propertyId); + } + else + { + declHandler = (DeclHandler) value; + } + return ; + } + + if ((PROPERTY + "lexical-handler").equals(propertyId)) + { + if (value == null) + { + lexicalHandler = base; + } + else if (!(value instanceof LexicalHandler)) + { + throw new SAXNotSupportedException(propertyId); + } + else + { + lexicalHandler = (LexicalHandler) value; + } + return; + } + + throw new SAXNotSupportedException(propertyId); + } + + // + // This is where the driver receives XmlParser callbacks and translates + // them into SAX callbacks. Some more callbacks have been added for + // SAX2 support. + // + + void startDocument() throws SAXException - { - contentHandler.setDocumentLocator (this); - contentHandler.startDocument (); - attributesList.clear (); - } + { + contentHandler.setDocumentLocator(this); + contentHandler.startDocument(); + attributesList.clear(); + } - void xmlDecl(String version, - String encoding, - boolean standalone, - String inputEncoding) - throws SAXException - { - if (contentHandler instanceof ContentHandler2) - { - ((ContentHandler2) contentHandler).xmlDecl(version, - encoding, - standalone, - inputEncoding); - } - } + void xmlDecl(String version, + String encoding, + boolean standalone, + String inputEncoding) + throws SAXException + { + if (contentHandler instanceof ContentHandler2) + { + ((ContentHandler2) contentHandler).xmlDecl(version, + encoding, + standalone, + inputEncoding); + } + } - void skippedEntity (String name) + void skippedEntity(String name) throws SAXException - { contentHandler.skippedEntity (name); } + { + contentHandler.skippedEntity(name); + } - InputSource getExternalSubset (String name, String baseURI) + InputSource getExternalSubset(String name, String baseURI) throws SAXException, IOException - { - if (resolver2 == null || !useResolver2 || !extPE) - return null; - return resolver2.getExternalSubset (name, baseURI); - } + { + if (resolver2 == null || !useResolver2 || !extPE) + { + return null; + } + return resolver2.getExternalSubset(name, baseURI); + } - InputSource resolveEntity (boolean isPE, String name, - InputSource in, String baseURI) + InputSource resolveEntity(boolean isPE, String name, + InputSource in, String baseURI) throws SAXException, IOException - { - InputSource source; - - // external entities might be skipped - if (isPE && !extPE) - return null; - if (!isPE && !extGE) - return null; - - // ... or not - lexicalHandler.startEntity (name); - if (resolver2 != null && useResolver2) { - source = resolver2.resolveEntity (name, in.getPublicId (), - baseURI, in.getSystemId ()); - if (source == null) { - in.setSystemId (absolutize (baseURI, - in.getSystemId (), false)); - source = in; - } - } else { - in.setSystemId (absolutize (baseURI, in.getSystemId (), false)); - source = entityResolver.resolveEntity (in.getPublicId (), - in.getSystemId ()); - if (source == null) - source = in; - } - startExternalEntity (name, source.getSystemId (), true); - return source; - } + { + InputSource source; + + // external entities might be skipped + if (isPE && !extPE) + { + return null; + } + if (!isPE && !extGE) + { + return null; + } - // absolutize a system ID relative to the specified base URI - // (temporarily) package-visible for external entity decls - String absolutize (String baseURI, String systemId, boolean nice) + // ... or not + lexicalHandler.startEntity(name); + if (resolver2 != null && useResolver2) + { + source = resolver2.resolveEntity(name, in.getPublicId(), + baseURI, in.getSystemId()); + if (source == null) + { + in.setSystemId(absolutize(baseURI, + in.getSystemId(), false)); + source = in; + } + } + else + { + in.setSystemId(absolutize(baseURI, in.getSystemId(), false)); + source = entityResolver.resolveEntity(in.getPublicId(), + in.getSystemId()); + if (source == null) + { + source = in; + } + } + startExternalEntity(name, source.getSystemId(), true); + return source; + } + + // absolutize a system ID relative to the specified base URI + // (temporarily) package-visible for external entity decls + String absolutize(String baseURI, String systemId, boolean nice) throws MalformedURLException, SAXException - { - // FIXME normalize system IDs -- when? - // - Convert to UTF-8 - // - Map reserved and non-ASCII characters to %HH - - try { - if (baseURI == null) { - warn ("No base URI; hope this SYSTEM id is absolute: " - + systemId); - return new URL (systemId).toString (); - } else - return new URL (new URL (baseURI), systemId).toString (); - - } catch (MalformedURLException e) { - - // Let unknown URI schemes pass through unless we need - // the JVM to map them to i/o streams for us... - if (!nice) - throw e; - - // sometimes sysids for notations or unparsed entities - // aren't really URIs... - warn ("Can't absolutize SYSTEM id: " + e.getMessage ()); - return systemId; - } - } + { + // FIXME normalize system IDs -- when? + // - Convert to UTF-8 + // - Map reserved and non-ASCII characters to %HH + + try + { + if (baseURI == null) + { + if (XmlParser.uriWarnings) + { + warn ("No base URI; hope this SYSTEM id is absolute: " + + systemId); + } + return new URL(systemId).toString(); + } + else + { + return new URL(new URL(baseURI), systemId).toString(); + } + } + catch (MalformedURLException e) + { + // Let unknown URI schemes pass through unless we need + // the JVM to map them to i/o streams for us... + if (!nice) + { + throw e; + } + + // sometimes sysids for notations or unparsed entities + // aren't really URIs... + warn("Can't absolutize SYSTEM id: " + e.getMessage()); + return systemId; + } + } - void startExternalEntity (String name, String systemId, - boolean stackOnly) + void startExternalEntity(String name, String systemId, boolean stackOnly) throws SAXException - { - // The following warning was deleted because the application has the - // option of not setting systemId. Sun's JAXP or Xerces seems to - // ignore this case. - /* - if (systemId == null) - warn ("URI was not reported to parser for entity " + name); - */ - if (!stackOnly) // spliced [dtd] needs startEntity - lexicalHandler.startEntity (name); - entityStack.push (systemId); - } + { + // The following warning was deleted because the application has the + // option of not setting systemId. Sun's JAXP or Xerces seems to + // ignore this case. + /* + if (systemId == null) + warn ("URI was not reported to parser for entity " + name); + */ + if (!stackOnly) // spliced [dtd] needs startEntity + { + lexicalHandler.startEntity(name); + } + entityStack.push(systemId); + } - void endExternalEntity (String name) + void endExternalEntity(String name) throws SAXException - { - if (!"[document]".equals (name)) - lexicalHandler.endEntity (name); - entityStack.pop (); - } + { + if (!"[document]".equals(name)) + { + lexicalHandler.endEntity(name); + } + entityStack.pop(); + } - void startInternalEntity (String name) + void startInternalEntity(String name) throws SAXException - { - lexicalHandler.startEntity (name); - } + { + lexicalHandler.startEntity(name); + } - void endInternalEntity (String name) + void endInternalEntity(String name) throws SAXException - { - lexicalHandler.endEntity (name); - } + { + lexicalHandler.endEntity(name); + } - void doctypeDecl (String name, String publicId, String systemId) + void doctypeDecl(String name, String publicId, String systemId) throws SAXException - { - lexicalHandler.startDTD (name, publicId, systemId); - - // ... the "name" is a declaration and should be given - // to the DeclHandler (but sax2 doesn't). - - // the IDs for the external subset are lexical details, - // as are the contents of the internal subset; but sax2 - // doesn't provide the internal subset "pre-parse" - } - - void notationDecl (String name, String ids []) + { + lexicalHandler.startDTD(name, publicId, systemId); + + // ... the "name" is a declaration and should be given + // to the DeclHandler (but sax2 doesn't). + + // the IDs for the external subset are lexical details, + // as are the contents of the internal subset; but sax2 + // doesn't provide the internal subset "pre-parse" + } + + void notationDecl(String name, String publicId, String systemId, + String baseUri) throws SAXException - { - try { - dtdHandler.notationDecl (name, ids [0], - (resolveAll && ids [1] != null) - ? absolutize (ids [2], ids [1], true) - : ids [1]); - } catch (IOException e) { - // "can't happen" - throw new SAXParseException (e.getMessage (), this, e); - } - } + { + try + { + dtdHandler.notationDecl(name, publicId, + (resolveAll && systemId != null) + ? absolutize(baseUri, systemId, true) + : systemId); + } + catch (IOException e) + { + // "can't happen" + throw new SAXParseException(e.getMessage(), this, e); + } + } - void unparsedEntityDecl (String name, String ids [], String notation) + void unparsedEntityDecl(String name, String publicId, String systemId, + String baseUri, String notation) throws SAXException - { - try { - dtdHandler.unparsedEntityDecl (name, ids [0], - resolveAll - ? absolutize (ids [2], ids [1], true) - : ids [1], - notation); - } catch (IOException e) { - // "can't happen" - throw new SAXParseException (e.getMessage (), this, e); - } - } + { + try + { + dtdHandler.unparsedEntityDecl(name, publicId, + resolveAll + ? absolutize(baseUri, systemId, true) + : systemId, + notation); + } + catch (IOException e) + { + // "can't happen" + throw new SAXParseException(e.getMessage(), this, e); + } + } - void endDoctype () + void endDoctype() throws SAXException - { - lexicalHandler.endDTD (); - } + { + lexicalHandler.endDTD(); + } - private void declarePrefix (String prefix, String uri) + private void declarePrefix(String prefix, String uri) throws SAXException - { - int index = uri.indexOf (':'); - - // many versions of nwalsh docbook stylesheets - // have bogus URLs; so this can't be an error... - if (index < 1 && uri.length () != 0) - warn ("relative URI for namespace: " + uri); - - // FIXME: char [0] must be ascii alpha; chars [1..index] - // must be ascii alphanumeric or in "+-." [RFC 2396] - - //Namespace Constraints - //name for xml prefix must be http://www.w3.org/XML/1998/namespace - boolean prefixEquality = prefix.equals("xml"); - boolean uriEquality = uri.equals("http://www.w3.org/XML/1998/namespace"); - if ((prefixEquality || uriEquality) && !(prefixEquality && uriEquality)) - fatal ("xml is by definition bound to the namespace name " + - "http://www.w3.org/XML/1998/namespace"); - - //xmlns prefix declaration is illegal but xml prefix declaration is llegal... - if (prefixEquality && uriEquality) - return; - - //name for xmlns prefix must be http://www.w3.org/2000/xmlns/ - prefixEquality = prefix.equals("xmlns"); - uriEquality = uri.equals("http://www.w3.org/2000/xmlns/"); - if ((prefixEquality || uriEquality) && !(prefixEquality && uriEquality)) - fatal("http://www.w3.org/2000/xmlns/ is by definition bound" + - " to prefix xmlns"); - - //even if the uri is http://www.w3.org/2000/xmlns/ it is illegal to declare it - if (prefixEquality && uriEquality) - fatal ("declaring the xmlns prefix is illegal"); - - uri = uri.intern (); - prefixStack.declarePrefix (prefix, uri); - contentHandler.startPrefixMapping (prefix, uri); - } + { + int index = uri.indexOf(':'); + + // many versions of nwalsh docbook stylesheets + // have bogus URLs; so this can't be an error... + if (index < 1 && uri.length() != 0) + { + warn("relative URI for namespace: " + uri); + } - void attribute (String qname, String value, boolean isSpecified) - throws SAXException - { - if (!attributes) { - attributes = true; - if (namespaces) - prefixStack.pushContext (); - } - - // process namespace decls immediately; - // then maybe forget this as an attribute - if (namespaces) { - int index; - - // default NS declaration? - if (getFeature (FEATURE + "string-interning")) { - if ("xmlns" == qname) { - declarePrefix ("", value); - if (!xmlNames) - return; - } - // NS prefix declaration? - else if ((index = qname.indexOf (':')) == 5 - && qname.startsWith ("xmlns")) { - String prefix = qname.substring (6); - - if (prefix.equals("")) - fatal ("missing prefix in namespace declaration attribute"); - if (value.length () == 0) { - verror ("missing URI in namespace declaration attribute: " - + qname); - } else - declarePrefix (prefix, value); - if (!xmlNames) - return; - } - } else { - if ("xmlns".equals(qname)) { - declarePrefix ("", value); - if (!xmlNames) - return; - } - // NS prefix declaration? - else if ((index = qname.indexOf (':')) == 5 - && qname.startsWith ("xmlns")) { - String prefix = qname.substring (6); - - if (value.length () == 0) { - verror ("missing URI in namespace decl attribute: " - + qname); - } else - declarePrefix (prefix, value); - if (!xmlNames) - return; - } + // FIXME: char [0] must be ascii alpha; chars [1..index] + // must be ascii alphanumeric or in "+-." [RFC 2396] + + //Namespace Constraints + //name for xml prefix must be http://www.w3.org/XML/1998/namespace + boolean prefixEquality = prefix.equals("xml"); + boolean uriEquality = uri.equals("http://www.w3.org/XML/1998/namespace"); + if ((prefixEquality || uriEquality) && !(prefixEquality && uriEquality)) + { + fatal("xml is by definition bound to the namespace name " + + "http://www.w3.org/XML/1998/namespace"); + } + + //xmlns prefix declaration is illegal but xml prefix declaration is llegal... + if (prefixEquality && uriEquality) + { + return; } + + //name for xmlns prefix must be http://www.w3.org/2000/xmlns/ + prefixEquality = prefix.equals("xmlns"); + uriEquality = uri.equals("http://www.w3.org/2000/xmlns/"); + if ((prefixEquality || uriEquality) && !(prefixEquality && uriEquality)) + { + fatal("http://www.w3.org/2000/xmlns/ is by definition bound" + + " to prefix xmlns"); + } + + //even if the uri is http://www.w3.org/2000/xmlns/ + // it is illegal to declare it + if (prefixEquality && uriEquality) + { + fatal ("declaring the xmlns prefix is illegal"); + } + + uri = uri.intern(); + prefixStack.declarePrefix(prefix, uri); + contentHandler.startPrefixMapping(prefix, uri); } - // remember this attribute ... - - attributeCount++; - - // attribute type comes from querying parser's DTD records - attributesList.add(new Attribute(qname, value, isSpecified)); - - } - void startElement (String elname) + void attribute(String qname, String value, boolean isSpecified) throws SAXException - { - ContentHandler handler = contentHandler; - - // - // NOTE: this implementation of namespace support adds something - // like six percent to parsing CPU time, in a large (~50 MB) - // document that doesn't use namespaces at all. (Measured by PC - // sampling, with a bug where endElement processing was omitted.) - // [Measurement referred to older implementation, older JVM ...] - // - // It ought to become notably faster in such cases. Most - // costs are the prefix stack calling Hashtable.get() (2%), - // String.hashCode() (1.5%) and about 1.3% each for pushing - // the context, and two chunks of name processing. - // - - if (!attributes) { - if (namespaces) - prefixStack.pushContext (); - } else if (namespaces) { - - // now we can patch up namespace refs; we saw all the - // declarations, so now we'll do the Right Thing - Iterator itt = attributesList.iterator (); - while(itt.hasNext()) - { - Attribute attribute = (Attribute) itt.next(); - String qname = attribute.name; - int index; - - // default NS declaration? - if (getFeature (FEATURE + "string-interning")) { - if ("xmlns" == qname) - continue; - } else { - if ("xmlns".equals(qname)) - continue; - } - //Illegal in the new Namespaces Draft - //should it be only in 1.1 docs?? - if (qname.equals (":")) - fatal ("namespace names consisting of a single colon " + - "character are invalid"); - index = qname.indexOf (':'); - - // NS prefix declaration? - if (index == 5 && qname.startsWith ("xmlns")) - continue; - - // it's not a NS decl; patch namespace info items - if (prefixStack.processName (qname, nsTemp, true) == null) - fatal ("undeclared attribute prefix in: " + qname); - else { - attribute.nameSpace = nsTemp[0]; - attribute.localName = nsTemp[1]; - } - } - } - - // save element name so attribute callbacks work - elementName = elname; - if (namespaces) { - if (prefixStack.processName (elname, nsTemp, false) == null) { - fatal ("undeclared element prefix in: " + elname); - nsTemp [0] = nsTemp [1] = ""; - } - handler.startElement (nsTemp [0], nsTemp [1], elname, this); - } else - handler.startElement ("", "", elname, this); - // elementName = null; - - // elements with no attributes are pretty common! - if (attributes) { - attributesList.clear(); - attributeCount = 0; - attributes = false; - } - } - - void endElement (String elname) + { + if (!attributes) + { + attributes = true; + if (namespaces) + { + prefixStack.pushContext(); + } + } + + // process namespace decls immediately; + // then maybe forget this as an attribute + if (namespaces) + { + int index; + + // default NS declaration? + if (stringInterning) + { + if ("xmlns" == qname) + { + declarePrefix("", value); + if (!xmlNames) + { + return; + } + } + // NS prefix declaration? + else if ((index = qname.indexOf(':')) == 5 + && qname.startsWith("xmlns")) + { + String prefix = qname.substring(6); + + if (prefix.equals("")) + { + fatal("missing prefix " + + "in namespace declaration attribute"); + } + if (value.length() == 0) + { + verror("missing URI in namespace declaration attribute: " + + qname); + } + else + { + declarePrefix(prefix, value); + } + if (!xmlNames) + { + return; + } + } + } + else + { + if ("xmlns".equals(qname)) + { + declarePrefix("", value); + if (!xmlNames) + { + return; + } + } + // NS prefix declaration? + else if ((index = qname.indexOf(':')) == 5 + && qname.startsWith("xmlns")) + { + String prefix = qname.substring(6); + + if (value.length() == 0) + { + verror("missing URI in namespace decl attribute: " + + qname); + } + else + { + declarePrefix(prefix, value); + } + if (!xmlNames) + { + return; + } + } + } + } + // remember this attribute ... + attributeCount++; + + // attribute type comes from querying parser's DTD records + attributesList.add(new Attribute(qname, value, isSpecified)); + + } + + void startElement(String elname) throws SAXException - { - ContentHandler handler = contentHandler; - - if (!namespaces) { - handler.endElement ("", "", elname); - return; - } - prefixStack.processName (elname, nsTemp, false); - handler.endElement (nsTemp [0], nsTemp [1], elname); + { + ContentHandler handler = contentHandler; - Enumeration prefixes = prefixStack.getDeclaredPrefixes (); + // + // NOTE: this implementation of namespace support adds something + // like six percent to parsing CPU time, in a large (~50 MB) + // document that doesn't use namespaces at all. (Measured by PC + // sampling, with a bug where endElement processing was omitted.) + // [Measurement referred to older implementation, older JVM ...] + // + // It ought to become notably faster in such cases. Most + // costs are the prefix stack calling Hashtable.get() (2%), + // String.hashCode() (1.5%) and about 1.3% each for pushing + // the context, and two chunks of name processing. + // + + if (!attributes) + { + if (namespaces) + { + prefixStack.pushContext(); + } + } + else if (namespaces) + { + + // now we can patch up namespace refs; we saw all the + // declarations, so now we'll do the Right Thing + Iterator itt = attributesList.iterator(); + while (itt.hasNext()) + { + Attribute attribute = (Attribute) itt.next(); + String qname = attribute.name; + int index; + + // default NS declaration? + if (stringInterning) + { + if ("xmlns" == qname) + { + continue; + } + } + else + { + if ("xmlns".equals(qname)) + { + continue; + } + } + //Illegal in the new Namespaces Draft + //should it be only in 1.1 docs?? + if (qname.equals (":")) + { + fatal("namespace names consisting of a single colon " + + "character are invalid"); + } + index = qname.indexOf(':'); + + // NS prefix declaration? + if (index == 5 && qname.startsWith("xmlns")) + { + continue; + } + + // it's not a NS decl; patch namespace info items + if (prefixStack.processName(qname, nsTemp, true) == null) + { + fatal("undeclared attribute prefix in: " + qname); + } + else + { + attribute.nameSpace = nsTemp[0]; + attribute.localName = nsTemp[1]; + } + } + } + + // save element name so attribute callbacks work + elementName = elname; + if (namespaces) + { + if (prefixStack.processName(elname, nsTemp, false) == null) + { + fatal("undeclared element prefix in: " + elname); + nsTemp[0] = nsTemp[1] = ""; + } + handler.startElement(nsTemp[0], nsTemp[1], elname, this); + } + else + { + handler.startElement("", "", elname, this); + } + // elementName = null; + + // elements with no attributes are pretty common! + if (attributes) + { + attributesList.clear(); + attributeCount = 0; + attributes = false; + } + } + + void endElement(String elname) + throws SAXException + { + ContentHandler handler = contentHandler; - while (prefixes.hasMoreElements ()) - handler.endPrefixMapping ((String) prefixes.nextElement ()); - prefixStack.popContext (); - } + if (!namespaces) + { + handler.endElement("", "", elname); + return; + } + prefixStack.processName(elname, nsTemp, false); + handler.endElement(nsTemp[0], nsTemp[1], elname); + + Enumeration prefixes = prefixStack.getDeclaredPrefixes(); + + while (prefixes.hasMoreElements()) + { + handler.endPrefixMapping((String) prefixes.nextElement()); + } + prefixStack.popContext(); + } - void startCDATA () + void startCDATA() throws SAXException - { - lexicalHandler.startCDATA (); - } + { + lexicalHandler.startCDATA(); + } - void charData (char ch[], int start, int length) + void charData(char[] ch, int start, int length) throws SAXException - { - contentHandler.characters (ch, start, length); - } + { + contentHandler.characters(ch, start, length); + } - void endCDATA () + void endCDATA() throws SAXException - { - lexicalHandler.endCDATA (); - } + { + lexicalHandler.endCDATA(); + } - void ignorableWhitespace (char ch[], int start, int length) + void ignorableWhitespace(char[] ch, int start, int length) throws SAXException - { - contentHandler.ignorableWhitespace (ch, start, length); - } + { + contentHandler.ignorableWhitespace(ch, start, length); + } - void processingInstruction (String target, String data) + void processingInstruction(String target, String data) throws SAXException - { - contentHandler.processingInstruction (target, data); - } + { + contentHandler.processingInstruction(target, data); + } - void comment (char ch[], int start, int length) + void comment(char[] ch, int start, int length) throws SAXException - { - if (lexicalHandler != base) - lexicalHandler.comment (ch, start, length); - } + { + if (lexicalHandler != base) + { + lexicalHandler.comment(ch, start, length); + } + } - void fatal (String message) + void fatal(String message) throws SAXException - { - SAXParseException fatal; - - fatal = new SAXParseException (message, this); - errorHandler.fatalError (fatal); - - // Even if the application can continue ... we can't! - throw fatal; - } + { + SAXParseException fatal; + + fatal = new SAXParseException(message, this); + errorHandler.fatalError(fatal); + + // Even if the application can continue ... we can't! + throw fatal; + } - // We can safely report a few validity errors that - // make layered SAX2 DTD validation more conformant - void verror (String message) + // We can safely report a few validity errors that + // make layered SAX2 DTD validation more conformant + void verror(String message) throws SAXException - { - SAXParseException err; - - err = new SAXParseException (message, this); - errorHandler.error (err); - } - - void warn (String message) + { + SAXParseException err; + + err = new SAXParseException(message, this); + errorHandler.error(err); + } + + void warn(String message) throws SAXException - { - SAXParseException err; - - err = new SAXParseException (message, this); - errorHandler.warning (err); - } + { + SAXParseException err; + + err = new SAXParseException(message, this); + errorHandler.warning(err); + } + // + // Implementation of org.xml.sax.Attributes. + // + + /** + * SAX1 AttributeList, SAX2 Attributes method + * (don't invoke on parser); + */ + public int getLength() + { + return attributesList.size(); + } - // - // Implementation of org.xml.sax.Attributes. - // + /** + * SAX2 Attributes method (don't invoke on parser); + */ + public String getURI(int index) + { + if (index < 0 || index >= attributesList.size()) + { + return null; + } + return ((Attribute) attributesList.get(index)).nameSpace; + } - /** - * SAX1 AttributeList, SAX2 Attributes method - * (don't invoke on parser); - */ - public int getLength () - { - return attributesList.size(); - } + /** + * SAX2 Attributes method (don't invoke on parser); + */ + public String getLocalName(int index) + { + if (index < 0 || index >= attributesList.size()) + { + return null; + } + Attribute attr = (Attribute) attributesList.get(index); + // FIXME attr.localName is sometimes null, why? + if (namespaces && attr.localName == null) + { + // XXX fix this here for now + int ci = attr.name.indexOf(':'); + attr.localName = (ci == -1) ? attr.name : + attr.name.substring(ci + 1); + } + return (attr.localName == null) ? "" : attr.localName; + } - /** - * SAX2 Attributes method (don't invoke on parser); - */ - public String getURI (int index) - { - if (index < 0 || index >= attributesList.size()) - { - return null; - } - return ((Attribute) attributesList.get(index)).nameSpace; - } + /** + * SAX2 Attributes method (don't invoke on parser); + */ + public String getQName(int index) + { + if (index < 0 || index >= attributesList.size()) + { + return null; + } + Attribute attr = (Attribute) attributesList.get(index); + return (attr.name == null) ? "" : attr.name; + } - /** - * SAX2 Attributes method (don't invoke on parser); - */ - public String getLocalName (int index) - { - if (index < 0 || index >= attributesList.size()) - { - return null; - } - Attribute attr = (Attribute) attributesList.get(index); - // FIXME attr.localName is sometimes null, why? - if (namespaces && attr.localName == null) - { - // XXX fix this here for now - int ci = attr.name.indexOf(':'); - attr.localName = (ci == -1) ? attr.name : - attr.name.substring(ci + 1); - } - return (attr.localName == null) ? "" : attr.localName; - } + /** + * SAX1 AttributeList method (don't invoke on parser); + */ + public String getName(int index) + { + return getQName(index); + } - /** - * SAX2 Attributes method (don't invoke on parser); - */ - public String getQName (int index) - { - if (index < 0 || index >= attributesList.size()) - { - return null; - } - Attribute attr = (Attribute) attributesList.get(index); - return (attr.name == null) ? "" : attr.name; - } + /** + * SAX1 AttributeList, SAX2 Attributes method + * (don't invoke on parser); + */ + public String getType(int index) + { + if (index < 0 || index >= attributesList.size()) + { + return null; + } + String type = parser.getAttributeType(elementName, getQName(index)); + if (type == null) + { + return "CDATA"; + } + // ... use DeclHandler.attributeDecl to see enumerations + if (type == "ENUMERATION") + { + return "NMTOKEN"; + } + return type; + } - /** - * SAX1 AttributeList method (don't invoke on parser); - */ - public String getName (int index) - { - return getQName(index); - } + /** + * SAX1 AttributeList, SAX2 Attributes method + * (don't invoke on parser); + */ + public String getValue(int index) + { + if (index < 0 || index >= attributesList.size()) + { + return null; + } + return ((Attribute) attributesList.get(index)).value; + } - /** - * SAX1 AttributeList, SAX2 Attributes method - * (don't invoke on parser); - */ - public String getType (int index) + /** + * SAX2 Attributes method (don't invoke on parser); + */ + public int getIndex(String uri, String local) { - if (index < 0 || index >= attributesList.size()) - { - return null; - } - String type = parser.getAttributeType(elementName, getQName(index)); - if (type == null) - { - return "CDATA"; - } - // ... use DeclHandler.attributeDecl to see enumerations - if (type == "ENUMERATION") - { - return "NMTOKEN"; - } - return type; - } - + int length = getLength(); + + for (int i = 0; i < length; i++) + { + if (!getURI(i).equals(uri)) + { + continue; + } + if (getLocalName(i).equals(local)) + { + return i; + } + } + return -1; + } - /** - * SAX1 AttributeList, SAX2 Attributes method - * (don't invoke on parser); - */ - public String getValue (int index) - { - if (index < 0 || index >= attributesList.size()) + /** + * SAX2 Attributes method (don't invoke on parser); + */ + public int getIndex(String xmlName) + { + int length = getLength(); + + for (int i = 0; i < length; i++) + { + if (getQName(i).equals(xmlName)) { - return null; + return i; } - return ((Attribute) attributesList.get(index)).value; - } + } + return -1; + } + /** + * SAX2 Attributes method (don't invoke on parser); + */ + public String getType(String uri, String local) + { + int index = getIndex(uri, local); + + if (index < 0) + { + return null; + } + return getType(index); + } - /** - * SAX2 Attributes method (don't invoke on parser); - */ - public int getIndex (String uri, String local) - { - int length = getLength(); + /** + * SAX1 AttributeList, SAX2 Attributes method + * (don't invoke on parser); + */ + public String getType(String xmlName) + { + int index = getIndex(xmlName); + + if (index < 0) + { + return null; + } + return getType(index); + } - for (int i = 0; i < length; i++) - { - if (!getURI(i).equals(uri)) - { - continue; - } - if (getLocalName(i).equals(local)) - { - return i; - } - } - return -1; - } + /** + * SAX Attributes method (don't invoke on parser); + */ + public String getValue(String uri, String local) + { + int index = getIndex(uri, local); + + if (index < 0) + { + return null; + } + return getValue(index); + } + /** + * SAX1 AttributeList, SAX2 Attributes method + * (don't invoke on parser); + */ + public String getValue(String xmlName) + { + int index = getIndex(xmlName); + + if (index < 0) + { + return null; + } + return getValue(index); + } - /** - * SAX2 Attributes method (don't invoke on parser); - */ - public int getIndex (String xmlName) - { - int length = getLength(); + // + // Implementation of org.xml.sax.ext.Attributes2 + // + + /** @return false unless the attribute was declared in the DTD. + * @throws java.lang.ArrayIndexOutOfBoundsException + * When the supplied index does not identify an attribute. + */ + public boolean isDeclared(int index) + { + if (index < 0 || index >= attributeCount) + { + throw new ArrayIndexOutOfBoundsException(); + } + String type = parser.getAttributeType(elementName, getQName(index)); + return (type != null); + } - for (int i = 0; i < length; i++) - { - if (getQName(i).equals(xmlName)) - { - return i; - } - } - return -1; - } + /** @return false unless the attribute was declared in the DTD. + * @throws java.lang.IllegalArgumentException + * When the supplied names do not identify an attribute. + */ + public boolean isDeclared(String qName) + { + int index = getIndex(qName); + if (index < 0) + { + throw new IllegalArgumentException(); + } + String type = parser.getAttributeType(elementName, qName); + return (type != null); + } + /** @return false unless the attribute was declared in the DTD. + * @throws java.lang.IllegalArgumentException + * When the supplied names do not identify an attribute. + */ + public boolean isDeclared(String uri, String localName) + { + int index = getIndex(uri, localName); + return isDeclared(index); + } - /** - * SAX2 Attributes method (don't invoke on parser); - */ - public String getType (String uri, String local) - { - int index = getIndex(uri, local); + /** + * SAX-ext Attributes2 method (don't invoke on parser); + */ + public boolean isSpecified(int index) + { + return ((Attribute) attributesList.get(index)).specified; + } - if (index < 0) - { - return null; - } - return getType(index); - } + /** + * SAX-ext Attributes2 method (don't invoke on parser); + */ + public boolean isSpecified(String uri, String local) + { + int index = getIndex (uri, local); + return isSpecified(index); + } + /** + * SAX-ext Attributes2 method (don't invoke on parser); + */ + public boolean isSpecified(String xmlName) + { + int index = getIndex (xmlName); + return isSpecified(index); + } - /** - * SAX1 AttributeList, SAX2 Attributes method - * (don't invoke on parser); - */ - public String getType (String xmlName) - { - int index = getIndex(xmlName); + // + // Implementation of org.xml.sax.Locator. + // - if (index < 0) - { - return null; - } - return getType(index); - } + /** + * SAX Locator method (don't invoke on parser); + */ + public String getPublicId() + { + return null; // FIXME track public IDs too + } + /** + * SAX Locator method (don't invoke on parser); + */ + public String getSystemId() + { + if (entityStack.empty()) + { + return null; + } + else + { + return (String) entityStack.peek(); + } + } - /** - * SAX Attributes method (don't invoke on parser); - */ - public String getValue (String uri, String local) - { - int index = getIndex(uri, local); + /** + * SAX Locator method (don't invoke on parser); + */ + public int getLineNumber() + { + return parser.getLineNumber(); + } - if (index < 0) - { - return null; - } - return getValue(index); - } + /** + * SAX Locator method (don't invoke on parser); + */ + public int getColumnNumber() + { + return parser.getColumnNumber(); + } + // adapter between SAX2 content handler and SAX1 document handler callbacks + private static class Adapter + implements ContentHandler + { + + private DocumentHandler docHandler; - /** - * SAX1 AttributeList, SAX2 Attributes method - * (don't invoke on parser); - */ - public String getValue (String xmlName) + Adapter(DocumentHandler dh) { - int index = getIndex(xmlName); - - if (index < 0) - { - return null; - } - return getValue(index); + docHandler = dh; } - - // - // Implementation of org.xml.sax.ext.Attributes2 - // - - - /** @return false unless the attribute was declared in the DTD. - * @throws java.lang.ArrayIndexOutOfBoundsException - * When the supplied index does not identify an attribute. - */ - public boolean isDeclared (int index) + public void setDocumentLocator(Locator l) { - if (index < 0 || index >= attributeCount) - throw new ArrayIndexOutOfBoundsException (); - String type = parser.getAttributeType(elementName, getQName(index)); - return (type != null); + docHandler.setDocumentLocator(l); } - - /** @return false unless the attribute was declared in the DTD. - * @throws java.lang.IllegalArgumentException - * When the supplied names do not identify an attribute. - */ - public boolean isDeclared (String qName) + + public void startDocument() + throws SAXException { - int index = getIndex (qName); - if (index < 0) - throw new IllegalArgumentException (); - String type = parser.getAttributeType(elementName, qName); - return (type != null); + docHandler.startDocument(); } - - /** @return false unless the attribute was declared in the DTD. - * @throws java.lang.IllegalArgumentException - * When the supplied names do not identify an attribute. - */ - public boolean isDeclared (String uri, String localName) + + public void processingInstruction(String target, String data) + throws SAXException { - int index = getIndex (uri, localName); - return isDeclared(index); + docHandler.processingInstruction(target, data); } - - - /** - * SAX-ext Attributes2 method (don't invoke on parser); - */ - public boolean isSpecified (int index) + + public void startPrefixMapping(String prefix, String uri) { - return ((Attribute) attributesList.get(index)).specified; + /* ignored */ } - /** - * SAX-ext Attributes2 method (don't invoke on parser); - */ - public boolean isSpecified (String uri, String local) + public void startElement(String namespace, + String local, + String name, + Attributes attrs) + throws SAXException { - int index = getIndex (uri, local); - return isSpecified(index); + docHandler.startElement(name, (AttributeList) attrs); } - /** - * SAX-ext Attributes2 method (don't invoke on parser); - */ - public boolean isSpecified (String xmlName) + public void characters(char[] buf, int offset, int len) + throws SAXException { - int index = getIndex (xmlName); - return isSpecified(index); + docHandler.characters(buf, offset, len); } - - // - // Implementation of org.xml.sax.Locator. - // - - /** - * SAX Locator method (don't invoke on parser); - */ - public String getPublicId () + public void ignorableWhitespace(char[] buf, int offset, int len) + throws SAXException { - return null; // FIXME track public IDs too + docHandler.ignorableWhitespace(buf, offset, len); } - /** - * SAX Locator method (don't invoke on parser); - */ - public String getSystemId () + public void skippedEntity(String name) { - if (entityStack.empty ()) - return null; - else - return (String) entityStack.peek (); + /* ignored */ } - /** - * SAX Locator method (don't invoke on parser); - */ - public int getLineNumber () + public void endElement(String u, String l, String name) + throws SAXException { - return parser.getLineNumber (); + docHandler.endElement(name); } - /** - * SAX Locator method (don't invoke on parser); - */ - public int getColumnNumber () + public void endPrefixMapping(String prefix) { - return parser.getColumnNumber (); + /* ignored */ } - // adapter between SAX2 content handler and SAX1 document handler callbacks - private static class Adapter implements ContentHandler + public void endDocument() + throws SAXException { - private DocumentHandler docHandler; - - Adapter (DocumentHandler dh) - { docHandler = dh; } - - - public void setDocumentLocator (Locator l) - { docHandler.setDocumentLocator (l); } - - public void startDocument () throws SAXException - { docHandler.startDocument (); } - - public void processingInstruction (String target, String data) - throws SAXException - { docHandler.processingInstruction (target, data); } - - public void startPrefixMapping (String prefix, String uri) - { /* ignored */ } - - public void startElement ( - String namespace, - String local, - String name, - Attributes attrs - ) throws SAXException - { docHandler.startElement (name, (AttributeList) attrs); } - - public void characters (char buf [], int offset, int len) - throws SAXException - { docHandler.characters (buf, offset, len); } - - public void ignorableWhitespace (char buf [], int offset, int len) - throws SAXException - { docHandler.ignorableWhitespace (buf, offset, len); } - - public void skippedEntity (String name) - { /* ignored */ } - - public void endElement (String u, String l, String name) - throws SAXException - { docHandler.endElement (name); } - - public void endPrefixMapping (String prefix) - { /* ignored */ } - - public void endDocument () throws SAXException - { docHandler.endDocument (); } + docHandler.endDocument(); } -} - -class Attribute -{ + } + private static class Attribute + { + String name; String value; String nameSpace; String localName; boolean specified; - + Attribute(String name, String value, boolean specified) { - this.name = name; - this.value = value; - this.nameSpace = ""; - this.specified = specified; + this.name = name; + this.value = value; + this.nameSpace = ""; + this.specified = specified; } -} + + } +} diff --git a/libjava/gnu/xml/aelfred2/XmlParser.java b/libjava/gnu/xml/aelfred2/XmlParser.java index f4abf222993..e6f55e38c5b 100644 --- a/libjava/gnu/xml/aelfred2/XmlParser.java +++ b/libjava/gnu/xml/aelfred2/XmlParser.java @@ -53,6 +53,8 @@ Partly derived from code which carried the following notice: package gnu.xml.aelfred2; +import gnu.java.security.action.GetPropertyAction; + import java.io.BufferedInputStream; import java.io.CharConversionException; import java.io.EOFException; @@ -63,12 +65,11 @@ import java.io.Reader; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLConnection; +import java.security.AccessController; -// maintaining 1.1 compatibility for now ... -// Iterator and Hashmap ought to be faster -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Stack; +import java.util.Iterator; +import java.util.HashMap; +import java.util.LinkedList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -86,1511 +87,1838 @@ import org.xml.sax.SAXException; */ final class XmlParser { - // avoid slow per-character readCh() - private final static boolean USE_CHEATS = true; + // avoid slow per-character readCh() + private final static boolean USE_CHEATS = true; - ////////////////////////////////////////////////////////////////////// - // Constructors. - //////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////// + // Constants. + //////////////////////////////////////////////////////////////////////// + + // + // Constants for element content type. + // + + /** + * Constant: an element has not been declared. + * @see #getElementContentType + */ + public final static int CONTENT_UNDECLARED = 0; + + /** + * Constant: the element has a content model of ANY. + * @see #getElementContentType + */ + public final static int CONTENT_ANY = 1; + + /** + * Constant: the element has declared content of EMPTY. + * @see #getElementContentType + */ + public final static int CONTENT_EMPTY = 2; + + /** + * Constant: the element has mixed content. + * @see #getElementContentType + */ + public final static int CONTENT_MIXED = 3; + + /** + * Constant: the element has element content. + * @see #getElementContentType + */ + public final static int CONTENT_ELEMENTS = 4; + + + // + // Constants for the entity type. + // + + /** + * Constant: the entity has not been declared. + * @see #getEntityType + */ + public final static int ENTITY_UNDECLARED = 0; + + /** + * Constant: the entity is internal. + * @see #getEntityType + */ + public final static int ENTITY_INTERNAL = 1; + + /** + * Constant: the entity is external, non-parsable data. + * @see #getEntityType + */ + public final static int ENTITY_NDATA = 2; + + /** + * Constant: the entity is external XML data. + * @see #getEntityType + */ + public final static int ENTITY_TEXT = 3; + + // + // Attribute type constants are interned literal strings. + // + + // + // Constants for supported encodings. "external" is just a flag. + // + private final static int ENCODING_EXTERNAL = 0; + private final static int ENCODING_UTF_8 = 1; + private final static int ENCODING_ISO_8859_1 = 2; + private final static int ENCODING_UCS_2_12 = 3; + private final static int ENCODING_UCS_2_21 = 4; + private final static int ENCODING_UCS_4_1234 = 5; + private final static int ENCODING_UCS_4_4321 = 6; + private final static int ENCODING_UCS_4_2143 = 7; + private final static int ENCODING_UCS_4_3412 = 8; + private final static int ENCODING_ASCII = 9; + + // + // Constants for attribute default value. + // + + /** + * Constant: the attribute is not declared. + * @see #getAttributeDefaultValueType + */ + public final static int ATTRIBUTE_DEFAULT_UNDECLARED = 30; + + /** + * Constant: the attribute has a literal default value specified. + * @see #getAttributeDefaultValueType + * @see #getAttributeDefaultValue + */ + public final static int ATTRIBUTE_DEFAULT_SPECIFIED = 31; + + /** + * Constant: the attribute was declared #IMPLIED. + * @see #getAttributeDefaultValueType + */ + public final static int ATTRIBUTE_DEFAULT_IMPLIED = 32; + + /** + * Constant: the attribute was declared #REQUIRED. + * @see #getAttributeDefaultValueType + */ + public final static int ATTRIBUTE_DEFAULT_REQUIRED = 33; + + /** + * Constant: the attribute was declared #FIXED. + * @see #getAttributeDefaultValueType + * @see #getAttributeDefaultValue + */ + public final static int ATTRIBUTE_DEFAULT_FIXED = 34; + + // + // Constants for input. + // + private final static int INPUT_NONE = 0; + private final static int INPUT_INTERNAL = 1; + private final static int INPUT_STREAM = 3; + private final static int INPUT_READER = 5; + + // + // Flags for reading literals. + // + // expand general entity refs (attribute values in dtd and content) + private final static int LIT_ENTITY_REF = 2; + // normalize this value (space chars) (attributes, public ids) + private final static int LIT_NORMALIZE = 4; + // literal is an attribute value + private final static int LIT_ATTRIBUTE = 8; + // don't expand parameter entities + private final static int LIT_DISABLE_PE = 16; + // don't expand [or parse] character refs + private final static int LIT_DISABLE_CREF = 32; + // don't parse general entity refs + private final static int LIT_DISABLE_EREF = 64; + // literal is a public ID value + private final static int LIT_PUBID = 256; + + // + // Flags affecting PE handling in DTDs (if expandPE is true). + // PEs expand with space padding, except inside literals. + // + private final static int CONTEXT_NORMAL = 0; + private final static int CONTEXT_LITERAL = 1; + + // Emit warnings for relative URIs with no base URI. + static boolean uriWarnings; + static + { + String key = "gnu.xml.aelfred2.XmlParser.uriWarnings"; + GetPropertyAction a = new GetPropertyAction(key); + uriWarnings = "true".equals(AccessController.doPrivileged(a)); + } + + // + // The current XML handler interface. + // + private SAXDriver handler; + + // + // I/O information. + // + private Reader reader; // current reader + private InputStream is; // current input stream + private int line; // current line number + private int column; // current column number + private int sourceType; // type of input source + private LinkedList inputStack; // stack of input soruces + private URLConnection externalEntity; // current external entity + private int encoding; // current character encoding + private int currentByteCount; // bytes read from current source + private InputSource scratch; // temporary + + // + // Buffers for decoded but unparsed character input. + // + private char[] readBuffer; + private int readBufferPos; + private int readBufferLength; + private int readBufferOverflow; // overflow from last data chunk. + + // + // Buffer for undecoded raw byte input. + // + private final static int READ_BUFFER_MAX = 16384; + private byte[] rawReadBuffer; + + + // + // Buffer for attribute values, char refs, DTD stuff. + // + private static int DATA_BUFFER_INITIAL = 4096; + private char[] dataBuffer; + private int dataBufferPos; + + // + // Buffer for parsed names. + // + private static int NAME_BUFFER_INITIAL = 1024; + private char[] nameBuffer; + private int nameBufferPos; + + // + // Save any standalone flag + // + private boolean docIsStandalone; + + // + // Hashtables for DTD information on elements, entities, and notations. + // Populated until we start ignoring decls (because of skipping a PE) + // + private HashMap elementInfo; + private HashMap entityInfo; + private HashMap notationInfo; + private boolean skippedPE; + + // + // Element type currently in force. + // + private String currentElement; + private int currentElementContent; + + // + // Stack of entity names, to detect recursion. + // + private LinkedList entityStack; + + // + // PE expansion is enabled in most chunks of the DTD, not all. + // When it's enabled, literals are treated differently. + // + private boolean inLiteral; + private boolean expandPE; + private boolean peIsError; + + // + // can't report entity expansion inside two constructs: + // - attribute expansions (internal entities only) + // - markup declarations (parameter entities only) + // + private boolean doReport; + + // + // Symbol table, for caching interned names. + // + // These show up wherever XML names or nmtokens are used: naming elements, + // attributes, PIs, notations, entities, and enumerated attribute values. + // + // NOTE: This hashtable doesn't grow. The default size is intended to be + // rather large for most documents. Example: one snapshot of the DocBook + // XML 4.1 DTD used only about 350 such names. As a rule, only pathological + // documents (ones that don't reuse names) should ever see much collision. + // + // Be sure that SYMBOL_TABLE_LENGTH always stays prime, for best hashing. + // "2039" keeps the hash table size at about two memory pages on typical + // 32 bit hardware. + // + private final static int SYMBOL_TABLE_LENGTH = 2039; + + private Object[][] symbolTable; + + // + // Hash table of attributes found in current start tag. + // + private String[] tagAttributes; + private int tagAttributePos; + + // + // Utility flag: have we noticed a CR while reading the last + // data chunk? If so, we will have to go back and normalise + // CR or CR/LF line ends. + // + private boolean sawCR; + + // + // Utility flag: are we in CDATA? If so, whitespace isn't ignorable. + // + private boolean inCDATA; + + // + // Xml version. + // + private static final int XML_10 = 0; + private static final int XML_11 = 1; + private int xmlVersion = XML_10; + + ////////////////////////////////////////////////////////////////////// + // Constructors. + //////////////////////////////////////////////////////////////////////// + + /** + * Construct a new parser with no associated handler. + * @see #setHandler + * @see #parse + */ + // package private + XmlParser() + { + } + /** + * Set the handler that will receive parsing events. + * @param handler The handler to receive callback events. + * @see #parse + */ + // package private + void setHandler(SAXDriver handler) + { + this.handler = handler; + } - /** - * Construct a new parser with no associated handler. - * @see #setHandler - * @see #parse - */ - // package private - XmlParser () - { - } + /** + * Parse an XML document from the character stream, byte stream, or URI + * that you provide (in that order of preference). Any URI that you + * supply will become the base URI for resolving relative URI, and may + * be used to acquire a reader or byte stream. + * + *

Only one thread at a time may use this parser; since it is + * private to this package, post-parse cleanup is done by the caller, + * which MUST NOT REUSE the parser (just null it). + * + * @param systemId Absolute URI of the document; should never be null, + * but may be so iff a reader or a stream is provided. + * @param publicId The public identifier of the document, or null. + * @param reader A character stream; must be null if stream isn't. + * @param stream A byte input stream; must be null if reader isn't. + * @param encoding The suggested encoding, or null if unknown. + * @exception java.lang.Exception Basically SAXException or IOException + */ + // package private + void doParse(String systemId, String publicId, Reader reader, + InputStream stream, String encoding) + throws Exception + { + if (handler == null) + { + throw new IllegalStateException("no callback handler"); + } + initializeVariables(); + + // predeclare the built-in entities here (replacement texts) + // we don't need to intern(), since we're guaranteed literals + // are always (globally) interned. + setInternalEntity("amp", "&"); + setInternalEntity("lt", "<"); + setInternalEntity("gt", ">"); + setInternalEntity("apos", "'"); + setInternalEntity("quot", """); + + try + { + // pushURL first to ensure locator is correct in startDocument + // ... it might report an IO or encoding exception. + handler.startDocument(); + pushURL(false, "[document]", + // default baseURI: null + new ExternalIdentifiers(publicId, systemId, null), + reader, stream, encoding, false); + + parseDocument(); + } + catch (EOFException e) + { + //empty input + error("empty document, with no root element."); + } + finally + { + if (reader != null) + { + try + { + reader.close(); + } + catch (IOException e) + { + /* ignore */ + } + } + if (stream != null) + { + try + { + stream.close(); + } + catch (IOException e) + { + /* ignore */ + } + } + if (is != null) + { + try + { + is.close(); + } + catch (IOException e) + { + /* ignore */ + } + } + scratch = null; + } + } - /** - * Set the handler that will receive parsing events. - * @param handler The handler to receive callback events. - * @see #parse - */ - // package private - void setHandler (SAXDriver handler) - { - this.handler = handler; - } + ////////////////////////////////////////////////////////////////////// + // Error reporting. + ////////////////////////////////////////////////////////////////////// + + /** + * Report an error. + * @param message The error message. + * @param textFound The text that caused the error (or null). + * @see SAXDriver#error + * @see #line + */ + private void error(String message, String textFound, String textExpected) + throws SAXException + { + if (textFound != null) + { + message = message + " (found \"" + textFound + "\")"; + } + if (textExpected != null) + { + message = message + " (expected \"" + textExpected + "\")"; + } + handler.fatal(message); + + // "can't happen" + throw new SAXException(message); + } + /** + * Report a serious error. + * @param message The error message. + * @param textFound The text that caused the error (or null). + */ + private void error(String message, char textFound, String textExpected) + throws SAXException + { + error(message, new Character(textFound).toString(), textExpected); + } - /** - * Parse an XML document from the character stream, byte stream, or URI - * that you provide (in that order of preference). Any URI that you - * supply will become the base URI for resolving relative URI, and may - * be used to acquire a reader or byte stream. - * - *

Only one thread at a time may use this parser; since it is - * private to this package, post-parse cleanup is done by the caller, - * which MUST NOT REUSE the parser (just null it). - * - * @param systemId Absolute URI of the document; should never be null, - * but may be so iff a reader or a stream is provided. - * @param publicId The public identifier of the document, or null. - * @param reader A character stream; must be null if stream isn't. - * @param stream A byte input stream; must be null if reader isn't. - * @param encoding The suggested encoding, or null if unknown. - * @exception java.lang.Exception Basically SAXException or IOException - */ - // package private - void doParse ( - String systemId, - String publicId, - Reader reader, - InputStream stream, - String encoding - ) throws Exception - { - if (handler == null) - throw new IllegalStateException ("no callback handler"); - - initializeVariables (); - - // predeclare the built-in entities here (replacement texts) - // we don't need to intern(), since we're guaranteed literals - // are always (globally) interned. - setInternalEntity ("amp", "&"); - setInternalEntity ("lt", "<"); - setInternalEntity ("gt", ">"); - setInternalEntity ("apos", "'"); - setInternalEntity ("quot", """); - - try { - // pushURL first to ensure locator is correct in startDocument - // ... it might report an IO or encoding exception. - handler.startDocument (); - pushURL (false, "[document]", - // default baseURI: null - new String [] { publicId, systemId, null}, - reader, stream, encoding, false); - - parseDocument (); - } catch (EOFException e){ - //empty input - error("empty document, with no root element."); - }finally { - if (reader != null) - try { reader.close (); - } catch (IOException e) { /* ignore */ } - if (stream != null) - try { stream.close (); - } catch (IOException e) { /* ignore */ } - if (is != null) - try { is.close (); - } catch (IOException e) { /* ignore */ } - if (reader != null) - try { - reader.close (); - } catch (IOException e) { /* ignore */ - } - scratch = null; - } - } + /** + * Report typical case fatal errors. + */ + private void error(String message) + throws SAXException + { + handler.fatal(message); + } + ////////////////////////////////////////////////////////////////////// + // Major syntactic productions. + ////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////// - // Constants. - //////////////////////////////////////////////////////////////////////// + /** + * Parse an XML document. + *

+   * [1] document ::= prolog element Misc*
+   * 
+ *

This is the top-level parsing function for a single XML + * document. As a minimum, a well-formed document must have + * a document element, and a valid document must have a prolog + * (one with doctype) as well. + */ + private void parseDocument() + throws Exception + { + try + { // added by MHK + boolean sawDTD = parseProlog(); + require('<'); + parseElement(!sawDTD); + } + catch (EOFException ee) + { // added by MHK + error("premature end of file", "[EOF]", null); + } + + try + { + parseMisc(); //skip all white, PIs, and comments + char c = readCh(); //if this doesn't throw an exception... + error("unexpected characters after document end", c, null); + } + catch (EOFException e) + { + return; + } + } + + static final char[] startDelimComment = { '<', '!', '-', '-' }; + static final char[] endDelimComment = { '-', '-' }; - // - // Constants for element content type. - // + /** + * Skip a comment. + *

+   * [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* "-->"
+   * 
+ *

(The <!-- has already been read.) + */ + private void parseComment() + throws Exception + { + char c; + boolean saved = expandPE; + + expandPE = false; + parseUntil(endDelimComment); + require('>'); + expandPE = saved; + handler.comment(dataBuffer, 0, dataBufferPos); + dataBufferPos = 0; + } + + static final char[] startDelimPI = { '<', '?' }; + static final char[] endDelimPI = { '?', '>' }; - /** - * Constant: an element has not been declared. - * @see #getElementContentType - */ - public final static int CONTENT_UNDECLARED = 0; + /** + * Parse a processing instruction and do a call-back. + *

+   * [16] PI ::= '<?' PITarget
+   *    (S (Char* - (Char* '?>' Char*)))?
+   *    '?>'
+   * [17] PITarget ::= Name - ( ('X'|'x') ('M'|m') ('L'|l') )
+   * 
+ *

(The <? has already been read.) + */ + private void parsePI() + throws SAXException, IOException + { + String name; + boolean saved = expandPE; + + expandPE = false; + name = readNmtoken(true); + //NE08 + if (name.indexOf(':') >= 0) + { + error("Illegal character(':') in processing instruction name ", + name, null); + } + if ("xml".equalsIgnoreCase(name)) + { + error("Illegal processing instruction target", name, null); + } + if (!tryRead(endDelimPI)) + { + requireWhitespace(); + parseUntil(endDelimPI); + } + expandPE = saved; + handler.processingInstruction(name, dataBufferToString()); + } + + static final char[] endDelimCDATA = { ']', ']', '>' }; - /** - * Constant: the element has a content model of ANY. - * @see #getElementContentType - */ - public final static int CONTENT_ANY = 1; + private boolean isDirtyCurrentElement; - /** - * Constant: the element has declared content of EMPTY. - * @see #getElementContentType - */ - public final static int CONTENT_EMPTY = 2; + /** + * Parse a CDATA section. + *

+   * [18] CDSect ::= CDStart CData CDEnd
+   * [19] CDStart ::= '<![CDATA['
+   * [20] CData ::= (Char* - (Char* ']]>' Char*))
+   * [21] CDEnd ::= ']]>'
+   * 
+ *

(The '<![CDATA[' has already been read.) + */ + private void parseCDSect() + throws Exception + { + parseUntil(endDelimCDATA); + dataBufferFlush(); + } - /** - * Constant: the element has mixed content. - * @see #getElementContentType - */ - public final static int CONTENT_MIXED = 3; + /** + * Parse the prolog of an XML document. + *

+   * [22] prolog ::= XMLDecl? Misc* (Doctypedecl Misc*)?
+   * 
+ *

We do not look for the XML declaration here, because it was + * handled by pushURL (). + * @see pushURL + * @return true if a DTD was read. + */ + private boolean parseProlog() + throws Exception + { + parseMisc(); - /** - * Constant: the element has element content. - * @see #getElementContentType - */ - public final static int CONTENT_ELEMENTS = 4; + if (tryRead(" + * [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' + * [24] VersionInfo ::= S 'version' Eq + * ("'" VersionNum "'" | '"' VersionNum '"' ) + * [26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')* + * [32] SDDecl ::= S 'standalone' Eq + * ( "'"" ('yes' | 'no') "'"" | '"' ("yes" | "no") '"' ) + * [80] EncodingDecl ::= S 'encoding' Eq + * ( "'" EncName "'" | "'" EncName "'" ) + * [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')* + * + *

(The <?xml and whitespace have already been read.) + * @return the encoding in the declaration, uppercased; or null + * @see #parseTextDecl + * @see #setupDecoding + */ + private String parseXMLDecl(boolean ignoreEncoding) + throws SAXException, IOException + { + String version; + String encodingName = null; + String standalone = null; + int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF; + String inputEncoding = null; + + switch (this.encoding) + { + case ENCODING_EXTERNAL: + case ENCODING_UTF_8: + inputEncoding = "UTF-8"; + break; + case ENCODING_ISO_8859_1: + inputEncoding = "ISO-8859-1"; + break; + case ENCODING_UCS_2_12: + inputEncoding = "UTF-16BE"; + break; + case ENCODING_UCS_2_21: + inputEncoding = "UTF-16LE"; + break; + } + + // Read the version. + require("version"); + parseEq(); + checkLegalVersion(version = readLiteral(flags)); + if (!version.equals("1.0")) + { + if (version.equals("1.1")) + { + handler.warn("expected XML version 1.0, not: " + version); + xmlVersion = XML_11; + } + else + { + error("illegal XML version", version, "1.0 or 1.1"); + } + } + else + { + xmlVersion = XML_10; + } + // Try reading an encoding declaration. + boolean white = tryWhitespace(); + + if (tryRead("encoding")) + { + if (!white) + { + error("whitespace required before 'encoding='"); + } + parseEq(); + encodingName = readLiteral(flags); + if (!ignoreEncoding) + { + setupDecoding(encodingName); + } + } + + // Try reading a standalone declaration + if (encodingName != null) + { + white = tryWhitespace(); + } + if (tryRead("standalone")) + { + if (!white) + { + error("whitespace required before 'standalone='"); + } + parseEq(); + standalone = readLiteral(flags); + if ("yes".equals(standalone)) + { + docIsStandalone = true; + } + else if (!"no".equals(standalone)) + { + error("standalone flag must be 'yes' or 'no'"); + } + } - /** - * Constant: the entity has not been declared. - * @see #getEntityType - */ - public final static int ENTITY_UNDECLARED = 0; + skipWhitespace(); + require("?>"); - /** - * Constant: the entity is internal. - * @see #getEntityType - */ - public final static int ENTITY_INTERNAL = 1; + if (inputEncoding == null) + { + inputEncoding = encodingName; + } + handler.xmlDecl(version, encodingName, docIsStandalone, + inputEncoding); + + return encodingName; + } - /** - * Constant: the entity is external, non-parsable data. - * @see #getEntityType - */ - public final static int ENTITY_NDATA = 2; + /** + * Parse a text declaration. + *

+   * [79] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>'
+   * [80] EncodingDecl ::= S 'encoding' Eq
+   *    ( '"' EncName '"' | "'" EncName "'" )
+   * [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
+   * 
+ *

(The <?xml' and whitespace have already been read.) + * @return the encoding in the declaration, uppercased; or null + * @see #parseXMLDecl + * @see #setupDecoding + */ + private String parseTextDecl(boolean ignoreEncoding) + throws SAXException, IOException + { + String encodingName = null; + int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF; + + // Read an optional version. + if (tryRead ("version")) + { + String version; + parseEq(); + checkLegalVersion(version = readLiteral(flags)); + + if (version.equals("1.1")) + { + if (xmlVersion == XML_10) + { + error("external subset has later version number.", "1.0", + version); + } + handler.warn("expected XML version 1.0, not: " + version); + xmlVersion = XML_11; + } + else if (!version.equals("1.0")) + { + error("illegal XML version", version, "1.0 or 1.1"); + } + requireWhitespace(); + } + + // Read the encoding. + require("encoding"); + parseEq(); + encodingName = readLiteral(flags); + if (!ignoreEncoding) + { + setupDecoding(encodingName); + } + skipWhitespace(); + require("?>"); + + return encodingName; + } - /** - * Constant: the entity is external XML data. - * @see #getEntityType + /** + * Sets up internal state so that we can decode an entity using the + * specified encoding. This is used when we start to read an entity + * and we have been given knowledge of its encoding before we start to + * read any data (e.g. from a SAX input source or from a MIME type). + * + *

It is also used after autodetection, at which point only very + * limited adjustments to the encoding may be used (switching between + * related builtin decoders). + * + * @param encodingName The name of the encoding specified by the user. + * @exception IOException if the encoding isn't supported either + * internally to this parser, or by the hosting JVM. + * @see #parseXMLDecl + * @see #parseTextDecl */ - public final static int ENTITY_TEXT = 3; - - - // - // Attribute type constants are interned literal strings. - // - - // - // Constants for supported encodings. "external" is just a flag. - // - private final static int ENCODING_EXTERNAL = 0; - private final static int ENCODING_UTF_8 = 1; - private final static int ENCODING_ISO_8859_1 = 2; - private final static int ENCODING_UCS_2_12 = 3; - private final static int ENCODING_UCS_2_21 = 4; - private final static int ENCODING_UCS_4_1234 = 5; - private final static int ENCODING_UCS_4_4321 = 6; - private final static int ENCODING_UCS_4_2143 = 7; - private final static int ENCODING_UCS_4_3412 = 8; - private final static int ENCODING_ASCII = 9; - - - // - // Constants for attribute default value. - // - - /** - * Constant: the attribute is not declared. - * @see #getAttributeDefaultValueType - */ - public final static int ATTRIBUTE_DEFAULT_UNDECLARED = 30; - - /** - * Constant: the attribute has a literal default value specified. - * @see #getAttributeDefaultValueType - * @see #getAttributeDefaultValue - */ - public final static int ATTRIBUTE_DEFAULT_SPECIFIED = 31; - - /** - * Constant: the attribute was declared #IMPLIED. - * @see #getAttributeDefaultValueType - */ - public final static int ATTRIBUTE_DEFAULT_IMPLIED = 32; - - /** - * Constant: the attribute was declared #REQUIRED. - * @see #getAttributeDefaultValueType - */ - public final static int ATTRIBUTE_DEFAULT_REQUIRED = 33; - - /** - * Constant: the attribute was declared #FIXED. - * @see #getAttributeDefaultValueType - * @see #getAttributeDefaultValue - */ - public final static int ATTRIBUTE_DEFAULT_FIXED = 34; - - - // - // Constants for input. - // - private final static int INPUT_NONE = 0; - private final static int INPUT_INTERNAL = 1; - private final static int INPUT_STREAM = 3; - private final static int INPUT_READER = 5; - - - // - // Flags for reading literals. - // - // expand general entity refs (attribute values in dtd and content) - private final static int LIT_ENTITY_REF = 2; - // normalize this value (space chars) (attributes, public ids) - private final static int LIT_NORMALIZE = 4; - // literal is an attribute value - private final static int LIT_ATTRIBUTE = 8; - // don't expand parameter entities - private final static int LIT_DISABLE_PE = 16; - // don't expand [or parse] character refs - private final static int LIT_DISABLE_CREF = 32; - // don't parse general entity refs - private final static int LIT_DISABLE_EREF = 64; - // literal is a public ID value - private final static int LIT_PUBID = 256; - - - // - // Flags affecting PE handling in DTDs (if expandPE is true). - // PEs expand with space padding, except inside literals. - // - private final static int CONTEXT_NORMAL = 0; - private final static int CONTEXT_LITERAL = 1; - - - ////////////////////////////////////////////////////////////////////// - // Error reporting. - ////////////////////////////////////////////////////////////////////// - - - /** - * Report an error. - * @param message The error message. - * @param textFound The text that caused the error (or null). - * @see SAXDriver#error - * @see #line - */ - private void error (String message, String textFound, String textExpected) - throws SAXException - { - if (textFound != null) { - message = message + " (found \"" + textFound + "\")"; - } - if (textExpected != null) { - message = message + " (expected \"" + textExpected + "\")"; - } - handler.fatal (message); - - // "can't happen" - throw new SAXException (message); - } - - - /** - * Report a serious error. - * @param message The error message. - * @param textFound The text that caused the error (or null). - */ - private void error (String message, char textFound, String textExpected) - throws SAXException - { - error (message, new Character (textFound).toString (), textExpected); - } - - /** Report typical case fatal errors. */ - private void error (String message) - throws SAXException - { - handler.fatal (message); - } - - - ////////////////////////////////////////////////////////////////////// - // Major syntactic productions. - ////////////////////////////////////////////////////////////////////// - - - /** - * Parse an XML document. - *

-     * [1] document ::= prolog element Misc*
-     * 
- *

This is the top-level parsing function for a single XML - * document. As a minimum, a well-formed document must have - * a document element, and a valid document must have a prolog - * (one with doctype) as well. - */ - private void parseDocument () - throws Exception - { - try { // added by MHK - boolean sawDTD = parseProlog (); - require ('<'); - parseElement (!sawDTD); - } catch (EOFException ee) { // added by MHK - error("premature end of file", "[EOF]", null); - } - - try { - parseMisc (); //skip all white, PIs, and comments - char c = readCh (); //if this doesn't throw an exception... - error ("unexpected characters after document end", c, null); - } catch (EOFException e) { - return; - } - } - - static final char startDelimComment [] = { '<', '!', '-', '-' }; - static final char endDelimComment [] = { '-', '-' }; - - /** - * Skip a comment. - *

-     * [15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* "-->"
-     * 
- *

(The <!-- has already been read.) - */ - private void parseComment () - throws Exception - { - char c; - boolean saved = expandPE; - - expandPE = false; - parseUntil (endDelimComment); - require ('>'); - expandPE = saved; - handler.comment (dataBuffer, 0, dataBufferPos); - dataBufferPos = 0; - } - - static final char startDelimPI [] = { '<', '?' }; - static final char endDelimPI [] = { '?', '>' }; - - /** - * Parse a processing instruction and do a call-back. - *

-     * [16] PI ::= '<?' PITarget
-     *		(S (Char* - (Char* '?>' Char*)))?
-     *		'?>'
-     * [17] PITarget ::= Name - ( ('X'|'x') ('M'|m') ('L'|l') )
-     * 
- *

(The <? has already been read.) - */ - private void parsePI () + private void setupDecoding(String encodingName) throws SAXException, IOException - { - String name; - boolean saved = expandPE; - - expandPE = false; - name = readNmtoken (true); - //NE08 - if (name.indexOf(':') >= 0) - error ("Illegal character(':') in processing instruction name ", name, null); - if ("xml".equalsIgnoreCase (name)) - error ("Illegal processing instruction target", name, null); - if (!tryRead (endDelimPI)) { - requireWhitespace (); - parseUntil (endDelimPI); - } - expandPE = saved; - handler.processingInstruction (name, dataBufferToString ()); - } - - - static final char endDelimCDATA [] = { ']', ']', '>' }; - - private boolean isDirtyCurrentElement; - - /** - * Parse a CDATA section. - *

-     * [18] CDSect ::= CDStart CData CDEnd
-     * [19] CDStart ::= '<![CDATA['
-     * [20] CData ::= (Char* - (Char* ']]>' Char*))
-     * [21] CDEnd ::= ']]>'
-     * 
- *

(The '<![CDATA[' has already been read.) - */ - private void parseCDSect () + { + encodingName = encodingName.toUpperCase(); + + // ENCODING_EXTERNAL indicates an encoding that wasn't + // autodetected ... we can use builtin decoders, or + // ones from the JVM (InputStreamReader). + + // Otherwise we can only tweak what was autodetected, and + // only for single byte (ASCII derived) builtin encodings. + + // ASCII-derived encodings + if (encoding == ENCODING_UTF_8 || encoding == ENCODING_EXTERNAL) + { + if (encodingName.equals("ISO-8859-1") + || encodingName.equals("8859_1") + || encodingName.equals("ISO8859_1")) + { + encoding = ENCODING_ISO_8859_1; + return; + } + else if (encodingName.equals("US-ASCII") + || encodingName.equals("ASCII")) + { + encoding = ENCODING_ASCII; + return; + } + else if (encodingName.equals("UTF-8") + || encodingName.equals("UTF8")) + { + encoding = ENCODING_UTF_8; + return; + } + else if (encoding != ENCODING_EXTERNAL) + { + // used to start with a new reader ... + throw new UnsupportedEncodingException(encodingName); + } + // else fallthrough ... + // it's ASCII-ish and something other than a builtin + } + + // Unicode and such + if (encoding == ENCODING_UCS_2_12 || encoding == ENCODING_UCS_2_21) + { + if (!(encodingName.equals("ISO-10646-UCS-2") + || encodingName.equals("UTF-16") + || encodingName.equals("UTF-16BE") + || encodingName.equals("UTF-16LE"))) + { + error("unsupported Unicode encoding", encodingName, "UTF-16"); + } + return; + } + + // four byte encodings + if (encoding == ENCODING_UCS_4_1234 + || encoding == ENCODING_UCS_4_4321 + || encoding == ENCODING_UCS_4_2143 + || encoding == ENCODING_UCS_4_3412) + { + // Strictly: "UCS-4" == "UTF-32BE"; also, "UTF-32LE" exists + if (!encodingName.equals("ISO-10646-UCS-4")) + { + error("unsupported 32-bit encoding", encodingName, + "ISO-10646-UCS-4"); + } + return; + } + + // assert encoding == ENCODING_EXTERNAL + // if (encoding != ENCODING_EXTERNAL) + // throw new RuntimeException ("encoding = " + encoding); + + if (encodingName.equals("UTF-16BE")) + { + encoding = ENCODING_UCS_2_12; + return; + } + if (encodingName.equals("UTF-16LE")) + { + encoding = ENCODING_UCS_2_21; + return; + } + + // We couldn't use the builtin decoders at all. But we can try to + // create a reader, since we haven't messed up buffering. Tweak + // the encoding name if necessary. + + if (encodingName.equals("UTF-16") + || encodingName.equals("ISO-10646-UCS-2")) + { + encodingName = "Unicode"; + } + // Ignoring all the EBCDIC aliases here + + reader = new InputStreamReader(is, encodingName); + sourceType = INPUT_READER; + } + + /** + * Parse miscellaneous markup outside the document element and DOCTYPE + * declaration. + *

+   * [27] Misc ::= Comment | PI | S
+   * 
+ */ + private void parseMisc() throws Exception - { - parseUntil (endDelimCDATA); - dataBufferFlush (); - } - + { + while (true) + { + skipWhitespace(); + if (tryRead(startDelimPI)) + { + parsePI(); + } + else if (tryRead(startDelimComment)) + { + parseComment(); + } + else + { + return; + } + } + } - /** - * Parse the prolog of an XML document. - *
-     * [22] prolog ::= XMLDecl? Misc* (Doctypedecl Misc*)?
-     * 
- *

We do not look for the XML declaration here, because it was - * handled by pushURL (). - * @see pushURL - * @return true if a DTD was read. - */ - private boolean parseProlog () + /** + * Parse a document type declaration. + *

+   * [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
+   *    ('[' (markupdecl | PEReference | S)* ']' S?)? '>'
+   * 
+ *

(The <!DOCTYPE has already been read.) + */ + private void parseDoctypedecl() throws Exception - { - parseMisc (); - - if (tryRead (" - * [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' - * [24] VersionInfo ::= S 'version' Eq - * ("'" VersionNum "'" | '"' VersionNum '"' ) - * [26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')* - * [32] SDDecl ::= S 'standalone' Eq - * ( "'"" ('yes' | 'no') "'"" | '"' ("yes" | "no") '"' ) - * [80] EncodingDecl ::= S 'encoding' Eq - * ( "'" EncName "'" | "'" EncName "'" ) - * [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')* - * - *

(The <?xml and whitespace have already been read.) - * @return the encoding in the declaration, uppercased; or null - * @see #parseTextDecl - * @see #setupDecoding - */ - private String parseXMLDecl (boolean ignoreEncoding) - throws SAXException, IOException - { - String version; - String encodingName = null; - String standalone = null; - int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF; - String inputEncoding = null; + // report (a) declaration of name, (b) lexical info (ids) + handler.doctypeDecl(rootName, ids.publicId, ids.systemId); + + // Internal subset is parsed first, if present + skipWhitespace(); + if (tryRead('[')) + { - switch (this.encoding) + // loop until the subset ends + while (true) { - case ENCODING_EXTERNAL: - case ENCODING_UTF_8: - inputEncoding = "UTF-8"; - break; - case ENCODING_ISO_8859_1: - inputEncoding = "ISO-8859-1"; - break; - case ENCODING_UCS_2_12: - inputEncoding = "UTF-16BE"; - break; - case ENCODING_UCS_2_21: - inputEncoding = "UTF-16LE"; - break; + doReport = expandPE = true; + skipWhitespace(); + doReport = expandPE = false; + if (tryRead(']')) + { + break; // end of subset + } + else + { + // WFC, PEs in internal subset (only between decls) + peIsError = expandPE = true; + parseMarkupdecl(); + peIsError = expandPE = false; + } } - - // Read the version. - require ("version"); - parseEq (); - checkLegalVersion (version = readLiteral (flags)); - if (!version.equals ("1.0")){ - if(version.equals ("1.1")){ - handler.warn ("expected XML version 1.0, not: " + version); - xmlVersion = XML_11; - }else { - error("illegal XML version", version, "1.0 or 1.1"); - } - } - else - xmlVersion = XML_10; - // Try reading an encoding declaration. - boolean white = tryWhitespace (); - - if (tryRead ("encoding")) { - if (!white) - error ("whitespace required before 'encoding='"); - parseEq (); - encodingName = readLiteral (flags); - if (!ignoreEncoding) - setupDecoding (encodingName); - } - - // Try reading a standalone declaration - if (encodingName != null) - white = tryWhitespace (); - if (tryRead ("standalone")) { - if (!white) - error ("whitespace required before 'standalone='"); - parseEq (); - standalone = readLiteral (flags); - if ("yes".equals (standalone)) - docIsStandalone = true; - else if (!"no".equals (standalone)) - error ("standalone flag must be 'yes' or 'no'"); - } - - skipWhitespace (); - require ("?>"); - - if (inputEncoding == null) - { - inputEncoding = encodingName; - } - handler.xmlDecl(version, encodingName, "yes".equals(standalone), - inputEncoding); - - return encodingName; - } - - - /** - * Parse a text declaration. - *

-     * [79] TextDecl ::= '<?xml' VersionInfo? EncodingDecl S? '?>'
-     * [80] EncodingDecl ::= S 'encoding' Eq
-     *		( '"' EncName '"' | "'" EncName "'" )
-     * [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
-     * 
- *

(The <?xml' and whitespace have already been read.) - * @return the encoding in the declaration, uppercased; or null - * @see #parseXMLDecl - * @see #setupDecoding - */ - private String parseTextDecl (boolean ignoreEncoding) - throws SAXException, IOException - { - String encodingName = null; - int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF; - - // Read an optional version. - if (tryRead ("version")) { - String version; - parseEq (); - checkLegalVersion (version = readLiteral (flags)); - - if (version.equals ("1.1")){ - if (xmlVersion == XML_10){ - error ("external subset has later version number.", "1.0", version); - } - handler.warn ("expected XML version 1.0, not: " + version); - xmlVersion = XML_11; - }else if(!version.equals ("1.0")) { - error("illegal XML version", version, "1.0 or 1.1"); - } - requireWhitespace (); - } - - - // Read the encoding. - require ("encoding"); - parseEq (); - encodingName = readLiteral (flags); - if (!ignoreEncoding) - setupDecoding (encodingName); - - skipWhitespace (); - require ("?>"); - - return encodingName; - } - - - /** - * Sets up internal state so that we can decode an entity using the - * specified encoding. This is used when we start to read an entity - * and we have been given knowledge of its encoding before we start to - * read any data (e.g. from a SAX input source or from a MIME type). - * - *

It is also used after autodetection, at which point only very - * limited adjustments to the encoding may be used (switching between - * related builtin decoders). - * - * @param encodingName The name of the encoding specified by the user. - * @exception IOException if the encoding isn't supported either - * internally to this parser, or by the hosting JVM. - * @see #parseXMLDecl - * @see #parseTextDecl - */ - private void setupDecoding (String encodingName) - throws SAXException, IOException - { - encodingName = encodingName.toUpperCase (); - - // ENCODING_EXTERNAL indicates an encoding that wasn't - // autodetected ... we can use builtin decoders, or - // ones from the JVM (InputStreamReader). - - // Otherwise we can only tweak what was autodetected, and - // only for single byte (ASCII derived) builtin encodings. - - // ASCII-derived encodings - if (encoding == ENCODING_UTF_8 || encoding == ENCODING_EXTERNAL) { - if (encodingName.equals ("ISO-8859-1") - || encodingName.equals ("8859_1") - || encodingName.equals ("ISO8859_1") - ) { - encoding = ENCODING_ISO_8859_1; - return; - } else if (encodingName.equals ("US-ASCII") - || encodingName.equals ("ASCII")) { - encoding = ENCODING_ASCII; - return; - } else if (encodingName.equals ("UTF-8") - || encodingName.equals ("UTF8")) { - encoding = ENCODING_UTF_8; - return; - } else if (encoding != ENCODING_EXTERNAL) { - // used to start with a new reader ... - throw new UnsupportedEncodingException (encodingName); - } - // else fallthrough ... - // it's ASCII-ish and something other than a builtin - } - - // Unicode and such - if (encoding == ENCODING_UCS_2_12 || encoding == ENCODING_UCS_2_21) { - if (!(encodingName.equals ("ISO-10646-UCS-2") - || encodingName.equals ("UTF-16") - || encodingName.equals ("UTF-16BE") - || encodingName.equals ("UTF-16LE"))) - error ("unsupported Unicode encoding", - encodingName, - "UTF-16"); - return; - } - - // four byte encodings - if (encoding == ENCODING_UCS_4_1234 - || encoding == ENCODING_UCS_4_4321 - || encoding == ENCODING_UCS_4_2143 - || encoding == ENCODING_UCS_4_3412) { - // Strictly: "UCS-4" == "UTF-32BE"; also, "UTF-32LE" exists - if (!encodingName.equals ("ISO-10646-UCS-4")) - error ("unsupported 32-bit encoding", - encodingName, - "ISO-10646-UCS-4"); - return; - } - - // assert encoding == ENCODING_EXTERNAL - // if (encoding != ENCODING_EXTERNAL) - // throw new RuntimeException ("encoding = " + encoding); - - if (encodingName.equals ("UTF-16BE")) { - encoding = ENCODING_UCS_2_12; - return; - } - if (encodingName.equals ("UTF-16LE")) { - encoding = ENCODING_UCS_2_21; - return; - } - - // We couldn't use the builtin decoders at all. But we can try to - // create a reader, since we haven't messed up buffering. Tweak - // the encoding name if necessary. - - if (encodingName.equals ("UTF-16") - || encodingName.equals ("ISO-10646-UCS-2")) - encodingName = "Unicode"; - // Ignoring all the EBCDIC aliases here - - reader = new InputStreamReader (is, encodingName); - sourceType = INPUT_READER; - } - - - /** - * Parse miscellaneous markup outside the document element and DOCTYPE - * declaration. - *

-     * [27] Misc ::= Comment | PI | S
-     * 
- */ - private void parseMisc () - throws Exception - { - while (true) { - skipWhitespace (); - if (tryRead (startDelimPI)) { - parsePI (); - } else if (tryRead (startDelimComment)) { - parseComment (); - } else { - return; - } - } - } - - - /** - * Parse a document type declaration. - *
-     * [28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S?
-     *		('[' (markupdecl | PEReference | S)* ']' S?)? '>'
-     * 
- *

(The <!DOCTYPE has already been read.) - */ - private void parseDoctypedecl () - throws Exception - { - String rootName, ids[]; - - // Read the document type name. - requireWhitespace (); - rootName = readNmtoken (true); - - // Read the External subset's IDs - skipWhitespace (); - ids = readExternalIds (false, true); - - // report (a) declaration of name, (b) lexical info (ids) - handler.doctypeDecl (rootName, ids [0], ids [1]); - - // Internal subset is parsed first, if present - skipWhitespace (); - if (tryRead ('[')) { - - // loop until the subset ends - while (true) { - doReport = expandPE = true; - skipWhitespace (); - doReport = expandPE = false; - if (tryRead (']')) { - break; // end of subset - } else { - // WFC, PEs in internal subset (only between decls) - peIsError = expandPE = true; - parseMarkupdecl (); - peIsError = expandPE = false; - } - } - } - skipWhitespace (); - require ('>'); - - // Read the external subset, if any - InputSource subset; - - if (ids [1] == null) - subset = handler.getExternalSubset (rootName, - handler.getSystemId ()); - else - subset = null; - if (ids [1] != null || subset != null) { - pushString (null, ">"); - - // NOTE: [dtd] is so we say what SAX2 expects, - // though it's misleading (subset, not entire dtd) - if (ids [1] != null) - pushURL (true, "[dtd]", ids, null, null, null, true); - else { - handler.warn ("modifying document by adding external subset"); - pushURL (true, "[dtd]", - new String [] { subset.getPublicId (), - subset.getSystemId (), null }, - subset.getCharacterStream (), - subset.getByteStream (), - subset.getEncoding (), - false); - } - - // Loop until we end up back at '>' - while (true) { - doReport = expandPE = true; - skipWhitespace (); - doReport = expandPE = false; - if (tryRead ('>')) { - break; - } else { - expandPE = true; - parseMarkupdecl (); - expandPE = false; - } - } - - // the ">" string isn't popped yet - if (inputStack.size () != 1) - error ("external subset has unmatched '>'"); - } - - // done dtd - handler.endDoctype (); - expandPE = false; - doReport = true; - } - - - /** - * Parse a markup declaration in the internal or external DTD subset. - *

-     * [29] markupdecl ::= elementdecl | Attlistdecl | EntityDecl
-     *		| NotationDecl | PI | Comment
-     * [30] extSubsetDecl ::= (markupdecl | conditionalSect
-     *		| PEReference | S) *
-     * 
- *

Reading toplevel PE references is handled as a lexical issue - * by the caller, as is whitespace. - */ - private void parseMarkupdecl () + } + skipWhitespace(); + require('>'); + + // Read the external subset, if any + InputSource subset; + + if (ids.systemId == null) + { + subset = handler.getExternalSubset(rootName, + handler.getSystemId()); + } + else + { + subset = null; + } + if (ids.systemId != null || subset != null) + { + pushString(null, ">"); + + // NOTE: [dtd] is so we say what SAX2 expects, + // though it's misleading (subset, not entire dtd) + if (ids.systemId != null) + { + pushURL(true, "[dtd]", ids, null, null, null, true); + } + else + { + handler.warn("modifying document by adding external subset"); + pushURL(true, "[dtd]", + new ExternalIdentifiers(subset.getPublicId(), + subset.getSystemId(), + null), + subset.getCharacterStream(), + subset.getByteStream(), + subset.getEncoding(), + false); + } + + // Loop until we end up back at '>' + while (true) + { + doReport = expandPE = true; + skipWhitespace(); + doReport = expandPE = false; + if (tryRead('>')) + { + break; + } + else + { + expandPE = true; + parseMarkupdecl(); + expandPE = false; + } + } + + // the ">" string isn't popped yet + if (inputStack.size() != 1) + { + error("external subset has unmatched '>'"); + } + } + + // done dtd + handler.endDoctype(); + expandPE = false; + doReport = true; + } + + /** + * Parse a markup declaration in the internal or external DTD subset. + *

+   * [29] markupdecl ::= elementdecl | Attlistdecl | EntityDecl
+   *    | NotationDecl | PI | Comment
+   * [30] extSubsetDecl ::= (markupdecl | conditionalSect
+   *    | PEReference | S) *
+   * 
+ *

Reading toplevel PE references is handled as a lexical issue + * by the caller, as is whitespace. + */ + private void parseMarkupdecl() throws Exception - { - char saved [] = null; - boolean savedPE = expandPE; - - // prevent "<%foo;" and ensures saved entity is right - require ('<'); - unread ('<'); - expandPE = false; - - if (tryRead (" 0) - parseConditionalSect (saved); - else - error ("conditional sections illegal in internal subset"); - } else { - error ("expected markup declaration"); - } - - // VC: Proper Decl/PE Nesting - if (readBuffer != saved) - handler.verror ("Illegal Declaration/PE nesting"); - } + { + char[] saved = null; + boolean savedPE = expandPE; + // prevent "<%foo;" and ensures saved entity is right + require('<'); + unread('<'); + expandPE = false; + + if (tryRead(" 0) + { + parseConditionalSect(saved); + } + else + { + error("conditional sections illegal in internal subset"); + } + } + else + { + error("expected markup declaration"); + } - /** - * Parse an element, with its tags. - *

-     * [39] element ::= EmptyElementTag | STag content ETag
-     * [40] STag ::= '<' Name (S Attribute)* S? '>'
-     * [44] EmptyElementTag ::= '<' Name (S Attribute)* S? '/>'
-     * 
- *

(The '<' has already been read.) - *

NOTE: this method actually chains onto parseContent (), if necessary, - * and parseContent () will take care of calling parseETag (). - */ - private void parseElement (boolean maybeGetSubset) + // VC: Proper Decl/PE Nesting + if (readBuffer != saved) + { + handler.verror("Illegal Declaration/PE nesting"); + } + } + + /** + * Parse an element, with its tags. + *

+   * [39] element ::= EmptyElementTag | STag content ETag
+   * [40] STag ::= '<' Name (S Attribute)* S? '>'
+   * [44] EmptyElementTag ::= '<' Name (S Attribute)* S? '/>'
+   * 
+ *

(The '<' has already been read.) + *

NOTE: this method actually chains onto parseContent (), if necessary, + * and parseContent () will take care of calling parseETag (). + */ + private void parseElement(boolean maybeGetSubset) throws Exception - { - String gi; - char c; - int oldElementContent = currentElementContent; - String oldElement = currentElement; - Object element []; - - // This is the (global) counter for the - // array of specified attributes. - tagAttributePos = 0; - - // Read the element type name. - gi = readNmtoken (true); - - // If we saw no DTD, and this is the document root element, - // let the application modify the input stream by providing one. - if (maybeGetSubset) { - InputSource subset = handler.getExternalSubset (gi, - handler.getSystemId ()); - if (subset != null) { - String publicId = subset.getPublicId (); - String systemId = subset.getSystemId (); - - handler.warn ("modifying document by adding DTD"); - handler.doctypeDecl (gi, publicId, systemId); - pushString (null, ">"); - - // NOTE: [dtd] is so we say what SAX2 expects, - // though it's misleading (subset, not entire dtd) - pushURL (true, "[dtd]", - new String [] { publicId, systemId, null }, - subset.getCharacterStream (), - subset.getByteStream (), - subset.getEncoding (), - false); - - // Loop until we end up back at '>' - while (true) { - doReport = expandPE = true; - skipWhitespace (); - doReport = expandPE = false; - if (tryRead ('>')) { - break; - } else { - expandPE = true; - parseMarkupdecl (); - expandPE = false; - } - } - - // the ">" string isn't popped yet - if (inputStack.size () != 1) - error ("external subset has unmatched '>'"); - - handler.endDoctype (); - } - } - - // Determine the current content type. - currentElement = gi; - element = (Object []) elementInfo.get (gi); - currentElementContent = getContentType (element, CONTENT_ANY); - - // Read the attributes, if any. - // After this loop, "c" is the closing delimiter. - boolean white = tryWhitespace (); - c = readCh (); - while (c != '/' && c != '>') { - unread (c); - if (!white) - error ("need whitespace between attributes"); - parseAttribute (gi); - white = tryWhitespace (); - c = readCh (); - } - - // Supply any defaulted attributes. - Enumeration atts = declaredAttributes (element); - if (atts != null) { - String aname; + { + String gi; + char c; + int oldElementContent = currentElementContent; + String oldElement = currentElement; + ElementDecl element; + + // This is the (global) counter for the + // array of specified attributes. + tagAttributePos = 0; + + // Read the element type name. + gi = readNmtoken(true); + + // If we saw no DTD, and this is the document root element, + // let the application modify the input stream by providing one. + if (maybeGetSubset) + { + InputSource subset = handler.getExternalSubset(gi, + handler.getSystemId()); + if (subset != null) + { + String publicId = subset.getPublicId(); + String systemId = subset.getSystemId(); + + handler.warn("modifying document by adding DTD"); + handler.doctypeDecl(gi, publicId, systemId); + pushString(null, ">"); + + // NOTE: [dtd] is so we say what SAX2 expects, + // though it's misleading (subset, not entire dtd) + pushURL(true, "[dtd]", + new ExternalIdentifiers(publicId, systemId, null), + subset.getCharacterStream(), + subset.getByteStream(), + subset.getEncoding(), + false); + + // Loop until we end up back at '>' + while (true) + { + doReport = expandPE = true; + skipWhitespace(); + doReport = expandPE = false; + if (tryRead('>')) + { + break; + } + else + { + expandPE = true; + parseMarkupdecl(); + expandPE = false; + } + } + + // the ">" string isn't popped yet + if (inputStack.size() != 1) + { + error("external subset has unmatched '>'"); + } + + handler.endDoctype(); + } + } + + // Determine the current content type. + currentElement = gi; + element = (ElementDecl) elementInfo.get(gi); + currentElementContent = getContentType(element, CONTENT_ANY); + + // Read the attributes, if any. + // After this loop, "c" is the closing delimiter. + boolean white = tryWhitespace(); + c = readCh(); + while (c != '/' && c != '>') + { + unread(c); + if (!white) + { + error("need whitespace between attributes"); + } + parseAttribute(gi); + white = tryWhitespace(); + c = readCh(); + } + + // Supply any defaulted attributes. + Iterator atts = declaredAttributes(element); + if (atts != null) + { + String aname; loop: - while (atts.hasMoreElements ()) { - aname = (String) atts.nextElement (); - // See if it was specified. - for (int i = 0; i < tagAttributePos; i++) { - if (tagAttributes [i] == aname) { - continue loop; - } - } - // ... or has a default - String value = getAttributeDefaultValue (gi, aname); - - if (value == null) - continue; - handler.attribute (aname, value, false); - } - } - - // Figure out if this is a start tag - // or an empty element, and dispatch an - // event accordingly. - switch (c) { - case '>': - handler.startElement (gi); - parseContent (); - break; - case '/': - require ('>'); - handler.startElement (gi); - handler.endElement (gi); - break; - } - - // Restore the previous state. - currentElement = oldElement; - currentElementContent = oldElementContent; - } + while (atts.hasNext()) + { + aname = (String) atts.next(); + // See if it was specified. + for (int i = 0; i < tagAttributePos; i++) + { + if (tagAttributes[i] == aname) + { + continue loop; + } + } + // ... or has a default + String value = getAttributeDefaultValue(gi, aname); + + if (value == null) + { + continue; + } + handler.attribute(aname, value, false); + } + } + // Figure out if this is a start tag + // or an empty element, and dispatch an + // event accordingly. + switch (c) + { + case '>': + handler.startElement(gi); + parseContent(); + break; + case '/': + require('>'); + handler.startElement(gi); + handler.endElement(gi); + break; + } - /** - * Parse an attribute assignment. - *

-     * [41] Attribute ::= Name Eq AttValue
-     * 
- * @param name The name of the attribute's element. - * @see SAXDriver#attribute - */ - private void parseAttribute (String name) - throws Exception - { - String aname; - String type; - String value; - int flags = LIT_ATTRIBUTE | LIT_ENTITY_REF; - - // Read the attribute name. - aname = readNmtoken (true); - type = getAttributeType (name, aname); - - // Parse '=' - parseEq (); - - // Read the value, normalizing whitespace - // unless it is CDATA. - if (handler.getFeature (SAXDriver.FEATURE + "string-interning")) { - if (type == "CDATA" || type == null) { - value = readLiteral (flags); - } else { - value = readLiteral (flags | LIT_NORMALIZE); - } - } else { - if (type.equals("CDATA") || type == null) { - value = readLiteral (flags); - } else { - value = readLiteral (flags | LIT_NORMALIZE); - } + // Restore the previous state. + currentElement = oldElement; + currentElementContent = oldElementContent; } + + /** + * Parse an attribute assignment. + *
+   * [41] Attribute ::= Name Eq AttValue
+   * 
+ * @param name The name of the attribute's element. + * @see SAXDriver#attribute + */ + private void parseAttribute(String name) + throws Exception + { + String aname; + String type; + String value; + int flags = LIT_ATTRIBUTE | LIT_ENTITY_REF; + + // Read the attribute name. + aname = readNmtoken(true); + type = getAttributeType(name, aname); + + // Parse '=' + parseEq(); + + // Read the value, normalizing whitespace + // unless it is CDATA. + if (handler.stringInterning) + { + if (type == "CDATA" || type == null) + { + value = readLiteral(flags); + } + else + { + value = readLiteral(flags | LIT_NORMALIZE); + } + } + else + { + if (type.equals("CDATA") || type == null) + { + value = readLiteral(flags); + } + else + { + value = readLiteral(flags | LIT_NORMALIZE); + } + } - // WFC: no duplicate attributes - for (int i = 0; i < tagAttributePos; i++) - if (aname.equals (tagAttributes [i])) - error ("duplicate attribute", aname, null); - - // Inform the handler about the - // attribute. - handler.attribute (aname, value, true); - dataBufferPos = 0; - - // Note that the attribute has been - // specified. - if (tagAttributePos == tagAttributes.length) { - String newAttrib[] = new String [tagAttributes.length * 2]; - System.arraycopy (tagAttributes, 0, newAttrib, 0, tagAttributePos); - tagAttributes = newAttrib; - } - tagAttributes [tagAttributePos++] = aname; - } + // WFC: no duplicate attributes + for (int i = 0; i < tagAttributePos; i++) + { + if (aname.equals(tagAttributes [i])) + { + error("duplicate attribute", aname, null); + } + } + // Inform the handler about the + // attribute. + handler.attribute(aname, value, true); + dataBufferPos = 0; + + // Note that the attribute has been + // specified. + if (tagAttributePos == tagAttributes.length) + { + String newAttrib[] = new String[tagAttributes.length * 2]; + System.arraycopy(tagAttributes, 0, newAttrib, 0, tagAttributePos); + tagAttributes = newAttrib; + } + tagAttributes[tagAttributePos++] = aname; + } - /** - * Parse an equals sign surrounded by optional whitespace. - *
-     * [25] Eq ::= S? '=' S?
-     * 
- */ - private void parseEq () + /** + * Parse an equals sign surrounded by optional whitespace. + *
+   * [25] Eq ::= S? '=' S?
+   * 
+ */ + private void parseEq() throws SAXException, IOException - { - skipWhitespace (); - require ('='); - skipWhitespace (); - } - + { + skipWhitespace(); + require('='); + skipWhitespace(); + } - /** - * Parse an end tag. - *
-     * [42] ETag ::= ''
-     * 
- *

NOTE: parseContent () chains to here, we already read the - * "</". - */ - private void parseETag () + /** + * Parse an end tag. + *

+   * [42] ETag ::= ''
+   * 
+ *

NOTE: parseContent () chains to here, we already read the + * "</". + */ + private void parseETag() throws Exception - { - require (currentElement); - skipWhitespace (); - require ('>'); - handler.endElement (currentElement); - // not re-reporting any SAXException re bogus end tags, - // even though that diagnostic might be clearer ... - } - - - /** - * Parse the content of an element. - *

-     * [43] content ::= (element | CharData | Reference
-     *		| CDSect | PI | Comment)*
-     * [67] Reference ::= EntityRef | CharRef
-     * 
- *

NOTE: consumes ETtag. - */ - private void parseContent () + { + require(currentElement); + skipWhitespace(); + require('>'); + handler.endElement(currentElement); + // not re-reporting any SAXException re bogus end tags, + // even though that diagnostic might be clearer ... + } + + /** + * Parse the content of an element. + *

+   * [43] content ::= (element | CharData | Reference
+   *    | CDSect | PI | Comment)*
+   * [67] Reference ::= EntityRef | CharRef
+   * 
+ *

NOTE: consumes ETtag. + */ + private void parseContent() throws Exception - { - char c; - - while (true) { - // consume characters (or ignorable whitspace) until delimiter - parseCharData (); - - // Handle delimiters - c = readCh (); - switch (c) { - - case '&': // Found "&" - c = readCh (); - if (c == '#') { - parseCharRef (); - } else { - unread (c); - parseEntityRef (true); - } - isDirtyCurrentElement = true; - break; - - case '<': // Found "<" - dataBufferFlush (); - c = readCh (); - switch (c) { - case '!': // Found " - * [45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' - * - *

NOTE: the '<!ELEMENT' has already been read. - */ - private void parseElementDecl () + { + char c; + + while (true) + { + // consume characters (or ignorable whitspace) until delimiter + parseCharData(); + + // Handle delimiters + c = readCh(); + switch (c) + { + case '&': // Found "&" + c = readCh(); + if (c == '#') + { + parseCharRef(); + } + else + { + unread(c); + parseEntityRef(true); + } + isDirtyCurrentElement = true; + break; + + case '<': // Found "<" + dataBufferFlush(); + c = readCh(); + switch (c) + { + case '!': // Found " + * [45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' + * + *

NOTE: the '<!ELEMENT' has already been read. + */ + private void parseElementDecl() throws Exception - { - String name; - - requireWhitespace (); - // Read the element type name. - name = readNmtoken (true); - - requireWhitespace (); - // Read the content model. - parseContentspec (name); - - skipWhitespace (); - require ('>'); - } - + { + String name; + + requireWhitespace(); + // Read the element type name. + name = readNmtoken(true); - /** - * Content specification. - *

-     * [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | elements
-     * 
- */ - private void parseContentspec (String name) - throws Exception - { -// FIXME: move elementDecl() into setElement(), pass EMTPY/ANY ... - if (tryRead ("EMPTY")) { - setElement (name, CONTENT_EMPTY, null, null); - if (!skippedPE) - handler.getDeclHandler ().elementDecl (name, "EMPTY"); - return; - } else if (tryRead ("ANY")) { - setElement (name, CONTENT_ANY, null, null); - if (!skippedPE) - handler.getDeclHandler ().elementDecl (name, "ANY"); - return; - } else { - String model; - char saved []; - - require ('('); - saved = readBuffer; - dataBufferAppend ('('); - skipWhitespace (); - if (tryRead ("#PCDATA")) { - dataBufferAppend ("#PCDATA"); - parseMixed (saved); - model = dataBufferToString (); - setElement (name, CONTENT_MIXED, model, null); - } else { - parseElements (saved); - model = dataBufferToString (); - setElement (name, CONTENT_ELEMENTS, model, null); - } - if (!skippedPE) - handler.getDeclHandler ().elementDecl (name, model); - } - } + requireWhitespace(); + // Read the content model. + parseContentspec(name); + + skipWhitespace(); + require('>'); + } - /** - * Parse an element-content model. - *
-     * [47] elements ::= (choice | seq) ('?' | '*' | '+')?
-     * [49] choice ::= '(' S? cp (S? '|' S? cp)+ S? ')'
-     * [50] seq ::= '(' S? cp (S? ',' S? cp)* S? ')'
-     * 
- * - *

NOTE: the opening '(' and S have already been read. - * - * @param saved Buffer for entity that should have the terminal ')' - */ - private void parseElements (char saved []) + /** + * Content specification. + *

+   * [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | elements
+   * 
+ */ + private void parseContentspec(String name) throws Exception - { - char c; - char sep; - - // Parse the first content particle - skipWhitespace (); - parseCp (); - - // Check for end or for a separator. - skipWhitespace (); - c = readCh (); - switch (c) { - case ')': - // VC: Proper Group/PE Nesting - if (readBuffer != saved) - handler.verror ("Illegal Group/PE nesting"); - - dataBufferAppend (')'); - c = readCh (); - switch (c) { - case '*': - case '+': - case '?': - dataBufferAppend (c); - break; - default: - unread (c); - } - return; - case ',': // Register the separator. - case '|': - sep = c; - dataBufferAppend (c); - break; - default: - error ("bad separator in content model", c, null); - return; - } - - // Parse the rest of the content model. - while (true) { - skipWhitespace (); - parseCp (); - skipWhitespace (); - c = readCh (); - if (c == ')') { - // VC: Proper Group/PE Nesting - if (readBuffer != saved) - handler.verror ("Illegal Group/PE nesting"); - - dataBufferAppend (')'); - break; - } else if (c != sep) { - error ("bad separator in content model", c, null); - return; - } else { - dataBufferAppend (c); - } - } - - // Check for the occurrence indicator. - c = readCh (); - switch (c) { - case '?': - case '*': - case '+': - dataBufferAppend (c); - return; - default: - unread (c); - return; - } - } - - - /** - * Parse a content particle. - *
-     * [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')?
-     * 
- */ - private void parseCp () + { + // FIXME: move elementDecl() into setElement(), pass EMTPY/ANY ... + if (tryRead("EMPTY")) + { + setElement(name, CONTENT_EMPTY, null, null); + if (!skippedPE) + { + handler.getDeclHandler().elementDecl(name, "EMPTY"); + } + return; + } + else if (tryRead("ANY")) + { + setElement(name, CONTENT_ANY, null, null); + if (!skippedPE) + { + handler.getDeclHandler().elementDecl(name, "ANY"); + } + return; + } + else + { + String model; + char[] saved; + + require('('); + saved = readBuffer; + dataBufferAppend('('); + skipWhitespace(); + if (tryRead("#PCDATA")) + { + dataBufferAppend("#PCDATA"); + parseMixed(saved); + model = dataBufferToString(); + setElement(name, CONTENT_MIXED, model, null); + } + else + { + parseElements(saved); + model = dataBufferToString(); + setElement(name, CONTENT_ELEMENTS, model, null); + } + if (!skippedPE) + { + handler.getDeclHandler().elementDecl(name, model); + } + } + } + + /** + * Parse an element-content model. + *
+   * [47] elements ::= (choice | seq) ('?' | '*' | '+')?
+   * [49] choice ::= '(' S? cp (S? '|' S? cp)+ S? ')'
+   * [50] seq ::= '(' S? cp (S? ',' S? cp)* S? ')'
+   * 
+ * + *

NOTE: the opening '(' and S have already been read. + * + * @param saved Buffer for entity that should have the terminal ')' + */ + private void parseElements(char[] saved) throws Exception - { - if (tryRead ('(')) { - dataBufferAppend ('('); - parseElements (readBuffer); - } else { - dataBufferAppend (readNmtoken (true)); - char c = readCh (); - switch (c) { - case '?': - case '*': - case '+': - dataBufferAppend (c); - break; - default: - unread (c); - break; - } - } - } - - - /** - * Parse mixed content. - *

-     * [51] Mixed ::= '(' S? ( '#PCDATA' (S? '|' S? Name)*) S? ')*'
-     *	      | '(' S? ('#PCDATA') S? ')'
-     * 
- * - * @param saved Buffer for entity that should have the terminal ')' - */ - private void parseMixed (char saved []) + { + char c; + char sep; + + // Parse the first content particle + skipWhitespace(); + parseCp(); + + // Check for end or for a separator. + skipWhitespace(); + c = readCh(); + switch (c) + { + case ')': + // VC: Proper Group/PE Nesting + if (readBuffer != saved) + { + handler.verror("Illegal Group/PE nesting"); + } + + dataBufferAppend(')'); + c = readCh(); + switch (c) + { + case '*': + case '+': + case '?': + dataBufferAppend(c); + break; + default: + unread(c); + } + return; + case ',': // Register the separator. + case '|': + sep = c; + dataBufferAppend(c); + break; + default: + error("bad separator in content model", c, null); + return; + } + + // Parse the rest of the content model. + while (true) + { + skipWhitespace(); + parseCp(); + skipWhitespace(); + c = readCh(); + if (c == ')') + { + // VC: Proper Group/PE Nesting + if (readBuffer != saved) + { + handler.verror("Illegal Group/PE nesting"); + } + + dataBufferAppend(')'); + break; + } + else if (c != sep) + { + error("bad separator in content model", c, null); + return; + } + else + { + dataBufferAppend(c); + } + } + + // Check for the occurrence indicator. + c = readCh(); + switch (c) + { + case '?': + case '*': + case '+': + dataBufferAppend(c); + return; + default: + unread(c); + return; + } + } + + /** + * Parse a content particle. + *
+   * [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')?
+   * 
+ */ + private void parseCp() throws Exception - { - // Check for PCDATA alone. - skipWhitespace (); - if (tryRead (')')) { - // VC: Proper Group/PE Nesting - if (readBuffer != saved) - handler.verror ("Illegal Group/PE nesting"); - - dataBufferAppend (")*"); - tryRead ('*'); - return; - } - - // Parse mixed content. - skipWhitespace (); - while (!tryRead (")")) { - require ('|'); - dataBufferAppend ('|'); - skipWhitespace (); - dataBufferAppend (readNmtoken (true)); - skipWhitespace (); - } - - // VC: Proper Group/PE Nesting - if (readBuffer != saved) - handler.verror ("Illegal Group/PE nesting"); - - require ('*'); - dataBufferAppend (")*"); - } - + { + if (tryRead('(')) + { + dataBufferAppend('('); + parseElements(readBuffer); + } + else + { + dataBufferAppend(readNmtoken(true)); + char c = readCh(); + switch (c) + { + case '?': + case '*': + case '+': + dataBufferAppend(c); + break; + default: + unread(c); + break; + } + } + } - /** - * Parse an attribute list declaration. - *
-     * [52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'
-     * 
- *

NOTE: the '<!ATTLIST' has already been read. - */ - private void parseAttlistDecl () + /** + * Parse mixed content. + *

+   * [51] Mixed ::= '(' S? ( '#PCDATA' (S? '|' S? Name)*) S? ')*'
+   *        | '(' S? ('#PCDATA') S? ')'
+   * 
+ * + * @param saved Buffer for entity that should have the terminal ')' + */ + private void parseMixed(char[] saved) throws Exception - { - String elementName; - - requireWhitespace (); - elementName = readNmtoken (true); - boolean white = tryWhitespace (); - while (!tryRead ('>')) { - if (!white) - error ("whitespace required before attribute definition"); - parseAttDef (elementName); - white = tryWhitespace (); - } - } - - - /** - * Parse a single attribute definition. - *
-     * [53] AttDef ::= S Name S AttType S DefaultDecl
-     * 
- */ - private void parseAttDef (String elementName) + { + // Check for PCDATA alone. + skipWhitespace(); + if (tryRead(')')) + { + // VC: Proper Group/PE Nesting + if (readBuffer != saved) + { + handler.verror("Illegal Group/PE nesting"); + } + + dataBufferAppend(")*"); + tryRead('*'); + return; + } + + // Parse mixed content. + skipWhitespace(); + while (!tryRead(")")) + { + require('|'); + dataBufferAppend('|'); + skipWhitespace(); + dataBufferAppend(readNmtoken(true)); + skipWhitespace(); + } + + // VC: Proper Group/PE Nesting + if (readBuffer != saved) + { + handler.verror("Illegal Group/PE nesting"); + } + + require('*'); + dataBufferAppend(")*"); + } + + /** + * Parse an attribute list declaration. + *
+   * [52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>'
+   * 
+ *

NOTE: the '<!ATTLIST' has already been read. + */ + private void parseAttlistDecl() throws Exception - { - String name; - String type; - String enumer = null; - - // Read the attribute name. - name = readNmtoken (true); - - // Read the attribute type. - requireWhitespace (); - type = readAttType (); - - // Get the string of enumerated values if necessary. - if (handler.getFeature (SAXDriver.FEATURE + "string-interning")) { - if ("ENUMERATION" == type || "NOTATION" == type) - enumer = dataBufferToString (); - } else { - if ("ENUMERATION".equals(type) || "NOTATION".equals(type)) - enumer = dataBufferToString (); + { + String elementName; + + requireWhitespace(); + elementName = readNmtoken(true); + boolean white = tryWhitespace(); + while (!tryRead('>')) + { + if (!white) + { + error("whitespace required before attribute definition"); + } + parseAttDef(elementName); + white = tryWhitespace(); + } } + + /** + * Parse a single attribute definition. + *

+   * [53] AttDef ::= S Name S AttType S DefaultDecl
+   * 
+ */ + private void parseAttDef(String elementName) + throws Exception + { + String name; + String type; + String enumer = null; + + // Read the attribute name. + name = readNmtoken(true); - // Read the default value. - requireWhitespace (); - parseDefault (elementName, name, type, enumer); - } + // Read the attribute type. + requireWhitespace(); + type = readAttType(); + // Get the string of enumerated values if necessary. + if (handler.stringInterning) + { + if ("ENUMERATION" == type || "NOTATION" == type) + { + enumer = dataBufferToString(); + } + } + else + { + if ("ENUMERATION".equals(type) || "NOTATION".equals(type)) + { + enumer = dataBufferToString(); + } + } + + // Read the default value. + requireWhitespace(); + parseDefault(elementName, name, type, enumer); + } /** * Parse the attribute type. @@ -1598,229 +1926,284 @@ loop: * [54] AttType ::= StringType | TokenizedType | EnumeratedType * [55] StringType ::= 'CDATA' * [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' - * | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' + * | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' * [57] EnumeratedType ::= NotationType | Enumeration * */ - private String readAttType () + private String readAttType() throws Exception { - if (tryRead ('(')) { - parseEnumeration (false); - return "ENUMERATION"; - } else { - String typeString = readNmtoken (true); - if (handler.getFeature (SAXDriver.FEATURE + "string-interning")) { - if ("NOTATION" == typeString) { - parseNotationType (); - return typeString; - } else if ("CDATA" == typeString - || "ID" == typeString - || "IDREF" == typeString - || "IDREFS" == typeString - || "ENTITY" == typeString - || "ENTITIES" == typeString - || "NMTOKEN" == typeString - || "NMTOKENS" == typeString) - return typeString; - } else { - if ("NOTATION".equals(typeString)) { - parseNotationType (); - return typeString; - } else if ("CDATA".equals(typeString) - || "ID".equals(typeString) - || "IDREF".equals(typeString) - || "IDREFS".equals(typeString) - || "ENTITY".equals(typeString) - || "ENTITIES".equals(typeString) - || "NMTOKEN".equals(typeString) - || "NMTOKENS".equals(typeString)) - return typeString; - } - error ("illegal attribute type", typeString, null); - return null; - } + if (tryRead('(')) + { + parseEnumeration(false); + return "ENUMERATION"; + } + else + { + String typeString = readNmtoken(true); + if (handler.stringInterning) + { + if ("NOTATION" == typeString) + { + parseNotationType(); + return typeString; + } + else if ("CDATA" == typeString + || "ID" == typeString + || "IDREF" == typeString + || "IDREFS" == typeString + || "ENTITY" == typeString + || "ENTITIES" == typeString + || "NMTOKEN" == typeString + || "NMTOKENS" == typeString) + { + return typeString; + } + } + else + { + if ("NOTATION".equals(typeString)) + { + parseNotationType(); + return typeString; + } + else if ("CDATA".equals(typeString) + || "ID".equals(typeString) + || "IDREF".equals(typeString) + || "IDREFS".equals(typeString) + || "ENTITY".equals(typeString) + || "ENTITIES".equals(typeString) + || "NMTOKEN".equals(typeString) + || "NMTOKENS".equals(typeString)) + { + return typeString; + } + } + error("illegal attribute type", typeString, null); + return null; + } } - - /** - * Parse an enumeration. - *
-     * [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'
-     * 
- *

NOTE: the '(' has already been read. - */ - private void parseEnumeration (boolean isNames) + /** + * Parse an enumeration. + *

+   * [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'
+   * 
+ *

NOTE: the '(' has already been read. + */ + private void parseEnumeration(boolean isNames) throws Exception - { - dataBufferAppend ('('); - - // Read the first token. - skipWhitespace (); - dataBufferAppend (readNmtoken (isNames)); - // Read the remaining tokens. - skipWhitespace (); - while (!tryRead (')')) { - require ('|'); - dataBufferAppend ('|'); - skipWhitespace (); - dataBufferAppend (readNmtoken (isNames)); - skipWhitespace (); - } - dataBufferAppend (')'); - } - + { + dataBufferAppend('('); + + // Read the first token. + skipWhitespace(); + dataBufferAppend(readNmtoken(isNames)); + // Read the remaining tokens. + skipWhitespace(); + while (!tryRead(')')) + { + require('|'); + dataBufferAppend('|'); + skipWhitespace(); + dataBufferAppend(readNmtoken (isNames)); + skipWhitespace(); + } + dataBufferAppend(')'); + } - /** - * Parse a notation type for an attribute. - *

-     * [58] NotationType ::= 'NOTATION' S '(' S? NameNtoks
-     *		(S? '|' S? name)* S? ')'
-     * 
- *

NOTE: the 'NOTATION' has already been read - */ - private void parseNotationType () + /** + * Parse a notation type for an attribute. + *

+   * [58] NotationType ::= 'NOTATION' S '(' S? NameNtoks
+   *    (S? '|' S? name)* S? ')'
+   * 
+ *

NOTE: the 'NOTATION' has already been read + */ + private void parseNotationType() throws Exception - { - requireWhitespace (); - require ('('); - - parseEnumeration (true); - } - - - /** - * Parse the default value for an attribute. - *

-     * [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED'
-     *		| (('#FIXED' S)? AttValue)
-     * 
- */ - private void parseDefault ( - String elementName, - String name, - String type, - String enumer - ) throws Exception - { - int valueType = ATTRIBUTE_DEFAULT_SPECIFIED; - String value = null; - int flags = LIT_ATTRIBUTE; - boolean saved = expandPE; - String defaultType = null; - - // LIT_ATTRIBUTE forces '<' checks now (ASAP) and turns whitespace - // chars to spaces (doesn't matter when that's done if it doesn't - // interfere with char refs expanding to whitespace). - - if (!skippedPE) { - flags |= LIT_ENTITY_REF; - if (handler.getFeature (SAXDriver.FEATURE + "string-interning")) { - if ("CDATA" != type) - flags |= LIT_NORMALIZE; - } else { - if (!"CDATA".equals(type)) - flags |= LIT_NORMALIZE; - } - } - - expandPE = false; - if (tryRead ('#')) { - if (tryRead ("FIXED")) { - defaultType = "#FIXED"; - valueType = ATTRIBUTE_DEFAULT_FIXED; - requireWhitespace (); - value = readLiteral (flags); - } else if (tryRead ("REQUIRED")) { - defaultType = "#REQUIRED"; - valueType = ATTRIBUTE_DEFAULT_REQUIRED; - } else if (tryRead ("IMPLIED")) { - defaultType = "#IMPLIED"; - valueType = ATTRIBUTE_DEFAULT_IMPLIED; - } else { - error ("illegal keyword for attribute default value"); - } - } else - value = readLiteral (flags); - expandPE = saved; - setAttribute (elementName, name, type, enumer, value, valueType); - if (handler.getFeature (SAXDriver.FEATURE + "string-interning")) { - if ("ENUMERATION" == type) - type = enumer; - else if ("NOTATION" == type) - type = "NOTATION " + enumer; - } else { - if ("ENUMERATION".equals(type)) - type = enumer; - else if ("NOTATION".equals(type)) - type = "NOTATION " + enumer; + { + requireWhitespace(); + require('('); + + parseEnumeration(true); } - if (!skippedPE) handler.getDeclHandler () - .attributeDecl (elementName, name, type, defaultType, value); - } - - /** - * Parse a conditional section. - *
-     * [61] conditionalSect ::= includeSect || ignoreSect
-     * [62] includeSect ::= '<![' S? 'INCLUDE' S? '['
-     *		extSubsetDecl ']]>'
-     * [63] ignoreSect ::= '<![' S? 'IGNORE' S? '['
-     *		ignoreSectContents* ']]>'
-     * [64] ignoreSectContents ::= Ignore
-     *		('<![' ignoreSectContents* ']]>' Ignore )*
-     * [65] Ignore ::= Char* - (Char* ( '<![' | ']]>') Char* )
-     * 
- *

NOTE: the '>![' has already been read. - */ - private void parseConditionalSect (char saved []) + /** + * Parse the default value for an attribute. + *

+   * [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED'
+   *    | (('#FIXED' S)? AttValue)
+   * 
+ */ + private void parseDefault(String elementName, String name, + String type, String enumer) throws Exception - { - skipWhitespace (); - if (tryRead ("INCLUDE")) { - skipWhitespace (); - require ('['); - // VC: Proper Conditional Section/PE Nesting - if (readBuffer != saved) - handler.verror ("Illegal Conditional Section/PE nesting"); - skipWhitespace (); - while (!tryRead ("]]>")) { - parseMarkupdecl (); - skipWhitespace (); - } - } else if (tryRead ("IGNORE")) { - skipWhitespace (); - require ('['); - // VC: Proper Conditional Section/PE Nesting - if (readBuffer != saved) - handler.verror ("Illegal Conditional Section/PE nesting"); - int nesting = 1; - char c; - expandPE = false; - for (int nest = 1; nest > 0;) { - c = readCh (); - switch (c) { - case '<': - if (tryRead ("![")) { - nest++; - } - case ']': - if (tryRead ("]>")) { - nest--; - } - } - } - expandPE = true; - } else { - error ("conditional section must begin with INCLUDE or IGNORE"); - } - } - - private void parseCharRef () + { + int valueType = ATTRIBUTE_DEFAULT_SPECIFIED; + String value = null; + int flags = LIT_ATTRIBUTE; + boolean saved = expandPE; + String defaultType = null; + + // LIT_ATTRIBUTE forces '<' checks now (ASAP) and turns whitespace + // chars to spaces (doesn't matter when that's done if it doesn't + // interfere with char refs expanding to whitespace). + + if (!skippedPE) + { + flags |= LIT_ENTITY_REF; + if (handler.stringInterning) + { + if ("CDATA" != type) + { + flags |= LIT_NORMALIZE; + } + } + else + { + if (!"CDATA".equals(type)) + { + flags |= LIT_NORMALIZE; + } + } + } + + expandPE = false; + if (tryRead('#')) + { + if (tryRead("FIXED")) + { + defaultType = "#FIXED"; + valueType = ATTRIBUTE_DEFAULT_FIXED; + requireWhitespace(); + value = readLiteral(flags); + } + else if (tryRead("REQUIRED")) + { + defaultType = "#REQUIRED"; + valueType = ATTRIBUTE_DEFAULT_REQUIRED; + } + else if (tryRead("IMPLIED")) + { + defaultType = "#IMPLIED"; + valueType = ATTRIBUTE_DEFAULT_IMPLIED; + } + else + { + error("illegal keyword for attribute default value"); + } + } + else + { + value = readLiteral(flags); + } + expandPE = saved; + setAttribute(elementName, name, type, enumer, value, valueType); + if (handler.stringInterning) + { + if ("ENUMERATION" == type) + { + type = enumer; + } + else if ("NOTATION" == type) + { + type = "NOTATION " + enumer; + } + } + else + { + if ("ENUMERATION".equals(type)) + { + type = enumer; + } + else if ("NOTATION".equals(type)) + { + type = "NOTATION " + enumer; + } + } + if (!skippedPE) + { + handler.getDeclHandler().attributeDecl(elementName, name, type, + defaultType, value); + } + } + + /** + * Parse a conditional section. + *
+   * [61] conditionalSect ::= includeSect || ignoreSect
+   * [62] includeSect ::= '<![' S? 'INCLUDE' S? '['
+   *    extSubsetDecl ']]>'
+   * [63] ignoreSect ::= '<![' S? 'IGNORE' S? '['
+   *    ignoreSectContents* ']]>'
+   * [64] ignoreSectContents ::= Ignore
+   *    ('<![' ignoreSectContents* ']]>' Ignore )*
+   * [65] Ignore ::= Char* - (Char* ( '<![' | ']]>') Char* )
+   * 
+ *

NOTE: the '>![' has already been read. + */ + private void parseConditionalSect(char[] saved) + throws Exception + { + skipWhitespace(); + if (tryRead("INCLUDE")) + { + skipWhitespace(); + require('['); + // VC: Proper Conditional Section/PE Nesting + if (readBuffer != saved) + { + handler.verror("Illegal Conditional Section/PE nesting"); + } + skipWhitespace(); + while (!tryRead("]]>")) + { + parseMarkupdecl(); + skipWhitespace(); + } + } + else if (tryRead("IGNORE")) + { + skipWhitespace(); + require('['); + // VC: Proper Conditional Section/PE Nesting + if (readBuffer != saved) + { + handler.verror("Illegal Conditional Section/PE nesting"); + } + int nesting = 1; + char c; + expandPE = false; + for (int nest = 1; nest > 0; ) + { + c = readCh(); + switch (c) + { + case '<': + if (tryRead("![")) + { + nest++; + } + case ']': + if (tryRead("]>")) + { + nest--; + } + } + } + expandPE = true; + } + else + { + error("conditional section must begin with INCLUDE or IGNORE"); + } + } + + private void parseCharRef() throws SAXException, IOException { - parseCharRef (true /* do flushDataBuffer by default */); + parseCharRef(true /* do flushDataBuffer by default */); } /** @@ -1830,1485 +2213,1717 @@ loop: * *

NOTE: the '&#' has already been read. */ - private void tryReadCharRef () - throws SAXException, IOException + private void tryReadCharRef() + throws SAXException, IOException { - int value = 0; - char c; - - if (tryRead ('x')) { + int value = 0; + char c; + + if (tryRead('x')) + { loop1: - while (true) { - c = readCh (); - int n; - switch (c) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - n = c - '0'; - break; - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - n = (c - 'a') + 10; - break; - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - n = (c - 'A') + 10; - break; - case ';': - break loop1; - default: - error ("illegal character in character reference", c, null); - break loop1; - } - value *= 16; - value += n; - } - } else { + while (true) + { + c = readCh(); + if (c == ';') + { + break loop1; + } + else + { + int n = Character.digit(c, 16); + if (n == -1) + { + error("illegal character in character reference", c, null); + break loop1; + } + value *= 16; + value += n; + } + } + } + else + { loop2: - while (true) { - c = readCh (); - switch (c) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - value *= 10; - value += c - '0'; - break; - case ';': - break loop2; - default: - error ("illegal character in character reference", c, null); - break loop2; - } - } - } - - // check for character refs being legal XML - if ((value < 0x0020 - && ! (value == '\n' || value == '\t' || value == '\r')) - || (value >= 0xD800 && value <= 0xDFFF) - || value == 0xFFFE || value == 0xFFFF - || value > 0x0010ffff) - error ("illegal XML character reference U+" - + Integer.toHexString (value)); - - // Check for surrogates: 00000000 0000xxxx yyyyyyyy zzzzzzzz - // (1101|10xx|xxyy|yyyy + 1101|11yy|zzzz|zzzz: - if (value > 0x0010ffff) { - // too big for surrogate - error ("character reference " + value + " is too large for UTF-16", - new Integer (value).toString (), null); - } - + while (true) + { + c = readCh(); + if (c == ';') + { + break loop2; + } + else + { + int n = Character.digit(c, 10); + if (n == -1) + { + error("illegal character in character reference", c, null); + break loop2; + } + value *= 10; + value += n; + } + } + } + + // check for character refs being legal XML + if ((value < 0x0020 + && ! (value == '\n' || value == '\t' || value == '\r')) + || (value >= 0xD800 && value <= 0xDFFF) + || value == 0xFFFE || value == 0xFFFF + || value > 0x0010ffff) + { + error("illegal XML character reference U+" + + Integer.toHexString(value)); + } + + // Check for surrogates: 00000000 0000xxxx yyyyyyyy zzzzzzzz + // (1101|10xx|xxyy|yyyy + 1101|11yy|zzzz|zzzz: + if (value > 0x0010ffff) + { + // too big for surrogate + error("character reference " + value + " is too large for UTF-16", + new Integer(value).toString(), null); + } + } - /** - * Read and interpret a character reference. - *

-     * [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'
-     * 
- *

NOTE: the '&#' has already been read. - */ - private void parseCharRef (boolean doFlush) + /** + * Read and interpret a character reference. + *

+   * [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'
+   * 
+ *

NOTE: the '&#' has already been read. + */ + private void parseCharRef(boolean doFlush) throws SAXException, IOException - { - int value = 0; - char c; - - if (tryRead ('x')) { + { + int value = 0; + char c; + + if (tryRead('x')) + { loop1: - while (true) { - c = readCh (); - int n; - switch (c) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - n = c - '0'; - break; - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - n = (c - 'a') + 10; - break; - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - n = (c - 'A') + 10; - break; - case ';': - break loop1; - default: - error ("illegal character in character reference", c, null); - break loop1; - } - value *= 16; - value += n; - } - } else { + while (true) + { + c = readCh(); + if (c == ';') + { + break loop1; + } + else + { + int n = Character.digit(c, 16); + if (n == -1) + { + error("illegal character in character reference", c, null); + break loop1; + } + value *= 16; + value += n; + } + } + } + else + { loop2: - while (true) { - c = readCh (); - switch (c) { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - value *= 10; - value += c - '0'; - break; - case ';': - break loop2; - default: - error ("illegal character in character reference", c, null); - break loop2; - } - } - } - - // check for character refs being legal XML - if ((value < 0x0020 - && ! (value == '\n' || value == '\t' || value == '\r')) - || (value >= 0xD800 && value <= 0xDFFF) - || value == 0xFFFE || value == 0xFFFF - || value > 0x0010ffff) - error ("illegal XML character reference U+" - + Integer.toHexString (value)); - - // Check for surrogates: 00000000 0000xxxx yyyyyyyy zzzzzzzz - // (1101|10xx|xxyy|yyyy + 1101|11yy|zzzz|zzzz: - if (value <= 0x0000ffff) { - // no surrogates needed - dataBufferAppend ((char) value); - } else if (value <= 0x0010ffff) { - value -= 0x10000; - // > 16 bits, surrogate needed - dataBufferAppend ((char) (0xd800 | (value >> 10))); - dataBufferAppend ((char) (0xdc00 | (value & 0x0003ff))); - } else { - // too big for surrogate - error ("character reference " + value + " is too large for UTF-16", - new Integer (value).toString (), null); - } - if (doFlush) dataBufferFlush (); - } - - - /** - * Parse and expand an entity reference. - *

-     * [68] EntityRef ::= '&' Name ';'
-     * 
- *

NOTE: the '&' has already been read. - * @param externalAllowed External entities are allowed here. - */ - private void parseEntityRef (boolean externalAllowed) + while (true) + { + c = readCh(); + if (c == ';') + { + break loop2; + } + else + { + int n = Character.digit(c, 10); + if (n == -1) + { + error("illegal character in character reference", c, null); + break loop2; + } + value *= 10; + value += c - '0'; + } + } + } + + // check for character refs being legal XML + if ((value < 0x0020 + && ! (value == '\n' || value == '\t' || value == '\r')) + || (value >= 0xD800 && value <= 0xDFFF) + || value == 0xFFFE || value == 0xFFFF + || value > 0x0010ffff) + { + error("illegal XML character reference U+" + + Integer.toHexString(value)); + } + + // Check for surrogates: 00000000 0000xxxx yyyyyyyy zzzzzzzz + // (1101|10xx|xxyy|yyyy + 1101|11yy|zzzz|zzzz: + if (value <= 0x0000ffff) + { + // no surrogates needed + dataBufferAppend((char) value); + } + else if (value <= 0x0010ffff) + { + value -= 0x10000; + // > 16 bits, surrogate needed + dataBufferAppend((char) (0xd800 | (value >> 10))); + dataBufferAppend((char) (0xdc00 | (value & 0x0003ff))); + } + else + { + // too big for surrogate + error("character reference " + value + " is too large for UTF-16", + new Integer(value).toString(), null); + } + if (doFlush) + { + dataBufferFlush(); + } + } + + /** + * Parse and expand an entity reference. + *

+   * [68] EntityRef ::= '&' Name ';'
+   * 
+ *

NOTE: the '&' has already been read. + * @param externalAllowed External entities are allowed here. + */ + private void parseEntityRef(boolean externalAllowed) throws SAXException, IOException - { - String name; - - name = readNmtoken (true); - require (';'); - switch (getEntityType (name)) { - case ENTITY_UNDECLARED: - // NOTE: XML REC describes amazingly convoluted handling for - // this case. Nothing as meaningful as being a WFness error - // unless the processor might _legitimately_ not have seen a - // declaration ... which is what this implements. - String message; - - message = "reference to undeclared general entity " + name; - if (skippedPE && !docIsStandalone) { - handler.verror (message); - // we don't know this entity, and it might be external... - if (externalAllowed) - handler.skippedEntity (name); - } else - error (message); - break; - case ENTITY_INTERNAL: - pushString (name, getEntityValue (name)); - - //workaround for possible input pop before marking - //the buffer reading position - char t = readCh (); - unread (t); - int bufferPosMark = readBufferPos; - - int end = readBufferPos + getEntityValue (name).length(); - for(int k = readBufferPos; k < end; k++){ - t = readCh (); - if (t == '&'){ - t = readCh (); - if (t == '#'){ - //try to match a character ref - tryReadCharRef (); - - //everything has been read - if (readBufferPos >= end) - break; - k = readBufferPos; - continue; - } - else if (Character.isLetter(t)){ - //looks like an entity ref - unread (t); - readNmtoken (true); - require (';'); - - //everything has been read - if (readBufferPos >= end) - break; - k = readBufferPos; - continue; - } - error(" malformed entity reference"); - } - + { + String name; + + name = readNmtoken(true); + require(';'); + switch (getEntityType(name)) + { + case ENTITY_UNDECLARED: + // NOTE: XML REC describes amazingly convoluted handling for + // this case. Nothing as meaningful as being a WFness error + // unless the processor might _legitimately_ not have seen a + // declaration ... which is what this implements. + String message; + + message = "reference to undeclared general entity " + name; + if (skippedPE && !docIsStandalone) + { + handler.verror(message); + // we don't know this entity, and it might be external... + if (externalAllowed) + { + handler.skippedEntity(name); + } + } + else + { + error(message); + } + break; + case ENTITY_INTERNAL: + pushString(name, getEntityValue(name)); + + //workaround for possible input pop before marking + //the buffer reading position + char t = readCh(); + unread(t); + int bufferPosMark = readBufferPos; + + int end = readBufferPos + getEntityValue(name).length(); + for (int k = readBufferPos; k < end; k++) + { + t = readCh(); + if (t == '&') + { + t = readCh(); + if (t == '#') + { + //try to match a character ref + tryReadCharRef(); + + //everything has been read + if (readBufferPos >= end) + { + break; + } + k = readBufferPos; + continue; + } + else if (Character.isLetter(t)) + { + //looks like an entity ref + unread(t); + readNmtoken(true); + require(';'); + + //everything has been read + if (readBufferPos >= end) + { + break; + } + k = readBufferPos; + continue; + } + error(" malformed entity reference"); + } + } - readBufferPos = bufferPosMark; - break; - case ENTITY_TEXT: - if (externalAllowed) { - pushURL (false, name, getEntityIds (name), - null, null, null, true); - } else { - error ("reference to external entity in attribute value.", - name, null); - } - break; - case ENTITY_NDATA: - if (externalAllowed) { - error ("unparsed entity reference in content", name, null); - } else { - error ("reference to external entity in attribute value.", - name, null); - } - break; - default: - throw new RuntimeException (); - } - } - - - /** - * Parse and expand a parameter entity reference. - *

-     * [69] PEReference ::= '%' Name ';'
-     * 
- *

NOTE: the '%' has already been read. - */ - private void parsePEReference () + readBufferPos = bufferPosMark; + break; + case ENTITY_TEXT: + if (externalAllowed) + { + pushURL(false, name, getEntityIds(name), + null, null, null, true); + } + else + { + error("reference to external entity in attribute value.", + name, null); + } + break; + case ENTITY_NDATA: + if (externalAllowed) + { + error("unparsed entity reference in content", name, null); + } + else + { + error("reference to external entity in attribute value.", + name, null); + } + break; + default: + throw new RuntimeException(); + } + } + + /** + * Parse and expand a parameter entity reference. + *

+   * [69] PEReference ::= '%' Name ';'
+   * 
+ *

NOTE: the '%' has already been read. + */ + private void parsePEReference() throws SAXException, IOException - { - String name; - - name = "%" + readNmtoken (true); - require (';'); - switch (getEntityType (name)) { - case ENTITY_UNDECLARED: - // VC: Entity Declared - handler.verror ("reference to undeclared parameter entity " + name); - - // we should disable handling of all subsequent declarations - // unless this is a standalone document (info discarded) - break; - case ENTITY_INTERNAL: - if (inLiteral) - pushString (name, getEntityValue (name)); - else - pushString (name, ' ' + getEntityValue (name) + ' '); - break; - case ENTITY_TEXT: - if (!inLiteral) - pushString (null, " "); - pushURL (true, name, getEntityIds (name), null, null, null, true); - if (!inLiteral) - pushString (null, " "); - break; - } - } - - /** - * Parse an entity declaration. - *

-     * [70] EntityDecl ::= GEDecl | PEDecl
-     * [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>'
-     * [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
-     * [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)
-     * [74] PEDef ::= EntityValue | ExternalID
-     * [75] ExternalID ::= 'SYSTEM' S SystemLiteral
-     *		   | 'PUBLIC' S PubidLiteral S SystemLiteral
-     * [76] NDataDecl ::= S 'NDATA' S Name
-     * 
- *

NOTE: the '<!ENTITY' has already been read. - */ - private void parseEntityDecl () + { + String name; + + name = "%" + readNmtoken(true); + require(';'); + switch (getEntityType(name)) + { + case ENTITY_UNDECLARED: + // VC: Entity Declared + handler.verror("reference to undeclared parameter entity " + name); + + // we should disable handling of all subsequent declarations + // unless this is a standalone document (info discarded) + break; + case ENTITY_INTERNAL: + if (inLiteral) + { + pushString(name, getEntityValue(name)); + } + else + { + pushString(name, ' ' + getEntityValue(name) + ' '); + } + break; + case ENTITY_TEXT: + if (!inLiteral) + { + pushString(null, " "); + } + pushURL(true, name, getEntityIds(name), null, null, null, true); + if (!inLiteral) + { + pushString(null, " "); + } + break; + } + } + + /** + * Parse an entity declaration. + *

+   * [70] EntityDecl ::= GEDecl | PEDecl
+   * [71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>'
+   * [72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
+   * [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)
+   * [74] PEDef ::= EntityValue | ExternalID
+   * [75] ExternalID ::= 'SYSTEM' S SystemLiteral
+   *       | 'PUBLIC' S PubidLiteral S SystemLiteral
+   * [76] NDataDecl ::= S 'NDATA' S Name
+   * 
+ *

NOTE: the '<!ENTITY' has already been read. + */ + private void parseEntityDecl() throws Exception - { - boolean peFlag = false; - int flags = 0; - - // Check for a parameter entity. - expandPE = false; - requireWhitespace (); - if (tryRead ('%')) { - peFlag = true; - requireWhitespace (); - } - expandPE = true; - - // Read the entity name, and prepend - // '%' if necessary. - String name = readNmtoken (true); - //NE08 - if (name.indexOf(':') >= 0) - error ("Illegal character(':') in entity name ", name, null); - if (peFlag) { - name = "%" + name; - } - - // Read the entity value. - requireWhitespace (); - char c = readCh (); - unread (c); - if (c == '"' || c == '\'') { - // Internal entity ... replacement text has expanded refs - // to characters and PEs, but not to general entities - String value = readLiteral (flags); - setInternalEntity (name, value); - } else { - // Read the external IDs - String ids [] = readExternalIds (false, false); - - // Check for NDATA declaration. - boolean white = tryWhitespace (); - if (!peFlag && tryRead ("NDATA")) { - if (!white) - error ("whitespace required before NDATA"); - requireWhitespace (); - String notationName = readNmtoken (true); - if (!skippedPE) { - setExternalEntity (name, ENTITY_NDATA, ids, notationName); - handler.unparsedEntityDecl (name, ids, notationName); - } - } else if (!skippedPE) { - setExternalEntity (name, ENTITY_TEXT, ids, null); - handler.getDeclHandler () - .externalEntityDecl (name, ids [0], - handler.resolveURIs () - // FIXME: ASSUMES not skipped - // "false" forces error on bad URI - ? handler.absolutize (ids [2], ids [1], false) - : ids [1]); - } - } - - // Finish the declaration. - skipWhitespace (); - require ('>'); - } + { + boolean peFlag = false; + int flags = 0; + + // Check for a parameter entity. + expandPE = false; + requireWhitespace(); + if (tryRead('%')) + { + peFlag = true; + requireWhitespace(); + } + expandPE = true; + + // Read the entity name, and prepend + // '%' if necessary. + String name = readNmtoken(true); + //NE08 + if (name.indexOf(':') >= 0) + { + error("Illegal character(':') in entity name ", name, null); + } + if (peFlag) + { + name = "%" + name; + } + // Read the entity value. + requireWhitespace(); + char c = readCh(); + unread (c); + if (c == '"' || c == '\'') + { + // Internal entity ... replacement text has expanded refs + // to characters and PEs, but not to general entities + String value = readLiteral(flags); + setInternalEntity(name, value); + } + else + { + // Read the external IDs + ExternalIdentifiers ids = readExternalIds(false, false); + + // Check for NDATA declaration. + boolean white = tryWhitespace(); + if (!peFlag && tryRead("NDATA")) + { + if (!white) + { + error("whitespace required before NDATA"); + } + requireWhitespace(); + String notationName = readNmtoken(true); + if (!skippedPE) + { + setExternalEntity(name, ENTITY_NDATA, ids, notationName); + handler.unparsedEntityDecl(name, ids.publicId, ids.systemId, + ids.baseUri, notationName); + } + } + else if (!skippedPE) + { + setExternalEntity(name, ENTITY_TEXT, ids, null); + handler.getDeclHandler() + .externalEntityDecl(name, ids.publicId, + handler.resolveURIs() + // FIXME: ASSUMES not skipped + // "false" forces error on bad URI + ? handler.absolutize(ids.baseUri, + ids.systemId, + false) + : ids.systemId); + } + } + + // Finish the declaration. + skipWhitespace(); + require('>'); + } - /** - * Parse a notation declaration. - *

-     * [82] NotationDecl ::= '<!NOTATION' S Name S
-     *		(ExternalID | PublicID) S? '>'
-     * [83] PublicID ::= 'PUBLIC' S PubidLiteral
-     * 
- *

NOTE: the '<!NOTATION' has already been read. - */ - private void parseNotationDecl () + /** + * Parse a notation declaration. + *

+   * [82] NotationDecl ::= '<!NOTATION' S Name S
+   *    (ExternalID | PublicID) S? '>'
+   * [83] PublicID ::= 'PUBLIC' S PubidLiteral
+   * 
+ *

NOTE: the '<!NOTATION' has already been read. + */ + private void parseNotationDecl() throws Exception - { - String nname, ids[]; - - - requireWhitespace (); - nname = readNmtoken (true); - //NE08 - if (nname.indexOf(':') >= 0) - error ("Illegal character(':') in notation name ", nname, null); - requireWhitespace (); - - // Read the external identifiers. - ids = readExternalIds (true, false); - - // Register the notation. - setNotation (nname, ids); - - skipWhitespace (); - require ('>'); - } + { + String nname; + ExternalIdentifiers ids; + + requireWhitespace(); + nname = readNmtoken(true); + //NE08 + if (nname.indexOf(':') >= 0) + { + error("Illegal character(':') in notation name ", nname, null); + } + requireWhitespace(); + // Read the external identifiers. + ids = readExternalIds(true, false); - /** - * Parse character data. - *

-     * [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
-     * 
- */ - private void parseCharData () + // Register the notation. + setNotation(nname, ids); + + skipWhitespace(); + require('>'); + } + + /** + * Parse character data. + *
+   * [14] CharData ::= [^<&]* - ([^<&]* ']]>' [^<&]*)
+   * 
+ */ + private void parseCharData() throws Exception - { - char c; - int state = 0; - boolean pureWhite = false; - - // assert (dataBufferPos == 0); - - // are we expecting pure whitespace? it might be dirty... - if ((currentElementContent == CONTENT_ELEMENTS) && !isDirtyCurrentElement) - pureWhite = true; + { + char c; + int state = 0; + boolean pureWhite = false; - // always report right out of readBuffer - // to minimize (pointless) buffer copies - while (true) { - int lineAugment = 0; - int columnAugment = 0; - int i; + // assert (dataBufferPos == 0); + + // are we expecting pure whitespace? it might be dirty... + if ((currentElementContent == CONTENT_ELEMENTS) && !isDirtyCurrentElement) + { + pureWhite = true; + } + // always report right out of readBuffer + // to minimize (pointless) buffer copies + while (true) + { + int lineAugment = 0; + int columnAugment = 0; + int i; + loop: - for (i = readBufferPos; i < readBufferLength; i++) { - switch (c = readBuffer [i]) { - case '\n': - lineAugment++; - columnAugment = 0; - // pureWhite unmodified - break; - case '\r': // should not happen!! - case '\t': - case ' ': - // pureWhite unmodified - columnAugment++; - break; - case '&': - case '<': - columnAugment++; - // pureWhite unmodified - // CLEAN end of text sequence - state = 1; - break loop; - case ']': - // that's not a whitespace char, and - // can not terminate pure whitespace either - pureWhite = false; - if ((i + 2) < readBufferLength) { - if (readBuffer [i + 1] == ']' - && readBuffer [i + 2] == '>') { - // ERROR end of text sequence - state = 2; - break loop; - } - } else { - // FIXME missing two end-of-buffer cases - } - columnAugment++; - break; - default: - if ((c < 0x0020 || c > 0xFFFD) - || ((c >= 0x007f) && (c <= 0x009f) && (c != 0x0085) - && xmlVersion == XML_11)) - error ("illegal XML character U+" - + Integer.toHexString (c)); - // that's not a whitespace char - pureWhite = false; - columnAugment++; - } - } - - // report text thus far - if (lineAugment > 0) { - line += lineAugment; - column = columnAugment; - } else { - column += columnAugment; - } - - // report characters/whitspace - int length = i - readBufferPos; - - if (length != 0) { - if (pureWhite) - handler.ignorableWhitespace (readBuffer, - readBufferPos, length); - else - handler.charData (readBuffer, readBufferPos, length); - readBufferPos = i; - } - - if (state != 0) - break; - - // fill next buffer from this entity, or - // pop stack and continue with previous entity - unread (readCh ()); - } - if (!pureWhite) - isDirtyCurrentElement = true; - // finish, maybe with error - if (state != 1) // finish, no error - error ("character data may not contain ']]>'"); - } - - - ////////////////////////////////////////////////////////////////////// - // High-level reading and scanning methods. - ////////////////////////////////////////////////////////////////////// - - /** - * Require whitespace characters. - */ - private void requireWhitespace () + for (i = readBufferPos; i < readBufferLength; i++) + { + switch (c = readBuffer[i]) + { + case '\n': + lineAugment++; + columnAugment = 0; + // pureWhite unmodified + break; + case '\r': // should not happen!! + case '\t': + case ' ': + // pureWhite unmodified + columnAugment++; + break; + case '&': + case '<': + columnAugment++; + // pureWhite unmodified + // CLEAN end of text sequence + state = 1; + break loop; + case ']': + // that's not a whitespace char, and + // can not terminate pure whitespace either + pureWhite = false; + if ((i + 2) < readBufferLength) + { + if (readBuffer [i + 1] == ']' + && readBuffer [i + 2] == '>') + { + // ERROR end of text sequence + state = 2; + break loop; + } + } + else + { + // FIXME missing two end-of-buffer cases + } + columnAugment++; + break; + default: + if ((c < 0x0020 || c > 0xFFFD) + || ((c >= 0x007f) && (c <= 0x009f) && (c != 0x0085) + && xmlVersion == XML_11)) + { + error("illegal XML character U+" + + Integer.toHexString(c)); + } + // that's not a whitespace char + pureWhite = false; + columnAugment++; + } + } + + // report text thus far + if (lineAugment > 0) + { + line += lineAugment; + column = columnAugment; + } + else + { + column += columnAugment; + } + + // report characters/whitspace + int length = i - readBufferPos; + + if (length != 0) + { + if (pureWhite) + { + handler.ignorableWhitespace(readBuffer, + readBufferPos, length); + } + else + { + handler.charData(readBuffer, readBufferPos, length); + } + readBufferPos = i; + } + + if (state != 0) + { + break; + } + + // fill next buffer from this entity, or + // pop stack and continue with previous entity + unread(readCh()); + } + if (!pureWhite) + { + isDirtyCurrentElement = true; + } + // finish, maybe with error + if (state != 1) // finish, no error + { + error("character data may not contain ']]>'"); + } + } + + ////////////////////////////////////////////////////////////////////// + // High-level reading and scanning methods. + ////////////////////////////////////////////////////////////////////// + + /** + * Require whitespace characters. + */ + private void requireWhitespace() throws SAXException, IOException - { - char c = readCh (); - if (isWhitespace (c)) { - skipWhitespace (); - } else { - error ("whitespace required", c, null); - } - } - + { + char c = readCh(); + if (isWhitespace(c)) + { + skipWhitespace(); + } + else + { + error("whitespace required", c, null); + } + } - /** - * Skip whitespace characters. - *
-     * [3] S ::= (#x20 | #x9 | #xd | #xa)+
-     * 
- */ - private void skipWhitespace () + /** + * Skip whitespace characters. + *
+   * [3] S ::= (#x20 | #x9 | #xd | #xa)+
+   * 
+ */ + private void skipWhitespace() throws SAXException, IOException - { - // Start with a little cheat. Most of - // the time, the white space will fall - // within the current read buffer; if - // not, then fall through. - if (USE_CHEATS) { - int lineAugment = 0; - int columnAugment = 0; - + { + // Start with a little cheat. Most of + // the time, the white space will fall + // within the current read buffer; if + // not, then fall through. + if (USE_CHEATS) + { + int lineAugment = 0; + int columnAugment = 0; + loop: - for (int i = readBufferPos; i < readBufferLength; i++) { - switch (readBuffer [i]) { - case ' ': - case '\t': - case '\r': - columnAugment++; - break; - case '\n': - lineAugment++; - columnAugment = 0; - break; - case '%': - if (expandPE) - break loop; - // else fall through... - default: - readBufferPos = i; - if (lineAugment > 0) { - line += lineAugment; - column = columnAugment; - } else { - column += columnAugment; - } - return; - } - } - } - - // OK, do it the slow way. - char c = readCh (); - while (isWhitespace (c)) { - c = readCh (); - } - unread (c); - } - - - /** - * Read a name or (when parsing an enumeration) name token. - *
-     * [5] Name ::= (Letter | '_' | ':') (NameChar)*
-     * [7] Nmtoken ::= (NameChar)+
-     * 
- */ - private String readNmtoken (boolean isName) + for (int i = readBufferPos; i < readBufferLength; i++) + { + switch (readBuffer[i]) + { + case ' ': + case '\t': + case '\r': + columnAugment++; + break; + case '\n': + lineAugment++; + columnAugment = 0; + break; + case '%': + if (expandPE) + { + break loop; + } + // else fall through... + default: + readBufferPos = i; + if (lineAugment > 0) + { + line += lineAugment; + column = columnAugment; + } + else + { + column += columnAugment; + } + return; + } + } + } + + // OK, do it the slow way. + char c = readCh (); + while (isWhitespace(c)) + { + c = readCh(); + } + unread(c); + } + + /** + * Read a name or (when parsing an enumeration) name token. + *
+   * [5] Name ::= (Letter | '_' | ':') (NameChar)*
+   * [7] Nmtoken ::= (NameChar)+
+   * 
+ */ + private String readNmtoken(boolean isName) throws SAXException, IOException - { - char c; - - if (USE_CHEATS) { -loop: - for (int i = readBufferPos; i < readBufferLength; i++) { - c = readBuffer [i]; - switch (c) { - case '%': - if (expandPE) - break loop; - // else fall through... - - // What may legitimately come AFTER a name/nmtoken? - case '<': case '>': case '&': - case ',': case '|': case '*': case '+': case '?': - case ')': - case '=': - case '\'': case '"': - case '[': - case ' ': case '\t': case '\r': case '\n': - case ';': - case '/': - int start = readBufferPos; - if (i == start) - error ("name expected", readBuffer [i], null); - readBufferPos = i; - return intern (readBuffer, start, i - start); - - default: -// FIXME ... per IBM's OASIS test submission, these: -// ? U+06dd -// Combining U+309B - //these switches are kind of ugly but at least we won't - //have to go over the whole lits for each char - if (isName && i == readBufferPos){ - char c2 = (char) (c & 0x00f0); - switch (c & 0xff00){ - //starting with 01 - case 0x0100: - switch (c2){ - case 0x0030: - if (c == 0x0132 || c == 0x0133 || c == 0x013f) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - case 0x0040: - if (c == 0x0140 || c == 0x0149) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - case 0x00c0: - if (c == 0x01c4 || c == 0x01cc) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - case 0x00f0: - if (c == 0x01f1 || c == 0x01f3) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - case 0x00b0: - if (c == 0x01f1 || c == 0x01f3) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - default: - if (c == 0x017f) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - } - - break; - //starting with 11 - case 0x1100: - switch (c2){ - case 0x0000: - if (c == 0x1104 || c == 0x1108 || - c == 0x110a || c == 0x110d) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - case 0x0030: - if (c == 0x113b || c == 0x113f) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - case 0x0040: - if (c == 0x1141 || c == 0x114d - || c == 0x114f ) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - case 0x0050: - if (c == 0x1151 || c == 0x1156) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - case 0x0060: - if (c == 0x1162 || c == 0x1164 - || c == 0x1166 || c == 0x116b - || c == 0x116f) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - case 0x00b0: - if (c == 0x11b6 || c == 0x11b9 - || c == 0x11bb || c == 0x116f) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - break; - default: - if (c == 0x1174 || c == 0x119f - || c == 0x11ac || c == 0x11c3 - || c == 0x11f1) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - } - break; - default: - if (c == 0x0e46 || c == 0x1011 - || c == 0x212f || c == 0x0587 - || c == 0x0230 ) - error ("Not a name start character, U+" - + Integer.toHexString (c)); - } - } - // punt on exact tests from Appendix A; approximate - // them using the Unicode ID start/part rules - if (i == readBufferPos && isName) { - if (!Character.isUnicodeIdentifierStart (c) - && c != ':' && c != '_') - error ("Not a name start character, U+" - + Integer.toHexString (c)); - } else if (!Character.isUnicodeIdentifierPart (c) - && c != '-' && c != ':' && c != '_' && c != '.' - && !isExtender (c)) - error ("Not a name character, U+" - + Integer.toHexString (c)); - } - } - } - - nameBufferPos = 0; - - // Read the first character. + { + char c; + + if (USE_CHEATS) + { loop: - while (true) { - c = readCh (); - switch (c) { - case '%': - case '<': case '>': case '&': - case ',': case '|': case '*': case '+': case '?': - case ')': - case '=': - case '\'': case '"': - case '[': - case ' ': case '\t': case '\n': case '\r': - case ';': - case '/': - unread (c); - if (nameBufferPos == 0) { - error ("name expected"); - } - // punt on exact tests from Appendix A, but approximate them - if (isName - && !Character.isUnicodeIdentifierStart ( - nameBuffer [0]) - && ":_".indexOf (nameBuffer [0]) == -1) - error ("Not a name start character, U+" - + Integer.toHexString (nameBuffer [0])); - String s = intern (nameBuffer, 0, nameBufferPos); - nameBufferPos = 0; - return s; - default: - // punt on exact tests from Appendix A, but approximate them - - if ((nameBufferPos != 0 || !isName) - && !Character.isUnicodeIdentifierPart (c) - && ":-_.".indexOf (c) == -1 - && !isExtender (c)) - error ("Not a name character, U+" - + Integer.toHexString (c)); - if (nameBufferPos >= nameBuffer.length) - nameBuffer = - (char[]) extendArray (nameBuffer, - nameBuffer.length, nameBufferPos); - nameBuffer [nameBufferPos++] = c; - } - } - } - - private static boolean isExtender (char c) - { - // [88] Extender ::= ... - return c == 0x00b7 || c == 0x02d0 || c == 0x02d1 || c == 0x0387 - || c == 0x0640 || c == 0x0e46 || c == 0x0ec6 || c == 0x3005 - || (c >= 0x3031 && c <= 0x3035) - || (c >= 0x309d && c <= 0x309e) - || (c >= 0x30fc && c <= 0x30fe); - } + for (int i = readBufferPos; i < readBufferLength; i++) + { + c = readBuffer[i]; + switch (c) + { + case '%': + if (expandPE) + { + break loop; + } + // else fall through... + + // What may legitimately come AFTER a name/nmtoken? + case '<': case '>': case '&': + case ',': case '|': case '*': case '+': case '?': + case ')': + case '=': + case '\'': case '"': + case '[': + case ' ': case '\t': case '\r': case '\n': + case ';': + case '/': + int start = readBufferPos; + if (i == start) + { + error("name expected", readBuffer[i], null); + } + readBufferPos = i; + return intern(readBuffer, start, i - start); + + default: + // FIXME ... per IBM's OASIS test submission, these: + // ? U+06dd + // Combining U+309B + //these switches are kind of ugly but at least we won't + //have to go over the whole lits for each char + if (isName && i == readBufferPos) + { + char c2 = (char) (c & 0x00f0); + switch (c & 0xff00) + { + //starting with 01 + case 0x0100: + switch (c2) + { + case 0x0030: + if (c == 0x0132 || c == 0x0133 || c == 0x013f) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + case 0x0040: + if (c == 0x0140 || c == 0x0149) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + case 0x00c0: + if (c == 0x01c4 || c == 0x01cc) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + case 0x00f0: + if (c == 0x01f1 || c == 0x01f3) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + case 0x00b0: + if (c == 0x01f1 || c == 0x01f3) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + default: + if (c == 0x017f) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + } + + break; + //starting with 11 + case 0x1100: + switch (c2) + { + case 0x0000: + if (c == 0x1104 || c == 0x1108 || + c == 0x110a || c == 0x110d) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + case 0x0030: + if (c == 0x113b || c == 0x113f) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + case 0x0040: + if (c == 0x1141 || c == 0x114d + || c == 0x114f ) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + case 0x0050: + if (c == 0x1151 || c == 0x1156) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + case 0x0060: + if (c == 0x1162 || c == 0x1164 + || c == 0x1166 || c == 0x116b + || c == 0x116f) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + case 0x00b0: + if (c == 0x11b6 || c == 0x11b9 + || c == 0x11bb || c == 0x116f) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + break; + default: + if (c == 0x1174 || c == 0x119f + || c == 0x11ac || c == 0x11c3 + || c == 0x11f1) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + } + break; + default: + if (c == 0x0e46 || c == 0x1011 + || c == 0x212f || c == 0x0587 + || c == 0x0230 ) + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + } + } + // punt on exact tests from Appendix A; approximate + // them using the Unicode ID start/part rules + if (i == readBufferPos && isName) + { + if (!Character.isUnicodeIdentifierStart(c) + && c != ':' && c != '_') + { + error("Not a name start character, U+" + + Integer.toHexString(c)); + } + } + else if (!Character.isUnicodeIdentifierPart(c) + && c != '-' && c != ':' && c != '_' && c != '.' + && !isExtender(c)) + { + error("Not a name character, U+" + + Integer.toHexString(c)); + } + } + } + } + + nameBufferPos = 0; + // Read the first character. +loop: + while (true) + { + c = readCh(); + switch (c) + { + case '%': + case '<': case '>': case '&': + case ',': case '|': case '*': case '+': case '?': + case ')': + case '=': + case '\'': case '"': + case '[': + case ' ': case '\t': case '\n': case '\r': + case ';': + case '/': + unread(c); + if (nameBufferPos == 0) + { + error ("name expected"); + } + // punt on exact tests from Appendix A, but approximate them + if (isName + && !Character.isUnicodeIdentifierStart(nameBuffer[0]) + && ":_".indexOf(nameBuffer[0]) == -1) + { + error("Not a name start character, U+" + + Integer.toHexString(nameBuffer[0])); + } + String s = intern(nameBuffer, 0, nameBufferPos); + nameBufferPos = 0; + return s; + default: + // punt on exact tests from Appendix A, but approximate them + + if ((nameBufferPos != 0 || !isName) + && !Character.isUnicodeIdentifierPart(c) + && ":-_.".indexOf(c) == -1 + && !isExtender(c)) + { + error("Not a name character, U+" + + Integer.toHexString(c)); + } + if (nameBufferPos >= nameBuffer.length) + { + nameBuffer = + (char[]) extendArray(nameBuffer, + nameBuffer.length, nameBufferPos); + } + nameBuffer[nameBufferPos++] = c; + } + } + } + + private static boolean isExtender(char c) + { + // [88] Extender ::= ... + return c == 0x00b7 || c == 0x02d0 || c == 0x02d1 || c == 0x0387 + || c == 0x0640 || c == 0x0e46 || c == 0x0ec6 || c == 0x3005 + || (c >= 0x3031 && c <= 0x3035) + || (c >= 0x309d && c <= 0x309e) + || (c >= 0x30fc && c <= 0x30fe); + } - /** - * Read a literal. With matching single or double quotes as - * delimiters (and not embedded!) this is used to parse: - *
-     *	[9] EntityValue ::= ... ([^%&] | PEReference | Reference)* ...
-     *	[10] AttValue ::= ... ([^<&] | Reference)* ...
-     *	[11] SystemLiteral ::= ... (URLchar - "'")* ...
-     *	[12] PubidLiteral ::= ... (PubidChar - "'")* ...
-     * 
- * as well as the quoted strings in XML and text declarations - * (for version, encoding, and standalone) which have their - * own constraints. - */ - private String readLiteral (int flags) + /** + * Read a literal. With matching single or double quotes as + * delimiters (and not embedded!) this is used to parse: + *
+   *  [9] EntityValue ::= ... ([^%&] | PEReference | Reference)* ...
+   *  [10] AttValue ::= ... ([^<&] | Reference)* ...
+   *  [11] SystemLiteral ::= ... (URLchar - "'")* ...
+   *  [12] PubidLiteral ::= ... (PubidChar - "'")* ...
+   * 
+ * as well as the quoted strings in XML and text declarations + * (for version, encoding, and standalone) which have their + * own constraints. + */ + private String readLiteral(int flags) throws SAXException, IOException - { - char delim, c; - int startLine = line; - boolean saved = expandPE; - boolean savedReport = doReport; - - // Find the first delimiter. - delim = readCh (); - if (delim != '"' && delim != '\'') { - error ("expected '\"' or \"'\"", delim, null); - return null; - } - inLiteral = true; - if ((flags & LIT_DISABLE_PE) != 0) - expandPE = false; - doReport = false; - - // Each level of input source has its own buffer; remember - // ours, so we won't read the ending delimiter from any - // other input source, regardless of entity processing. - char ourBuf [] = readBuffer; - - // Read the literal. - try { - c = readCh (); - boolean ampRead = false; + { + char delim, c; + int startLine = line; + boolean saved = expandPE; + boolean savedReport = doReport; + + // Find the first delimiter. + delim = readCh(); + if (delim != '"' && delim != '\'') + { + error("expected '\"' or \"'\"", delim, null); + return null; + } + inLiteral = true; + if ((flags & LIT_DISABLE_PE) != 0) + { + expandPE = false; + } + doReport = false; + + // Each level of input source has its own buffer; remember + // ours, so we won't read the ending delimiter from any + // other input source, regardless of entity processing. + char[] ourBuf = readBuffer; + + // Read the literal. + try + { + c = readCh(); + boolean ampRead = false; loop: - while (! (c == delim && readBuffer == ourBuf)) { - switch (c) { - // attributes and public ids are normalized - // in almost the same ways - case '\n': - case '\r': - if ((flags & (LIT_ATTRIBUTE | LIT_PUBID)) != 0) - c = ' '; - break; - case '\t': - if ((flags & LIT_ATTRIBUTE) != 0) - c = ' '; - break; - case '&': - c = readCh (); - // Char refs are expanded immediately, except for - // all the cases where it's deferred. - if (c == '#') { - if ((flags & LIT_DISABLE_CREF) != 0) { - dataBufferAppend ('&'); - break; - } - parseCharRef (false /* Do not do flushDataBuffer */); - - // exotic WFness risk: this is an entity literal, - // dataBuffer [dataBufferPos - 1] == '&', and - // following chars are a _partial_ entity/char ref - - // It looks like an entity ref ... - } else { - unread (c); - // Expand it? - if ((flags & LIT_ENTITY_REF) > 0) { - parseEntityRef (false); - if (String.valueOf (readBuffer).equals("&")) - ampRead = true; + while (! (c == delim && readBuffer == ourBuf)) + { + switch (c) + { + // attributes and public ids are normalized + // in almost the same ways + case '\n': + case '\r': + if ((flags & (LIT_ATTRIBUTE | LIT_PUBID)) != 0) + { + c = ' '; + } + break; + case '\t': + if ((flags & LIT_ATTRIBUTE) != 0) + { + c = ' '; + } + break; + case '&': + c = readCh(); + // Char refs are expanded immediately, except for + // all the cases where it's deferred. + if (c == '#') + { + if ((flags & LIT_DISABLE_CREF) != 0) + { + dataBufferAppend('&'); + break; + } + parseCharRef(false /* Do not do flushDataBuffer */); + + // exotic WFness risk: this is an entity literal, + // dataBuffer [dataBufferPos - 1] == '&', and + // following chars are a _partial_ entity/char ref + + // It looks like an entity ref ... + } + else + { + unread(c); + // Expand it? + if ((flags & LIT_ENTITY_REF) > 0) + { + parseEntityRef(false); + if (String.valueOf(readBuffer).equals("&")) + { + ampRead = true; + } //Is it just data? - } else if ((flags & LIT_DISABLE_EREF) != 0) { - dataBufferAppend ('&'); - - // OK, it will be an entity ref -- expanded later. - } else { - String name = readNmtoken (true); - require (';'); - dataBufferAppend ('&'); - dataBufferAppend (name); - dataBufferAppend (';'); - } - } - c = readCh (); - continue loop; - - case '<': - // and why? Perhaps so "&foo;" expands the same - // inside and outside an attribute? - if ((flags & LIT_ATTRIBUTE) != 0) - error ("attribute values may not contain '<'"); - break; - - // We don't worry about case '%' and PE refs, readCh does. - - default: - break; - } - dataBufferAppend (c); - c = readCh (); - } - } catch (EOFException e) { - error ("end of input while looking for delimiter (started on line " - + startLine + ')', null, new Character (delim).toString ()); - } - inLiteral = false; - expandPE = saved; - doReport = savedReport; - - // Normalise whitespace if necessary. - if ((flags & LIT_NORMALIZE) > 0) { - dataBufferNormalize (); - } - - // Return the value. - return dataBufferToString (); - } - - - /** - * Try reading external identifiers. - * A system identifier is not required for notations. - * @param inNotation Are we parsing a notation decl? - * @param isSubset Parsing external subset decl (may be omitted)? - * @return A three-member String array containing the identifiers, - * or nulls. Order: public, system, baseURI. - */ - private String[] readExternalIds (boolean inNotation, boolean isSubset) + } + else if ((flags & LIT_DISABLE_EREF) != 0) + { + dataBufferAppend('&'); + + // OK, it will be an entity ref -- expanded later. + } + else + { + String name = readNmtoken(true); + require(';'); + dataBufferAppend('&'); + dataBufferAppend(name); + dataBufferAppend(';'); + } + } + c = readCh(); + continue loop; + + case '<': + // and why? Perhaps so "&foo;" expands the same + // inside and outside an attribute? + if ((flags & LIT_ATTRIBUTE) != 0) + { + error("attribute values may not contain '<'"); + } + break; + + // We don't worry about case '%' and PE refs, readCh does. + + default: + break; + } + dataBufferAppend(c); + c = readCh(); + } + } + catch (EOFException e) + { + error("end of input while looking for delimiter (started on line " + + startLine + ')', null, new Character(delim).toString()); + } + inLiteral = false; + expandPE = saved; + doReport = savedReport; + + // Normalise whitespace if necessary. + if ((flags & LIT_NORMALIZE) > 0) + { + dataBufferNormalize(); + } + + // Return the value. + return dataBufferToString(); + } + + /** + * Try reading external identifiers. + * A system identifier is not required for notations. + * @param inNotation Are we parsing a notation decl? + * @param isSubset Parsing external subset decl (may be omitted)? + * @return A three-member String array containing the identifiers, + * or nulls. Order: public, system, baseURI. + */ + private ExternalIdentifiers readExternalIds(boolean inNotation, + boolean isSubset) throws Exception - { - char c; - String ids[] = new String [3]; - int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF; - - if (tryRead ("PUBLIC")) { - requireWhitespace (); - ids [0] = readLiteral (LIT_NORMALIZE | LIT_PUBID | flags); - if (inNotation) { - skipWhitespace (); - c = readCh (); - unread (c); - if (c == '"' || c == '\'') { - ids [1] = readLiteral (flags); - } - } else { - requireWhitespace (); - ids [1] = readLiteral (flags); - } - - for (int i = 0; i < ids [0].length (); i++) { - c = ids [0].charAt (i); - if (c >= 'a' && c <= 'z') - continue; - if (c >= 'A' && c <= 'Z') - continue; - if (" \r\n0123456789-' ()+,./:=?;!*#@$_%".indexOf (c) != -1) - continue; - error ("illegal PUBLIC id character U+" - + Integer.toHexString (c)); - } - } else if (tryRead ("SYSTEM")) { - requireWhitespace (); - ids [1] = readLiteral (flags); - } else if (!isSubset) - error ("missing SYSTEM or PUBLIC keyword"); - - if (ids [1] != null) { - if (ids [1].indexOf ('#') != -1) - handler.verror ("SYSTEM id has a URI fragment: " + ids [1]); - ids [2] = handler.getSystemId (); - if (ids [2] == null) - handler.warn ("No base URI; hope URI is absolute: " - + ids [1]); - } - - return ids; - } - - - /** - * Test if a character is whitespace. - *
-     * [3] S ::= (#x20 | #x9 | #xd | #xa)+
-     * 
- * @param c The character to test. - * @return true if the character is whitespace. - */ - private final boolean isWhitespace (char c) - { - if (c > 0x20) - return false; - if (c == 0x20 || c == 0x0a || c == 0x09 || c == 0x0d) - return true; - return false; // illegal ... - } - - - ////////////////////////////////////////////////////////////////////// - // Utility routines. - ////////////////////////////////////////////////////////////////////// - - - /** - * Add a character to the data buffer. - */ - private void dataBufferAppend (char c) - { - // Expand buffer if necessary. - if (dataBufferPos >= dataBuffer.length) - dataBuffer = - (char[]) extendArray (dataBuffer, - dataBuffer.length, dataBufferPos); - dataBuffer [dataBufferPos++] = c; - } - - - /** - * Add a string to the data buffer. - */ - private void dataBufferAppend (String s) - { - dataBufferAppend (s.toCharArray (), 0, s.length ()); - } - - - /** - * Append (part of) a character array to the data buffer. - */ - private void dataBufferAppend (char ch[], int start, int length) - { - dataBuffer = (char[]) - extendArray (dataBuffer, dataBuffer.length, - dataBufferPos + length); - - System.arraycopy (ch, start, dataBuffer, dataBufferPos, length); - dataBufferPos += length; - } - - - /** - * Normalise space characters in the data buffer. - */ - private void dataBufferNormalize () - { - int i = 0; - int j = 0; - int end = dataBufferPos; - - // Skip spaces at the start. - while (j < end && dataBuffer [j] == ' ') { - j++; - } - - // Skip whitespace at the end. - while (end > j && dataBuffer [end - 1] == ' ') { - end --; - } - - // Start copying to the left. - while (j < end) { - - char c = dataBuffer [j++]; - - // Normalise all other spaces to - // a single space. - if (c == ' ') { - while (j < end && dataBuffer [j++] == ' ') - continue; - dataBuffer [i++] = ' '; - dataBuffer [i++] = dataBuffer [j - 1]; - } else { - dataBuffer [i++] = c; - } - } - - // The new length is <= the old one. - dataBufferPos = i; - } - - - /** - * Convert the data buffer to a string. - */ - private String dataBufferToString () - { - String s = new String (dataBuffer, 0, dataBufferPos); - dataBufferPos = 0; - return s; - } - - - /** - * Flush the contents of the data buffer to the handler, as - * appropriate, and reset the buffer for new input. - */ - private void dataBufferFlush () - throws SAXException - { - if (currentElementContent == CONTENT_ELEMENTS - && dataBufferPos > 0 - && !inCDATA - ) { - // We can't just trust the buffer to be whitespace, there - // are (error) cases when it isn't - for (int i = 0; i < dataBufferPos; i++) { - if (!isWhitespace (dataBuffer [i])) { - handler.charData (dataBuffer, 0, dataBufferPos); - dataBufferPos = 0; - } - } - if (dataBufferPos > 0) { - handler.ignorableWhitespace (dataBuffer, 0, dataBufferPos); - dataBufferPos = 0; - } - } else if (dataBufferPos > 0) { - handler.charData (dataBuffer, 0, dataBufferPos); - dataBufferPos = 0; - } - } - - - /** - * Require a string to appear, or throw an exception. - *

Precondition: Entity expansion is not required. - *

Precondition: data buffer has no characters that - * will get sent to the application. - */ - private void require (String delim) - throws SAXException, IOException - { - int length = delim.length (); - char ch []; - - if (length < dataBuffer.length) { - ch = dataBuffer; - delim.getChars (0, length, ch, 0); - } else - ch = delim.toCharArray (); - - if (USE_CHEATS - && length <= (readBufferLength - readBufferPos)) { - int offset = readBufferPos; - - for (int i = 0; i < length; i++, offset++) - if (ch [i] != readBuffer [offset]) - error ("required string", null, delim); - readBufferPos = offset; - - } else { - for (int i = 0; i < length; i++) - require (ch [i]); - } - } - - - /** - * Require a character to appear, or throw an exception. - */ - private void require (char delim) - throws SAXException, IOException - { - char c = readCh (); - - if (c != delim) { - error ("required character", c, new Character (delim).toString ()); - } - } - - - /** - * Create an interned string from a character array. - * Ælfred uses this method to create an interned version - * of all names and name tokens, so that it can test equality - * with == instead of String.equals (). - * - *

This is much more efficient than constructing a non-interned - * string first, and then interning it. - * - * @param ch an array of characters for building the string. - * @param start the starting position in the array. - * @param length the number of characters to place in the string. - * @return an interned string. - * @see #intern (String) - * @see java.lang.String#intern - */ - public String intern (char ch[], int start, int length) - { - int index = 0; - int hash = 0; - Object bucket []; - - // Generate a hash code. This is a widely used string hash, - // often attributed to Brian Kernighan. - for (int i = start; i < start + length; i++) - hash = 31 * hash + ch [i]; - hash = (hash & 0x7fffffff) % SYMBOL_TABLE_LENGTH; - - // Get the bucket -- consists of {array,String} pairs - if ((bucket = symbolTable [hash]) == null) { - // first string in this bucket - bucket = new Object [8]; - - // Search for a matching tuple, and - // return the string if we find one. - } else { - while (index < bucket.length) { - char chFound [] = (char []) bucket [index]; - - // Stop when we hit an empty entry. - if (chFound == null) - break; - - // If they're the same length, check for a match. - if (chFound.length == length) { - for (int i = 0; i < chFound.length; i++) { - // continue search on failure - if (ch [start + i] != chFound [i]) { - break; - } else if (i == length - 1) { - // That's it, we have a match! - return (String) bucket [index + 1]; - } - } - } - index += 2; - } - // Not found -- we'll have to add it. - - // Do we have to grow the bucket? - bucket = (Object []) extendArray (bucket, bucket.length, index); - } - symbolTable [hash] = bucket; - - // OK, add it to the end of the bucket -- "local" interning. - // Intern "globally" to let applications share interning benefits. - // That is, "!=" and "==" work on our strings, not just equals(). - String s = new String (ch, start, length).intern (); - bucket [index] = s.toCharArray (); - bucket [index + 1] = s; - return s; - } - - /** - * Ensure the capacity of an array, allocating a new one if - * necessary. Usually extends only for name hash collisions. - */ - private Object extendArray (Object array, int currentSize, int requiredSize) - { - if (requiredSize < currentSize) { - return array; - } else { - Object newArray = null; - int newSize = currentSize * 2; - - if (newSize <= requiredSize) - newSize = requiredSize + 1; - - if (array instanceof char[]) - newArray = new char [newSize]; - else if (array instanceof Object[]) - newArray = new Object [newSize]; - else - throw new RuntimeException (); - - System.arraycopy (array, 0, newArray, 0, currentSize); - return newArray; - } - } - - - ////////////////////////////////////////////////////////////////////// - // XML query routines. - ////////////////////////////////////////////////////////////////////// - - - boolean isStandalone () { return docIsStandalone; } - - - // - // Elements - // - - private int getContentType (Object element [], int defaultType) - { - int retval; - - if (element == null) - return defaultType; - retval = ((Integer) element [0]).intValue (); - if (retval == CONTENT_UNDECLARED) - retval = defaultType; - return retval; - } + { + char c; + ExternalIdentifiers ids = new ExternalIdentifiers(); + int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF; + + if (tryRead("PUBLIC")) + { + requireWhitespace(); + ids.publicId = readLiteral(LIT_NORMALIZE | LIT_PUBID | flags); + if (inNotation) + { + skipWhitespace(); + c = readCh(); + unread(c); + if (c == '"' || c == '\'') + { + ids.systemId = readLiteral(flags); + } + } + else + { + requireWhitespace(); + ids.systemId = readLiteral(flags); + } + + for (int i = 0; i < ids.publicId.length(); i++) + { + c = ids.publicId.charAt(i); + if (c >= 'a' && c <= 'z') + { + continue; + } + if (c >= 'A' && c <= 'Z') + { + continue; + } + if (" \r\n0123456789-' ()+,./:=?;!*#@$_%".indexOf(c) != -1) + { + continue; + } + error("illegal PUBLIC id character U+" + + Integer.toHexString(c)); + } + } + else if (tryRead("SYSTEM")) + { + requireWhitespace(); + ids.systemId = readLiteral(flags); + } + else if (!isSubset) + { + error("missing SYSTEM or PUBLIC keyword"); + } + + if (ids.systemId != null) + { + if (ids.systemId.indexOf('#') != -1) + { + handler.verror("SYSTEM id has an URI fragment: " + ids.systemId); + } + ids.baseUri = handler.getSystemId(); + if (ids.baseUri == null && uriWarnings) + { + handler.warn("No base URI; hope URI is absolute: " + + ids.systemId); + } + } + + return ids; + } + /** + * Test if a character is whitespace. + *

+   * [3] S ::= (#x20 | #x9 | #xd | #xa)+
+   * 
+ * @param c The character to test. + * @return true if the character is whitespace. + */ + private final boolean isWhitespace(char c) + { + if (c > 0x20) + { + return false; + } + if (c == 0x20 || c == 0x0a || c == 0x09 || c == 0x0d) + { + return true; + } + return false; // illegal ... + } - /** - * Look up the content type of an element. - * @param name The element type name. - * @return An integer constant representing the content type. - * @see #CONTENT_UNDECLARED - * @see #CONTENT_ANY - * @see #CONTENT_EMPTY - * @see #CONTENT_MIXED - * @see #CONTENT_ELEMENTS - */ - public int getElementContentType (String name) - { - Object element [] = (Object []) elementInfo.get (name); - return getContentType (element, CONTENT_UNDECLARED); - } + ////////////////////////////////////////////////////////////////////// + // Utility routines. + ////////////////////////////////////////////////////////////////////// + + /** + * Add a character to the data buffer. + */ + private void dataBufferAppend(char c) + { + // Expand buffer if necessary. + if (dataBufferPos >= dataBuffer.length) + { + dataBuffer = (char[]) extendArray(dataBuffer, + dataBuffer.length, dataBufferPos); + } + dataBuffer[dataBufferPos++] = c; + } + /** + * Add a string to the data buffer. + */ + private void dataBufferAppend(String s) + { + dataBufferAppend(s.toCharArray(), 0, s.length()); + } - /** - * Register an element. - * Array format: - * [0] element type name - * [1] content model (mixed, elements only) - * [2] attribute hash table - */ - private void setElement ( - String name, - int contentType, - String contentModel, - Hashtable attributes - ) throws SAXException - { - if (skippedPE) - return; - - Object element [] = (Object []) elementInfo.get (name); - - // first or for this type? - if (element == null) { - element = new Object [3]; - element [0] = new Integer (contentType); - element [1] = contentModel; - element [2] = attributes; - elementInfo.put (name, element); - return; - } - - // declaration? - if (contentType != CONTENT_UNDECLARED) { - // ... following an associated - if (((Integer) element [0]).intValue () == CONTENT_UNDECLARED) { - element [0] = new Integer (contentType); - element [1] = contentModel; - } else - // VC: Unique Element Type Declaration - handler.verror ("multiple declarations for element type: " - + name); - } - - // first , before ? - else if (attributes != null) - element [2] = attributes; - } + /** + * Append (part of) a character array to the data buffer. + */ + private void dataBufferAppend(char[] ch, int start, int length) + { + dataBuffer = (char[]) extendArray(dataBuffer, dataBuffer.length, + dataBufferPos + length); + + System.arraycopy(ch, start, dataBuffer, dataBufferPos, length); + dataBufferPos += length; + } + /** + * Normalise space characters in the data buffer. + */ + private void dataBufferNormalize() + { + int i = 0; + int j = 0; + int end = dataBufferPos; + + // Skip spaces at the start. + while (j < end && dataBuffer[j] == ' ') + { + j++; + } + + // Skip whitespace at the end. + while (end > j && dataBuffer[end - 1] == ' ') + { + end --; + } - /** - * Look up the attribute hash table for an element. - * The hash table is the second item in the element array. - */ - private Hashtable getElementAttributes (String name) - { - Object element[] = (Object[]) elementInfo.get (name); - if (element == null) - return null; - else - return (Hashtable) element [2]; - } + // Start copying to the left. + while (j < end) + { + + char c = dataBuffer[j++]; + + // Normalise all other spaces to + // a single space. + if (c == ' ') + { + while (j < end && dataBuffer[j++] == ' ') + { + continue; + } + dataBuffer[i++] = ' '; + dataBuffer[i++] = dataBuffer[j - 1]; + } + else + { + dataBuffer[i++] = c; + } + } + + // The new length is <= the old one. + dataBufferPos = i; + } + /** + * Convert the data buffer to a string. + */ + private String dataBufferToString() + { + String s = new String(dataBuffer, 0, dataBufferPos); + dataBufferPos = 0; + return s; + } + /** + * Flush the contents of the data buffer to the handler, as + * appropriate, and reset the buffer for new input. + */ + private void dataBufferFlush() + throws SAXException + { + if (currentElementContent == CONTENT_ELEMENTS + && dataBufferPos > 0 + && !inCDATA) + { + // We can't just trust the buffer to be whitespace, there + // are (error) cases when it isn't + for (int i = 0; i < dataBufferPos; i++) + { + if (!isWhitespace(dataBuffer[i])) + { + handler.charData(dataBuffer, 0, dataBufferPos); + dataBufferPos = 0; + } + } + if (dataBufferPos > 0) + { + handler.ignorableWhitespace(dataBuffer, 0, dataBufferPos); + dataBufferPos = 0; + } + } + else if (dataBufferPos > 0) + { + handler.charData(dataBuffer, 0, dataBufferPos); + dataBufferPos = 0; + } + } - // - // Attributes - // + /** + * Require a string to appear, or throw an exception. + *

Precondition: Entity expansion is not required. + *

Precondition: data buffer has no characters that + * will get sent to the application. + */ + private void require(String delim) + throws SAXException, IOException + { + int length = delim.length(); + char[] ch; + + if (length < dataBuffer.length) + { + ch = dataBuffer; + delim.getChars(0, length, ch, 0); + } + else + { + ch = delim.toCharArray(); + } + + if (USE_CHEATS && length <= (readBufferLength - readBufferPos)) + { + int offset = readBufferPos; + + for (int i = 0; i < length; i++, offset++) + { + if (ch[i] != readBuffer[offset]) + { + error ("required string", null, delim); + } + } + readBufferPos = offset; + + } + else + { + for (int i = 0; i < length; i++) + { + require(ch[i]); + } + } + } - /** - * Get the declared attributes for an element type. - * @param elname The name of the element type. - * @return An Enumeration of all the attributes declared for - * a specific element type. The results will be valid only - * after the DTD (if any) has been parsed. - * @see #getAttributeType - * @see #getAttributeEnumeration - * @see #getAttributeDefaultValueType - * @see #getAttributeDefaultValue - * @see #getAttributeExpandedValue - */ - private Enumeration declaredAttributes (Object element []) - { - Hashtable attlist; + /** + * Require a character to appear, or throw an exception. + */ + private void require(char delim) + throws SAXException, IOException + { + char c = readCh(); + + if (c != delim) + { + error("required character", c, new Character(delim).toString()); + } + } + + /** + * Create an interned string from a character array. + * Ælfred uses this method to create an interned version + * of all names and name tokens, so that it can test equality + * with == instead of String.equals (). + * + *

This is much more efficient than constructing a non-interned + * string first, and then interning it. + * + * @param ch an array of characters for building the string. + * @param start the starting position in the array. + * @param length the number of characters to place in the string. + * @return an interned string. + * @see #intern (String) + * @see java.lang.String#intern + */ + public String intern(char[] ch, int start, int length) + { + int index = 0; + int hash = 0; + Object[] bucket; + + // Generate a hash code. This is a widely used string hash, + // often attributed to Brian Kernighan. + for (int i = start; i < start + length; i++) + { + hash = 31 * hash + ch[i]; + } + hash = (hash & 0x7fffffff) % SYMBOL_TABLE_LENGTH; + + // Get the bucket -- consists of {array,String} pairs + if ((bucket = symbolTable[hash]) == null) + { + // first string in this bucket + bucket = new Object[8]; + + // Search for a matching tuple, and + // return the string if we find one. + } + else + { + while (index < bucket.length) + { + char[] chFound = (char[]) bucket[index]; + + // Stop when we hit an empty entry. + if (chFound == null) + { + break; + } + + // If they're the same length, check for a match. + if (chFound.length == length) + { + for (int i = 0; i < chFound.length; i++) + { + // continue search on failure + if (ch[start + i] != chFound[i]) + { + break; + } + else if (i == length - 1) + { + // That's it, we have a match! + return (String) bucket[index + 1]; + } + } + } + index += 2; + } + // Not found -- we'll have to add it. + + // Do we have to grow the bucket? + bucket = (Object[]) extendArray(bucket, bucket.length, index); + } + symbolTable[hash] = bucket; + + // OK, add it to the end of the bucket -- "local" interning. + // Intern "globally" to let applications share interning benefits. + // That is, "!=" and "==" work on our strings, not just equals(). + String s = new String(ch, start, length).intern(); + bucket[index] = s.toCharArray(); + bucket[index + 1] = s; + return s; + } - if (element == null) - return null; - if ((attlist = (Hashtable) element [2]) == null) - return null; - return attlist.keys (); - } + /** + * Ensure the capacity of an array, allocating a new one if + * necessary. Usually extends only for name hash collisions. + */ + private Object extendArray(Object array, int currentSize, int requiredSize) + { + if (requiredSize < currentSize) + { + return array; + } + else + { + Object newArray = null; + int newSize = currentSize * 2; + + if (newSize <= requiredSize) + { + newSize = requiredSize + 1; + } + + if (array instanceof char[]) + { + newArray = new char[newSize]; + } + else if (array instanceof Object[]) + { + newArray = new Object[newSize]; + } + else + { + throw new RuntimeException(); + } + + System.arraycopy(array, 0, newArray, 0, currentSize); + return newArray; + } + } - /** - * Get the declared attributes for an element type. - * @param elname The name of the element type. - * @return An Enumeration of all the attributes declared for - * a specific element type. The results will be valid only - * after the DTD (if any) has been parsed. - * @see #getAttributeType - * @see #getAttributeEnumeration - * @see #getAttributeDefaultValueType - * @see #getAttributeDefaultValue - * @see #getAttributeExpandedValue - */ - public Enumeration declaredAttributes (String elname) - { - return declaredAttributes ((Object []) elementInfo.get (elname)); - } + ////////////////////////////////////////////////////////////////////// + // XML query routines. + ////////////////////////////////////////////////////////////////////// + + boolean isStandalone() + { + return docIsStandalone; + } + + // + // Elements + // + + private int getContentType(ElementDecl element, int defaultType) + { + int retval; + + if (element == null) + { + return defaultType; + } + retval = element.contentType; + if (retval == CONTENT_UNDECLARED) + { + retval = defaultType; + } + return retval; + } + + /** + * Look up the content type of an element. + * @param name The element type name. + * @return An integer constant representing the content type. + * @see #CONTENT_UNDECLARED + * @see #CONTENT_ANY + * @see #CONTENT_EMPTY + * @see #CONTENT_MIXED + * @see #CONTENT_ELEMENTS + */ + public int getElementContentType(String name) + { + ElementDecl element = (ElementDecl) elementInfo.get(name); + return getContentType(element, CONTENT_UNDECLARED); + } + + /** + * Register an element. + * Array format: + * [0] element type name + * [1] content model (mixed, elements only) + * [2] attribute hash table + */ + private void setElement(String name, int contentType, + String contentModel, HashMap attributes) + throws SAXException + { + if (skippedPE) + { + return; + } + ElementDecl element = (ElementDecl) elementInfo.get(name); + + // first or for this type? + if (element == null) + { + element = new ElementDecl(); + element.contentType = contentType; + element.contentModel = contentModel; + element.attributes = attributes; + elementInfo.put(name, element); + return; + } + + // declaration? + if (contentType != CONTENT_UNDECLARED) + { + // ... following an associated + if (element.contentType == CONTENT_UNDECLARED) + { + element.contentType = contentType; + element.contentModel = contentModel; + } + else + { + // VC: Unique Element Type Declaration + handler.verror("multiple declarations for element type: " + + name); + } + } + + // first , before ? + else if (attributes != null) + { + element.attributes = attributes; + } + } + + /** + * Look up the attribute hash table for an element. + * The hash table is the second item in the element array. + */ + private HashMap getElementAttributes(String name) + { + ElementDecl element = (ElementDecl) elementInfo.get(name); + return (element == null) ? null : element.attributes; + } - /** - * Retrieve the declared type of an attribute. - * @param name The name of the associated element. - * @param aname The name of the attribute. - * @return An interend string denoting the type, or null - * indicating an undeclared attribute. - */ - public String getAttributeType (String name, String aname) - { - Object attribute[] = getAttribute (name, aname); - if (attribute == null) { - return null; - } else { - return (String) attribute [0]; - } - } + // + // Attributes + // + + /** + * Get the declared attributes for an element type. + * @param elname The name of the element type. + * @return An iterator over all the attributes declared for + * a specific element type. The results will be valid only + * after the DTD (if any) has been parsed. + * @see #getAttributeType + * @see #getAttributeEnumeration + * @see #getAttributeDefaultValueType + * @see #getAttributeDefaultValue + * @see #getAttributeExpandedValue + */ + private Iterator declaredAttributes(ElementDecl element) + { + HashMap attlist; + + if (element == null) + { + return null; + } + if ((attlist = element.attributes) == null) + { + return null; + } + return attlist.keySet().iterator(); + } + /** + * Get the declared attributes for an element type. + * @param elname The name of the element type. + * @return An iterator over all the attributes declared for + * a specific element type. The results will be valid only + * after the DTD (if any) has been parsed. + * @see #getAttributeType + * @see #getAttributeEnumeration + * @see #getAttributeDefaultValueType + * @see #getAttributeDefaultValue + * @see #getAttributeExpandedValue + */ + public Iterator declaredAttributes(String elname) + { + return declaredAttributes((ElementDecl) elementInfo.get(elname)); + } - /** - * Retrieve the allowed values for an enumerated attribute type. - * @param name The name of the associated element. - * @param aname The name of the attribute. - * @return A string containing the token list. - */ - public String getAttributeEnumeration (String name, String aname) - { - Object attribute[] = getAttribute (name, aname); - if (attribute == null) { - return null; - } else { - // assert: attribute [0] is "ENUMERATION" or "NOTATION" - return (String) attribute [3]; - } - } + /** + * Retrieve the declared type of an attribute. + * @param name The name of the associated element. + * @param aname The name of the attribute. + * @return An interend string denoting the type, or null + * indicating an undeclared attribute. + */ + public String getAttributeType(String name, String aname) + { + AttributeDecl attribute = getAttribute(name, aname); + return (attribute == null) ? null : attribute.type; + } + /** + * Retrieve the allowed values for an enumerated attribute type. + * @param name The name of the associated element. + * @param aname The name of the attribute. + * @return A string containing the token list. + */ + public String getAttributeEnumeration(String name, String aname) + { + AttributeDecl attribute = getAttribute(name, aname); + // assert: attribute.enumeration is "ENUMERATION" or "NOTATION" + return (attribute == null) ? null : attribute.enumeration; + } - /** - * Retrieve the default value of a declared attribute. - * @param name The name of the associated element. - * @param aname The name of the attribute. - * @return The default value, or null if the attribute was - * #IMPLIED or simply undeclared and unspecified. - * @see #getAttributeExpandedValue - */ - public String getAttributeDefaultValue (String name, String aname) - { - Object attribute[] = getAttribute (name, aname); - if (attribute == null) { - return null; - } else { - return (String) attribute [1]; - } - } + /** + * Retrieve the default value of a declared attribute. + * @param name The name of the associated element. + * @param aname The name of the attribute. + * @return The default value, or null if the attribute was + * #IMPLIED or simply undeclared and unspecified. + * @see #getAttributeExpandedValue + */ + public String getAttributeDefaultValue(String name, String aname) + { + AttributeDecl attribute = getAttribute(name, aname); + return (attribute == null) ? null : attribute.value; + } /* @@ -3325,1789 +3940,1896 @@ loop: * @param name The name of the associated element. * @param aname The name of the attribute. * @return The expanded default value, or null if the attribute was - * #IMPLIED or simply undeclared + * #IMPLIED or simply undeclared * @see #getAttributeDefaultValue public String getAttributeExpandedValue (String name, String aname) throws Exception { - Object attribute[] = getAttribute (name, aname); - - if (attribute == null) { - return null; - } else if (attribute [4] == null && attribute [1] != null) { - // we MUST use the same buf for both quotes else the literal - // can't be properly terminated - char buf [] = new char [1]; - int flags = LIT_ENTITY_REF | LIT_ATTRIBUTE; - String type = getAttributeType (name, aname); - - if (type != "CDATA" && type != null) - flags |= LIT_NORMALIZE; - buf [0] = '"'; - pushCharArray (null, buf, 0, 1); - pushString (null, (String) attribute [1]); - pushCharArray (null, buf, 0, 1); - attribute [4] = readLiteral (flags); - } - return (String) attribute [4]; + AttributeDecl attribute = getAttribute (name, aname); + + if (attribute == null) { + return null; + } else if (attribute.defaultValue == null && attribute.value != null) { + // we MUST use the same buf for both quotes else the literal + // can't be properly terminated + char buf [] = new char [1]; + int flags = LIT_ENTITY_REF | LIT_ATTRIBUTE; + String type = getAttributeType (name, aname); + + if (type != "CDATA" && type != null) + flags |= LIT_NORMALIZE; + buf [0] = '"'; + pushCharArray (null, buf, 0, 1); + pushString (null, attribute.value); + pushCharArray (null, buf, 0, 1); + attribute.defaultValue = readLiteral (flags); + } + return attribute.defaultValue; } */ - /** - * Retrieve the default value mode of a declared attribute. - * @see #ATTRIBUTE_DEFAULT_SPECIFIED - * @see #ATTRIBUTE_DEFAULT_IMPLIED - * @see #ATTRIBUTE_DEFAULT_REQUIRED - * @see #ATTRIBUTE_DEFAULT_FIXED - */ - public int getAttributeDefaultValueType (String name, String aname) - { - Object attribute[] = getAttribute (name, aname); - if (attribute == null) { - return ATTRIBUTE_DEFAULT_UNDECLARED; - } else { - return ((Integer) attribute [2]).intValue (); - } - } - - - /** - * Register an attribute declaration for later retrieval. - * Format: - * - String type - * - String default value - * - int value type - * - enumeration - * - processed default value - */ - private void setAttribute (String elName, String name, String type, - String enumeration, - String value, int valueType) + /** + * Retrieve the default value mode of a declared attribute. + * @see #ATTRIBUTE_DEFAULT_SPECIFIED + * @see #ATTRIBUTE_DEFAULT_IMPLIED + * @see #ATTRIBUTE_DEFAULT_REQUIRED + * @see #ATTRIBUTE_DEFAULT_FIXED + */ + public int getAttributeDefaultValueType(String name, String aname) + { + AttributeDecl attribute = getAttribute(name, aname); + return (attribute == null) ? ATTRIBUTE_DEFAULT_UNDECLARED : + attribute.valueType; + } + + /** + * Register an attribute declaration for later retrieval. + * Format: + * - String type + * - String default value + * - int value type + * - enumeration + * - processed default value + */ + private void setAttribute(String elName, String name, String type, + String enumeration, String value, int valueType) throws Exception - { - Hashtable attlist; - - if (skippedPE) - return; - - // Create a new hashtable if necessary. - attlist = getElementAttributes (elName); - if (attlist == null) - attlist = new Hashtable (); - - // ignore multiple attribute declarations! - if (attlist.get (name) != null) { - // warn ... - return; - } else { - Object attribute [] = new Object [5]; - attribute [0] = type; - attribute [1] = value; - attribute [2] = new Integer (valueType); - attribute [3] = enumeration; - attribute [4] = null; - attlist.put (name, attribute); - - // save; but don't overwrite any existing - setElement (elName, CONTENT_UNDECLARED, null, attlist); - } - } + { + HashMap attlist; + + if (skippedPE) + { + return; + } + + // Create a new hashtable if necessary. + attlist = getElementAttributes(elName); + if (attlist == null) + { + attlist = new HashMap(); + } + + // ignore multiple attribute declarations! + if (attlist.get(name) != null) + { + // warn ... + return; + } + else + { + AttributeDecl attribute = new AttributeDecl(); + attribute.type = type; + attribute.value = value; + attribute.valueType = valueType; + attribute.enumeration = enumeration; + attlist.put(name, attribute); + + // save; but don't overwrite any existing + setElement(elName, CONTENT_UNDECLARED, null, attlist); + } + } + /** + * Retrieve the attribute declaration for the given element name and name. + */ + private AttributeDecl getAttribute(String elName, String name) + { + HashMap attlist = getElementAttributes(elName); + return (attlist == null) ? null : (AttributeDecl) attlist.get(name); + } - /** - * Retrieve the array representing an attribute declaration. - */ - private Object[] getAttribute (String elName, String name) - { - Hashtable attlist; + // + // Entities + // + + /** + * Find the type of an entity. + * @returns An integer constant representing the entity type. + * @see #ENTITY_UNDECLARED + * @see #ENTITY_INTERNAL + * @see #ENTITY_NDATA + * @see #ENTITY_TEXT + */ + public int getEntityType(String ename) + { + EntityInfo entity = (EntityInfo) entityInfo.get(ename); + return (entity == null) ? ENTITY_UNDECLARED : entity.type; + } - attlist = getElementAttributes (elName); - if (attlist == null) - return null; - return (Object[]) attlist.get (name); - } + /** + * Return an external entity's identifiers. + * @param ename The name of the external entity. + * @return The entity's public identifier, system identifier, and base URI. + * Null if the entity was not declared as an external entity. + * @see #getEntityType + */ + public ExternalIdentifiers getEntityIds(String ename) + { + EntityInfo entity = (EntityInfo) entityInfo.get(ename); + return (entity == null) ? null : entity.ids; + } + /** + * Return an internal entity's replacement text. + * @param ename The name of the internal entity. + * @return The entity's replacement text, or null if + * the entity was not declared as an internal entity. + * @see #getEntityType + */ + public String getEntityValue(String ename) + { + EntityInfo entity = (EntityInfo) entityInfo.get(ename); + return (entity == null) ? null : entity.value; + } - // - // Entities - // + /** + * Register an entity declaration for later retrieval. + */ + private void setInternalEntity(String eName, String value) + throws SAXException + { + if (skippedPE) + { + return; + } - /** - * Find the type of an entity. - * @returns An integer constant representing the entity type. - * @see #ENTITY_UNDECLARED - * @see #ENTITY_INTERNAL - * @see #ENTITY_NDATA - * @see #ENTITY_TEXT - */ - public int getEntityType (String ename) - { - Object entity[] = (Object[]) entityInfo.get (ename); - if (entity == null) { - return ENTITY_UNDECLARED; - } else { - return ((Integer) entity [0]).intValue (); - } - } + if (entityInfo.get(eName) == null) + { + EntityInfo entity = new EntityInfo(); + entity.type = ENTITY_INTERNAL; + entity.value = value; + entityInfo.put(eName, entity); + } + if (handler.stringInterning) + { + if ("lt" == eName || "gt" == eName || "quot" == eName + || "apos" == eName || "amp" == eName) + { + return; + } + } + else + { + if ("lt".equals(eName) || "gt".equals(eName) || "quot".equals(eName) + || "apos".equals(eName) || "amp".equals(eName)) + { + return; + } + } + handler.getDeclHandler().internalEntityDecl(eName, value); + } + /** + * Register an external entity declaration for later retrieval. + */ + private void setExternalEntity(String eName, int eClass, + ExternalIdentifiers ids, String nName) + { + if (entityInfo.get(eName) == null) + { + EntityInfo entity = new EntityInfo(); + entity.type = eClass; + entity.ids = ids; + entity.notationName = nName; + entityInfo.put(eName, entity); + } + } - /** - * Return an external entity's identifier array. - * @param ename The name of the external entity. - * @return Three element array containing (in order) the entity's - * public identifier, system identifier, and base URI. Null if - * the entity was not declared as an external entity. - * @see #getEntityType - */ - public String [] getEntityIds (String ename) - { - Object entity[] = (Object[]) entityInfo.get (ename); - if (entity == null) { - return null; - } else { - return (String []) entity [1]; - } - } + // + // Notations. + // + + /** + * Report a notation declaration, checking for duplicates. + */ + private void setNotation(String nname, ExternalIdentifiers ids) + throws SAXException + { + if (skippedPE) + { + return; + } + + handler.notationDecl(nname, ids.publicId, ids.systemId, ids.baseUri); + if (notationInfo.get(nname) == null) + { + notationInfo.put(nname, nname); + } + else + { + // VC: Unique Notation Name + handler.verror("Duplicate notation name decl: " + nname); + } + } + + // + // Location. + // + + /** + * Return the current line number. + */ + public int getLineNumber() + { + return line; + } + + /** + * Return the current column number. + */ + public int getColumnNumber() + { + return column; + } + ////////////////////////////////////////////////////////////////////// + // High-level I/O. + ////////////////////////////////////////////////////////////////////// + + /** + * Read a single character from the readBuffer. + *

The readDataChunk () method maintains the buffer. + *

If we hit the end of an entity, try to pop the stack and + * keep going. + *

(This approach doesn't really enforce XML's rules about + * entity boundaries, but this is not currently a validating + * parser). + *

This routine also attempts to keep track of the current + * position in external entities, but it's not entirely accurate. + * @return The next available input character. + * @see #unread (char) + * @see #readDataChunk + * @see #readBuffer + * @see #line + * @return The next character from the current input source. + */ + private char readCh() + throws SAXException, IOException + { + // As long as there's nothing in the + // read buffer, try reading more data + // (for an external entity) or popping + // the entity stack (for either). + while (readBufferPos >= readBufferLength) + { + switch (sourceType) + { + case INPUT_READER: + case INPUT_STREAM: + readDataChunk(); + while (readBufferLength < 1) + { + popInput(); + if (readBufferLength < 1) + { + readDataChunk(); + } + } + break; + + default: + + popInput(); + break; + } + } + + char c = readBuffer[readBufferPos++]; + + if (c == '\n') + { + line++; + column = 0; + } + else + { + if (c == '<') + { + /* the most common return to parseContent () ... NOP */ + } + else if (((c < 0x0020 && (c != '\t') && (c != '\r')) || c > 0xFFFD) + || ((c >= 0x007f) && (c <= 0x009f) && (c != 0x0085) + && xmlVersion == XML_11)) + { + error("illegal XML character U+" + Integer.toHexString(c)); + } - /** - * Return an internal entity's replacement text. - * @param ename The name of the internal entity. - * @return The entity's replacement text, or null if - * the entity was not declared as an internal entity. - * @see #getEntityType - */ - public String getEntityValue (String ename) - { - Object entity[] = (Object[]) entityInfo.get (ename); - if (entity == null) { - return null; - } else { - return (String) entity [3]; - } - } + // If we're in the DTD and in a context where PEs get expanded, + // do so ... 1/14/2000 errata identify those contexts. There + // are also spots in the internal subset where PE refs are fatal + // errors, hence yet another flag. + else if (c == '%' && expandPE) + { + if (peIsError) + { + error("PE reference within decl in internal subset."); + } + parsePEReference(); + return readCh(); + } + column++; + } + return c; + } - /** - * Register an entity declaration for later retrieval. - */ - private void setInternalEntity (String eName, String value) + /** + * Push a single character back onto the current input stream. + *

This method usually pushes the character back onto + * the readBuffer. + *

I don't think that this would ever be called with + * readBufferPos = 0, because the methods always reads a character + * before unreading it, but just in case, I've added a boundary + * condition. + * @param c The character to push back. + * @see #readCh + * @see #unread (char[]) + * @see #readBuffer + */ + private void unread(char c) throws SAXException - { - if (skippedPE) - return; - - if (entityInfo.get (eName) == null) { - Object entity[] = new Object [5]; - entity [0] = new Integer (ENTITY_INTERNAL); -// FIXME: shrink!! [2] useless - entity [3] = value; - entityInfo.put (eName, entity); - } - if (handler.getFeature (SAXDriver.FEATURE + "string-interning")) { - if ("lt" == eName || "gt" == eName || "quot" == eName - || "apos" == eName || "amp" == eName) - return; - } else { - if ("lt".equals(eName) || "gt".equals(eName) || "quot".equals(eName) - || "apos".equals(eName) || "amp".equals(eName)) - return; + { + // Normal condition. + if (c == '\n') + { + line--; + column = -1; + } + if (readBufferPos > 0) + { + readBuffer[--readBufferPos] = c; + } + else + { + pushString(null, new Character(c).toString()); + } } - handler.getDeclHandler () - .internalEntityDecl (eName, value); - } - - - /** - * Register an external entity declaration for later retrieval. - */ - private void setExternalEntity (String eName, int eClass, - String ids [], String nName) - { - if (entityInfo.get (eName) == null) { - Object entity[] = new Object [5]; - entity [0] = new Integer (eClass); - entity [1] = ids; -// FIXME: shrink!! [2] no longer used, [4] irrelevant given [0] - entity [4] = nName; - entityInfo.put (eName, entity); - } - } - - - // - // Notations. - // - /** - * Report a notation declaration, checking for duplicates. - */ - private void setNotation (String nname, String ids []) + /** + * Push a char array back onto the current input stream. + *

NOTE: you must never push back characters that you + * haven't actually read: use pushString () instead. + * @see #readCh + * @see #unread (char) + * @see #readBuffer + * @see #pushString + */ + private void unread(char[] ch, int length) throws SAXException - { - if (skippedPE) - return; - - handler.notationDecl (nname, ids); - if (notationInfo.get (nname) == null) - notationInfo.put (nname, nname); - else - // VC: Unique Notation Name - handler.verror ("Duplicate notation name decl: " + nname); - } - - - // - // Location. - // - - - /** - * Return the current line number. - */ - public int getLineNumber () - { - return line; - } - - - /** - * Return the current column number. - */ - public int getColumnNumber () - { - return column; - } - + { + for (int i = 0; i < length; i++) + { + if (ch[i] == '\n') + { + line--; + column = -1; + } + } + if (length < readBufferPos) + { + readBufferPos -= length; + } + else + { + pushCharArray(null, ch, 0, length); + } + } - ////////////////////////////////////////////////////////////////////// - // High-level I/O. - ////////////////////////////////////////////////////////////////////// - - - /** - * Read a single character from the readBuffer. - *

The readDataChunk () method maintains the buffer. - *

If we hit the end of an entity, try to pop the stack and - * keep going. - *

(This approach doesn't really enforce XML's rules about - * entity boundaries, but this is not currently a validating - * parser). - *

This routine also attempts to keep track of the current - * position in external entities, but it's not entirely accurate. - * @return The next available input character. - * @see #unread (char) - * @see #readDataChunk - * @see #readBuffer - * @see #line - * @return The next character from the current input source. - */ - private char readCh () + /** + * Push, or skip, a new external input source. + * The source will be some kind of parsed entity, such as a PE + * (including the external DTD subset) or content for the body. + * + * @param url The java.net.URL object for the entity. + * @see SAXDriver#resolveEntity + * @see #pushString + * @see #sourceType + * @see #pushInput + * @see #detectEncoding + * @see #sourceType + * @see #readBuffer + */ + private void pushURL(boolean isPE, + String ename, + ExternalIdentifiers ids, + Reader reader, + InputStream stream, + String encoding, + boolean doResolve) throws SAXException, IOException - { - // As long as there's nothing in the - // read buffer, try reading more data - // (for an external entity) or popping - // the entity stack (for either). - while (readBufferPos >= readBufferLength) { - switch (sourceType) { - case INPUT_READER: - case INPUT_STREAM: - readDataChunk (); - while (readBufferLength < 1) { - popInput (); - if (readBufferLength < 1) { - readDataChunk (); - } - } - break; - - default: - - popInput (); - break; - } - } - - char c = readBuffer [readBufferPos++]; - - if (c == '\n') { - line++; - column = 0; - } else { - if (c == '<') { - /* the most common return to parseContent () ... NOP */ - } else if (((c < 0x0020 && (c != '\t') && (c != '\r')) || c > 0xFFFD) - || ((c >= 0x007f) && (c <= 0x009f) && (c != 0x0085) - && xmlVersion == XML_11)) - error ("illegal XML character U+" - + Integer.toHexString (c)); - - // If we're in the DTD and in a context where PEs get expanded, - // do so ... 1/14/2000 errata identify those contexts. There - // are also spots in the internal subset where PE refs are fatal - // errors, hence yet another flag. - else if (c == '%' && expandPE) { - if (peIsError) - error ("PE reference within decl in internal subset."); - parsePEReference (); - return readCh (); - } - column++; - } - - return c; - } + { + boolean ignoreEncoding; + String systemId; + InputSource source; + if (!isPE) + { + dataBufferFlush(); + } - /** - * Push a single character back onto the current input stream. - *

This method usually pushes the character back onto - * the readBuffer. - *

I don't think that this would ever be called with - * readBufferPos = 0, because the methods always reads a character - * before unreading it, but just in case, I've added a boundary - * condition. - * @param c The character to push back. - * @see #readCh - * @see #unread (char[]) - * @see #readBuffer - */ - private void unread (char c) - throws SAXException - { - // Normal condition. - if (c == '\n') { - line--; - column = -1; - } - if (readBufferPos > 0) { - readBuffer [--readBufferPos] = c; - } else { - pushString (null, new Character (c).toString ()); - } - } + scratch.setPublicId(ids.publicId); + scratch.setSystemId(ids.systemId); + + // See if we should skip or substitute the entity. + // If we're not skipping, resolving reports startEntity() + // and updates the (handler's) stack of URIs. + if (doResolve) + { + // assert (stream == null && reader == null && encoding == null) + source = handler.resolveEntity(isPE, ename, scratch, ids.baseUri); + if (source == null) + { + handler.warn("skipping entity: " + ename); + handler.skippedEntity(ename); + if (isPE) + { + skippedPE = true; + } + return; + } + // we might be using alternate IDs/encoding + systemId = source.getSystemId(); + // The following warning and setting systemId was deleted bcause + // the application has the option of not setting systemId + // provided that it has set the characte/byte stream. + /* + if (systemId == null) { + handler.warn ("missing system ID, using " + ids.systemId); + systemId = ids.systemId; + } + */ + } + else + { + // "[document]", or "[dtd]" via getExternalSubset() + scratch.setCharacterStream(reader); + scratch.setByteStream(stream); + scratch.setEncoding(encoding); + source = scratch; + systemId = ids.systemId; + if (handler.stringInterning) + { + handler.startExternalEntity(ename, systemId, + "[document]" == ename); + } + else + { + handler.startExternalEntity(ename, systemId, + "[document]".equals(ename)); + } + } - /** - * Push a char array back onto the current input stream. - *

NOTE: you must never push back characters that you - * haven't actually read: use pushString () instead. - * @see #readCh - * @see #unread (char) - * @see #readBuffer - * @see #pushString - */ - private void unread (char ch[], int length) - throws SAXException - { - for (int i = 0; i < length; i++) { - if (ch [i] == '\n') { - line--; - column = -1; - } - } - if (length < readBufferPos) { - readBufferPos -= length; - } else { - pushCharArray (null, ch, 0, length); - } - } + // we may have been given I/O streams directly + if (source.getCharacterStream() != null) + { + if (source.getByteStream() != null) + error("InputSource has two streams!"); + reader = source.getCharacterStream(); + } + else if (source.getByteStream() != null) + { + encoding = source.getEncoding(); + if (encoding == null) + { + stream = source.getByteStream(); + } + else + { + try + { + reader = new InputStreamReader(source.getByteStream(), + encoding); + } + catch (IOException e) + { + stream = source.getByteStream(); + } + } + } + else if (systemId == null) + { + error("InputSource has no URI!"); + } + scratch.setCharacterStream(null); + scratch.setByteStream(null); + scratch.setEncoding(null); + + // Push the existing status. + pushInput(ename); + + // Create a new read buffer. + // (Note the four-character margin) + readBuffer = new char[READ_BUFFER_MAX + 4]; + readBufferPos = 0; + readBufferLength = 0; + readBufferOverflow = -1; + is = null; + line = 1; + column = 0; + currentByteCount = 0; + + // If there's an explicit character stream, just + // ignore encoding declarations. + if (reader != null) + { + sourceType = INPUT_READER; + this.reader = reader; + tryEncodingDecl(true); + return; + } + + // Else we handle the conversion, and need to ensure + // it's done right. + sourceType = INPUT_STREAM; + if (stream != null) + { + is = stream; + } + else + { + // We have to open our own stream to the URL. + URL url = new URL(systemId); + + externalEntity = url.openConnection(); + externalEntity.connect(); + is = externalEntity.getInputStream(); + } + + // If we get to here, there must be + // an InputStream available. + if (!is.markSupported()) + { + is = new BufferedInputStream(is); + } + // Get any external encoding label. + if (encoding == null && externalEntity != null) + { + // External labels can be untrustworthy; filesystems in + // particular often have the wrong default for content + // that wasn't locally originated. Those we autodetect. + if (!"file".equals(externalEntity.getURL().getProtocol())) + { + int temp; + + // application/xml;charset=something;otherAttr=... + // ... with many variants on 'something' + encoding = externalEntity.getContentType(); + + // MHK code (fix for Saxon 5.5.1/007): + // protect against encoding==null + if (encoding == null) + { + temp = -1; + } + else + { + temp = encoding.indexOf("charset"); + } + + // RFC 2376 sez MIME text defaults to ASCII, but since the + // JDK will create a MIME type out of thin air, we always + // autodetect when there's no explicit charset attribute. + if (temp < 0) + { + encoding = null; // autodetect + } + else + { + // only this one attribute + if ((temp = encoding.indexOf(';')) > 0) + { + encoding = encoding.substring(0, temp); + } + + if ((temp = encoding.indexOf('=', temp + 7)) > 0) + { + encoding = encoding.substring(temp + 1); + + // attributes can have comment fields (RFC 822) + if ((temp = encoding.indexOf('(')) > 0) + { + encoding = encoding.substring(0, temp); + } + // ... and values may be quoted + if ((temp = encoding.indexOf('"')) > 0) + { + encoding = + encoding.substring(temp + 1, + encoding.indexOf('"', temp + 2)); + } + encoding.trim(); + } + else + { + handler.warn("ignoring illegal MIME attribute: " + + encoding); + encoding = null; + } + } + } + } + + // if we got an external encoding label, use it ... + if (encoding != null) + { + this.encoding = ENCODING_EXTERNAL; + setupDecoding(encoding); + ignoreEncoding = true; + + // ... else autodetect from first bytes. + } + else + { + detectEncoding(); + ignoreEncoding = false; + } - /** - * Push, or skip, a new external input source. - * The source will be some kind of parsed entity, such as a PE - * (including the external DTD subset) or content for the body. - * - * @param url The java.net.URL object for the entity. - * @see SAXDriver#resolveEntity - * @see #pushString - * @see #sourceType - * @see #pushInput - * @see #detectEncoding - * @see #sourceType - * @see #readBuffer - */ - private void pushURL ( - boolean isPE, - String ename, - String ids [], // public, system, baseURI - Reader reader, - InputStream stream, - String encoding, - boolean doResolve - ) throws SAXException, IOException - { - boolean ignoreEncoding; - String systemId; - InputSource source; - - if (!isPE) - dataBufferFlush (); - - scratch.setPublicId (ids [0]); - scratch.setSystemId (ids [1]); - - // See if we should skip or substitute the entity. - // If we're not skipping, resolving reports startEntity() - // and updates the (handler's) stack of URIs. - if (doResolve) { - // assert (stream == null && reader == null && encoding == null) - source = handler.resolveEntity (isPE, ename, scratch, ids [2]); - if (source == null) { - handler.warn ("skipping entity: " + ename); - handler.skippedEntity (ename); - if (isPE) - skippedPE = true; - return; - } - - // we might be using alternate IDs/encoding - systemId = source.getSystemId (); - // The following warning and setting systemId was deleted bcause - // the application has the option of not setting systemId - // provided that it has set the characte/byte stream. - /* - if (systemId == null) { - handler.warn ("missing system ID, using " + ids [1]); - systemId = ids [1]; - } - */ - } else { - // "[document]", or "[dtd]" via getExternalSubset() - scratch.setCharacterStream (reader); - scratch.setByteStream (stream); - scratch.setEncoding (encoding); - source = scratch; - systemId = ids [1]; - if (handler.getFeature (SAXDriver.FEATURE + "string-interning")) { - handler.startExternalEntity (ename, systemId, - "[document]" == ename); - } else { - handler.startExternalEntity (ename, systemId, - "[document]".equals(ename)); - } - } - - // we may have been given I/O streams directly - if (source.getCharacterStream () != null) { - if (source.getByteStream () != null) - error ("InputSource has two streams!"); - reader = source.getCharacterStream (); - } else if (source.getByteStream () != null) { - encoding = source.getEncoding (); - if (encoding == null) - stream = source.getByteStream (); - else try { - reader = new InputStreamReader ( - source.getByteStream (), - encoding); - } catch (IOException e) { - stream = source.getByteStream (); - } - } else if (systemId == null) - error ("InputSource has no URI!"); - scratch.setCharacterStream (null); - scratch.setByteStream (null); - scratch.setEncoding (null); - - // Push the existing status. - pushInput (ename); - - // Create a new read buffer. - // (Note the four-character margin) - readBuffer = new char [READ_BUFFER_MAX + 4]; - readBufferPos = 0; - readBufferLength = 0; - readBufferOverflow = -1; - is = null; - line = 1; - column = 0; - currentByteCount = 0; - - // If there's an explicit character stream, just - // ignore encoding declarations. - if (reader != null) { - sourceType = INPUT_READER; - this.reader = reader; - tryEncodingDecl (true); - return; - } - - // Else we handle the conversion, and need to ensure - // it's done right. - sourceType = INPUT_STREAM; - if (stream != null) { - is = stream; - } else { - // We have to open our own stream to the URL. - URL url = new URL (systemId); - - externalEntity = url.openConnection (); - externalEntity.connect (); - is = externalEntity.getInputStream (); - } - - // If we get to here, there must be - // an InputStream available. - if (!is.markSupported ()) { - is = new BufferedInputStream (is); - } - - // Get any external encoding label. - if (encoding == null && externalEntity != null) { - // External labels can be untrustworthy; filesystems in - // particular often have the wrong default for content - // that wasn't locally originated. Those we autodetect. - if (!"file".equals (externalEntity.getURL ().getProtocol ())) { - int temp; - - // application/xml;charset=something;otherAttr=... - // ... with many variants on 'something' - encoding = externalEntity.getContentType (); - - // MHK code (fix for Saxon 5.5.1/007): - // protect against encoding==null - if (encoding==null) { - temp = -1; - } else { - temp = encoding.indexOf ("charset"); - } - - // RFC 2376 sez MIME text defaults to ASCII, but since the - // JDK will create a MIME type out of thin air, we always - // autodetect when there's no explicit charset attribute. - if (temp < 0) - encoding = null; // autodetect - else { - // only this one attribute - if ((temp = encoding.indexOf (';')) > 0) - encoding = encoding.substring (0, temp); - - if ((temp = encoding.indexOf ('=', temp + 7)) > 0) { - encoding = encoding.substring (temp + 1); - - // attributes can have comment fields (RFC 822) - if ((temp = encoding.indexOf ('(')) > 0) - encoding = encoding.substring (0, temp); - // ... and values may be quoted - if ((temp = encoding.indexOf ('"')) > 0) - encoding = encoding.substring (temp + 1, - encoding.indexOf ('"', temp + 2)); - encoding.trim (); - } else { - handler.warn ("ignoring illegal MIME attribute: " - + encoding); - encoding = null; - } - } - } - } - - // if we got an external encoding label, use it ... - if (encoding != null) { - this.encoding = ENCODING_EXTERNAL; - setupDecoding (encoding); - ignoreEncoding = true; - - // ... else autodetect from first bytes. - } else { - detectEncoding (); - ignoreEncoding = false; - } - - // Read any XML or text declaration. - // If we autodetected, it may tell us the "real" encoding. - try { - tryEncodingDecl (ignoreEncoding); - } catch (UnsupportedEncodingException x) { - encoding = x.getMessage (); - - // if we don't handle the declared encoding, - // try letting a JVM InputStreamReader do it - try { - if (sourceType != INPUT_STREAM) - throw x; - - is.reset (); - readBufferPos = 0; - readBufferLength = 0; - readBufferOverflow = -1; - line = 1; - currentByteCount = column = 0; - - sourceType = INPUT_READER; - this.reader = new InputStreamReader (is, encoding); - is = null; - - tryEncodingDecl (true); - - } catch (IOException e) { - error ("unsupported text encoding", - encoding, - null); - } - } - } + // Read any XML or text declaration. + // If we autodetected, it may tell us the "real" encoding. + try + { + tryEncodingDecl(ignoreEncoding); + } + catch (UnsupportedEncodingException x) + { + encoding = x.getMessage(); + // if we don't handle the declared encoding, + // try letting a JVM InputStreamReader do it + try + { + if (sourceType != INPUT_STREAM) + { + throw x; + } + + is.reset(); + readBufferPos = 0; + readBufferLength = 0; + readBufferOverflow = -1; + line = 1; + currentByteCount = column = 0; + + sourceType = INPUT_READER; + this.reader = new InputStreamReader(is, encoding); + is = null; + + tryEncodingDecl(true); + + } + catch (IOException e) + { + error("unsupported text encoding", + encoding, + null); + } + } + } - /** - * Check for an encoding declaration. This is the second part of the - * XML encoding autodetection algorithm, relying on detectEncoding to - * get to the point that this part can read any encoding declaration - * in the document (using only US-ASCII characters). - * - *

Because this part starts to fill parser buffers with this data, - * it's tricky to setup a reader so that Java's built-in decoders can be - * used for the character encodings that aren't built in to this parser - * (such as EUC-JP, KOI8-R, Big5, etc). - * - * @return any encoding in the declaration, uppercased; or null - * @see detectEncoding - */ - private String tryEncodingDecl (boolean ignoreEncoding) + /** + * Check for an encoding declaration. This is the second part of the + * XML encoding autodetection algorithm, relying on detectEncoding to + * get to the point that this part can read any encoding declaration + * in the document (using only US-ASCII characters). + * + *

Because this part starts to fill parser buffers with this data, + * it's tricky to setup a reader so that Java's built-in decoders can be + * used for the character encodings that aren't built in to this parser + * (such as EUC-JP, KOI8-R, Big5, etc). + * + * @return any encoding in the declaration, uppercased; or null + * @see detectEncoding + */ + private String tryEncodingDecl(boolean ignoreEncoding) throws SAXException, IOException - { - // Read the XML/text declaration. - if (tryRead (" 0) { - return parseTextDecl (ignoreEncoding); - } else { - return parseXMLDecl (ignoreEncoding); - } - } else { - // or similar - unread ('l'); - unread ('m'); - unread ('x'); - unread ('?'); - unread ('<'); - } - } - return null; - } - + { + // Read the XML/text declaration. + if (tryRead(" 0) + { + return parseTextDecl(ignoreEncoding); + } + else + { + return parseXMLDecl(ignoreEncoding); + } + } + else + { + // or similar + unread('l'); + unread('m'); + unread('x'); + unread('?'); + unread('<'); + } + } + return null; + } - /** - * Attempt to detect the encoding of an entity. - *

The trick here (as suggested in the XML standard) is that - * any entity not in UTF-8, or in UCS-2 with a byte-order mark, - * must begin with an XML declaration or an encoding - * declaration; we simply have to look for "<?xml" in various - * encodings. - *

This method has no way to distinguish among 8-bit encodings. - * Instead, it sets up for UTF-8, then (possibly) revises its assumption - * later in setupDecoding (). Any ASCII-derived 8-bit encoding - * should work, but most will be rejected later by setupDecoding (). - * @see #tryEncoding (byte[], byte, byte, byte, byte) - * @see #tryEncoding (byte[], byte, byte) - * @see #setupDecoding - */ - private void detectEncoding () + /** + * Attempt to detect the encoding of an entity. + *

The trick here (as suggested in the XML standard) is that + * any entity not in UTF-8, or in UCS-2 with a byte-order mark, + * must begin with an XML declaration or an encoding + * declaration; we simply have to look for "<?xml" in various + * encodings. + *

This method has no way to distinguish among 8-bit encodings. + * Instead, it sets up for UTF-8, then (possibly) revises its assumption + * later in setupDecoding (). Any ASCII-derived 8-bit encoding + * should work, but most will be rejected later by setupDecoding (). + * @see #tryEncoding (byte[], byte, byte, byte, byte) + * @see #tryEncoding (byte[], byte, byte) + * @see #setupDecoding + */ + private void detectEncoding() throws SAXException, IOException - { - byte signature[] = new byte [4]; - - // Read the first four bytes for - // autodetection. - is.mark (4); - is.read (signature); - is.reset (); - - // - // FIRST: four byte encodings (who uses these?) - // - if (tryEncoding (signature, (byte) 0x00, (byte) 0x00, - (byte) 0x00, (byte) 0x3c)) { - // UCS-4 must begin with "Utility routine for detectEncoding (). - *

Always looks for some part of "Looks for a UCS-2 byte-order mark. - *

Utility routine for detectEncoding (). - * @param sig The first four bytes read. - * @param b1 The first byte of the signature - * @param b2 The second byte of the signature - * @see #detectEncoding - */ - private static boolean tryEncoding (byte sig[], byte b1, byte b2) - { - return ((sig [0] == b1) && (sig [1] == b2)); - } + // + // SECOND: two byte encodings + // note ... with 1/14/2000 errata the XML spec identifies some + // more "broken UTF-16" autodetection cases, with no XML decl, + // which we don't handle here (that's legal too). + // + else if (tryEncoding(signature, (byte) 0xfe, (byte) 0xff)) + { + // UCS-2 with a byte-order marker. (UTF-16) + // 0xfe 0xff: UCS-2, big-endian (12) + encoding = ENCODING_UCS_2_12; + is.read(); is.read(); + } + else if (tryEncoding(signature, (byte) 0xff, (byte) 0xfe)) + { + // UCS-2 with a byte-order marker. (UTF-16) + // 0xff 0xfe: UCS-2, little-endian (21) + encoding = ENCODING_UCS_2_21; + is.read(); is.read(); + } + else if (tryEncoding(signature, (byte) 0x00, (byte) 0x3c, + (byte) 0x00, (byte) 0x3f)) + { + // UTF-16BE (otherwise, malformed UTF-16) + // 0x00 0x3c 0x00 0x3f: UCS-2, big-endian, no byte-order mark + encoding = ENCODING_UCS_2_12; + error("no byte-order mark for UCS-2 entity"); + } + else if (tryEncoding(signature, (byte) 0x3c, (byte) 0x00, + (byte) 0x3f, (byte) 0x00)) + { + // UTF-16LE (otherwise, malformed UTF-16) + // 0x3c 0x00 0x3f 0x00: UCS-2, little-endian, no byte-order mark + encoding = ENCODING_UCS_2_21; + error("no byte-order mark for UCS-2 entity"); + } + // + // THIRD: ASCII-derived encodings, fixed and variable lengths + // + else if (tryEncoding(signature, (byte) 0x3c, (byte) 0x3f, + (byte) 0x78, (byte) 0x6d)) + { + // ASCII derived + // 0x3c 0x3f 0x78 0x6d: UTF-8 or other 8-bit markup (read ENCODING) + encoding = ENCODING_UTF_8; + prefetchASCIIEncodingDecl(); + } + else if (signature[0] == (byte) 0xef + && signature[1] == (byte) 0xbb + && signature[2] == (byte) 0xbf) + { + // 0xef 0xbb 0xbf: UTF-8 BOM (not part of document text) + // this un-needed notion slipped into XML 2nd ed through a + // "non-normative" erratum; now required by MSFT and UDDI, + // and E22 made it normative. + encoding = ENCODING_UTF_8; + is.read(); is.read(); is.read(); + } + else + { + // 4c 6f a7 94 ... we don't understand EBCDIC flavors + // ... but we COULD at least kick in some fixed code page + + // (default) UTF-8 without encoding/XML declaration + encoding = ENCODING_UTF_8; + } + } - /** - * This method pushes a string back onto input. - *

It is useful either as the expansion of an internal entity, - * or for backtracking during the parse. - *

Call pushCharArray () to do the actual work. - * @param s The string to push back onto input. - * @see #pushCharArray - */ - private void pushString (String ename, String s) - throws SAXException - { - char ch[] = s.toCharArray (); - pushCharArray (ename, ch, 0, ch.length); - } + /** + * Check for a four-byte signature. + *

Utility routine for detectEncoding (). + *

Always looks for some part of "Looks for a UCS-2 byte-order mark. + *

Utility routine for detectEncoding (). + * @param sig The first four bytes read. + * @param b1 The first byte of the signature + * @param b2 The second byte of the signature + * @see #detectEncoding + */ + private static boolean tryEncoding(byte[] sig, byte b1, byte b2) + { + return ((sig[0] == b1) && (sig[1] == b2)); + } - /** - * Push a new internal input source. - *

This method is useful for expanding an internal entity, - * or for unreading a string of characters. It creates a new - * readBuffer containing the characters in the array, instead - * of characters converted from an input byte stream. - * @param ch The char array to push. - * @see #pushString - * @see #pushURL - * @see #readBuffer - * @see #sourceType - * @see #pushInput - */ - private void pushCharArray (String ename, char ch[], int start, int length) + /** + * This method pushes a string back onto input. + *

It is useful either as the expansion of an internal entity, + * or for backtracking during the parse. + *

Call pushCharArray () to do the actual work. + * @param s The string to push back onto input. + * @see #pushCharArray + */ + private void pushString(String ename, String s) throws SAXException - { - // Push the existing status - pushInput (ename); - if (ename != null && doReport) { - dataBufferFlush (); - handler.startInternalEntity (ename); - } - sourceType = INPUT_INTERNAL; - readBuffer = ch; - readBufferPos = start; - readBufferLength = length; - readBufferOverflow = -1; - } - + { + char[] ch = s.toCharArray(); + pushCharArray(ename, ch, 0, ch.length); + } - /** - * Save the current input source onto the stack. - *

This method saves all of the global variables associated with - * the current input source, so that they can be restored when a new - * input source has finished. It also tests for entity recursion. - *

The method saves the following global variables onto a stack - * using a fixed-length array: - *

    - *
  1. sourceType - *
  2. externalEntity - *
  3. readBuffer - *
  4. readBufferPos - *
  5. readBufferLength - *
  6. line - *
  7. encoding - *
- * @param ename The name of the entity (if any) causing the new input. - * @see #popInput - * @see #sourceType - * @see #externalEntity - * @see #readBuffer - * @see #readBufferPos - * @see #readBufferLength - * @see #line - * @see #encoding - */ - private void pushInput (String ename) + /** + * Push a new internal input source. + *

This method is useful for expanding an internal entity, + * or for unreading a string of characters. It creates a new + * readBuffer containing the characters in the array, instead + * of characters converted from an input byte stream. + * @param ch The char array to push. + * @see #pushString + * @see #pushURL + * @see #readBuffer + * @see #sourceType + * @see #pushInput + */ + private void pushCharArray(String ename, char[] ch, int start, int length) throws SAXException - { - // Check for entity recursion. - if (ename != null) { - Enumeration entities = entityStack.elements (); - while (entities.hasMoreElements ()) { - String e = (String) entities.nextElement (); - if (e != null && e == ename) { - error ("recursive reference to entity", ename, null); - } - } - } - entityStack.push (ename); - - // Don't bother if there is no current input. - if (sourceType == INPUT_NONE) { - return; - } - - // Set up a snapshot of the current - // input source. - Object input[] = new Object [12]; - - input [0] = new Integer (sourceType); - input [1] = externalEntity; - input [2] = readBuffer; - input [3] = new Integer (readBufferPos); - input [4] = new Integer (readBufferLength); - input [5] = new Integer (line); - input [6] = new Integer (encoding); - input [7] = new Integer (readBufferOverflow); - input [8] = is; - input [9] = new Integer (currentByteCount); - input [10] = new Integer (column); - input [11] = reader; - - // Push it onto the stack. - inputStack.push (input); - } + { + // Push the existing status + pushInput(ename); + if (ename != null && doReport) + { + dataBufferFlush(); + handler.startInternalEntity(ename); + } + sourceType = INPUT_INTERNAL; + readBuffer = ch; + readBufferPos = start; + readBufferLength = length; + readBufferOverflow = -1; + } + /** + * Save the current input source onto the stack. + *

This method saves all of the global variables associated with + * the current input source, so that they can be restored when a new + * input source has finished. It also tests for entity recursion. + *

The method saves the following global variables onto a stack + * using a fixed-length array: + *

    + *
  1. sourceType + *
  2. externalEntity + *
  3. readBuffer + *
  4. readBufferPos + *
  5. readBufferLength + *
  6. line + *
  7. encoding + *
+ * @param ename The name of the entity (if any) causing the new input. + * @see #popInput + * @see #sourceType + * @see #externalEntity + * @see #readBuffer + * @see #readBufferPos + * @see #readBufferLength + * @see #line + * @see #encoding + */ + private void pushInput(String ename) + throws SAXException + { + // Check for entity recursion. + if (ename != null) + { + Iterator entities = entityStack.iterator(); + while (entities.hasNext()) + { + String e = (String) entities.next(); + if (e != null && e == ename) + { + error("recursive reference to entity", ename, null); + } + } + } + entityStack.addLast(ename); + + // Don't bother if there is no current input. + if (sourceType == INPUT_NONE) + { + return; + } + + // Set up a snapshot of the current + // input source. + Input input = new Input(); + + input.sourceType = sourceType; + input.externalEntity = externalEntity; + input.readBuffer = readBuffer; + input.readBufferPos = readBufferPos; + input.readBufferLength = readBufferLength; + input.line = line; + input.encoding = encoding; + input.readBufferOverflow = readBufferOverflow; + input.is = is; + input.currentByteCount = currentByteCount; + input.column = column; + input.reader = reader; + + // Push it onto the stack. + inputStack.addLast(input); + } - /** - * Restore a previous input source. - *

This method restores all of the global variables associated with - * the current input source. - * @exception java.io.EOFException - * If there are no more entries on the input stack. - * @see #pushInput - * @see #sourceType - * @see #externalEntity - * @see #readBuffer - * @see #readBufferPos - * @see #readBufferLength - * @see #line - * @see #encoding - */ - private void popInput () + /** + * Restore a previous input source. + *

This method restores all of the global variables associated with + * the current input source. + * @exception java.io.EOFException + * If there are no more entries on the input stack. + * @see #pushInput + * @see #sourceType + * @see #externalEntity + * @see #readBuffer + * @see #readBufferPos + * @see #readBufferLength + * @see #line + * @see #encoding + */ + private void popInput() throws SAXException, IOException - { - String ename = (String) entityStack.pop (); - - if (ename != null && doReport) - dataBufferFlush (); - switch (sourceType) { - case INPUT_STREAM: - handler.endExternalEntity (ename); - is.close (); - break; - case INPUT_READER: - handler.endExternalEntity (ename); - reader.close (); - break; - case INPUT_INTERNAL: - if (ename != null && doReport) - handler.endInternalEntity (ename); - break; - } - - // Throw an EOFException if there - // is nothing else to pop. - if (inputStack.isEmpty ()) { - throw new EOFException ("no more input"); - } - - Object input [] = (Object[]) inputStack.pop (); - - sourceType = ((Integer) input [0]).intValue (); - externalEntity = (URLConnection) input [1]; - readBuffer = (char[]) input [2]; - readBufferPos = ((Integer) input [3]).intValue (); - readBufferLength = ((Integer) input [4]).intValue (); - line = ((Integer) input [5]).intValue (); - encoding = ((Integer) input [6]).intValue (); - readBufferOverflow = ((Integer) input [7]).intValue (); - is = (InputStream) input [8]; - currentByteCount = ((Integer) input [9]).intValue (); - column = ((Integer) input [10]).intValue (); - reader = (Reader) input [11]; - } - + { + String ename = (String) entityStack.removeLast(); - /** - * Return true if we can read the expected character. - *

Note that the character will be removed from the input stream - * on success, but will be put back on failure. Do not attempt to - * read the character again if the method succeeds. - * @param delim The character that should appear next. For a - * insensitive match, you must supply this in upper-case. - * @return true if the character was successfully read, or false if - * it was not. - * @see #tryRead (String) - */ - private boolean tryRead (char delim) - throws SAXException, IOException - { - char c; - - // Read the character - c = readCh (); - - // Test for a match, and push the character - // back if the match fails. - if (c == delim) { - return true; - } else { - unread (c); - return false; - } - } + if (ename != null && doReport) + { + dataBufferFlush(); + } + switch (sourceType) + { + case INPUT_STREAM: + handler.endExternalEntity(ename); + is.close(); + break; + case INPUT_READER: + handler.endExternalEntity(ename); + reader.close(); + break; + case INPUT_INTERNAL: + if (ename != null && doReport) + { + handler.endInternalEntity(ename); + } + break; + } + // Throw an EOFException if there + // is nothing else to pop. + if (inputStack.isEmpty()) + { + throw new EOFException("no more input"); + } - /** - * Return true if we can read the expected string. - *

This is simply a convenience method. - *

Note that the string will be removed from the input stream - * on success, but will be put back on failure. Do not attempt to - * read the string again if the method succeeds. - *

This method will push back a character rather than an - * array whenever possible (probably the majority of cases). - * @param delim The string that should appear next. - * @return true if the string was successfully read, or false if - * it was not. - * @see #tryRead (char) - */ - private boolean tryRead (String delim) + Input input = (Input) inputStack.removeLast(); + + sourceType = input.sourceType; + externalEntity = input.externalEntity; + readBuffer = input.readBuffer; + readBufferPos = input.readBufferPos; + readBufferLength = input.readBufferLength; + line = input.line; + encoding = input.encoding; + readBufferOverflow = input.readBufferOverflow; + is = input.is; + currentByteCount = input.currentByteCount; + column = input.column; + reader = input.reader; + } + + /** + * Return true if we can read the expected character. + *

Note that the character will be removed from the input stream + * on success, but will be put back on failure. Do not attempt to + * read the character again if the method succeeds. + * @param delim The character that should appear next. For a + * insensitive match, you must supply this in upper-case. + * @return true if the character was successfully read, or false if + * it was not. + * @see #tryRead (String) + */ + private boolean tryRead(char delim) throws SAXException, IOException - { - return tryRead (delim.toCharArray ()); - } + { + char c; + + // Read the character + c = readCh(); + + // Test for a match, and push the character + // back if the match fails. + if (c == delim) + { + return true; + } + else + { + unread(c); + return false; + } + } - private boolean tryRead (char ch []) + /** + * Return true if we can read the expected string. + *

This is simply a convenience method. + *

Note that the string will be removed from the input stream + * on success, but will be put back on failure. Do not attempt to + * read the string again if the method succeeds. + *

This method will push back a character rather than an + * array whenever possible (probably the majority of cases). + * @param delim The string that should appear next. + * @return true if the string was successfully read, or false if + * it was not. + * @see #tryRead (char) + */ + private boolean tryRead(String delim) throws SAXException, IOException - { - char c; - - // Compare the input, character- - // by character. - - for (int i = 0; i < ch.length; i++) { - c = readCh (); - if (c != ch [i]) { - unread (c); - if (i != 0) { - unread (ch, i); - } - return false; - } - } - return true; - } - - + { + return tryRead(delim.toCharArray()); + } - /** - * Return true if we can read some whitespace. - *

This is simply a convenience method. - *

This method will push back a character rather than an - * array whenever possible (probably the majority of cases). - * @return true if whitespace was found. - */ - private boolean tryWhitespace () + private boolean tryRead(char[] ch) throws SAXException, IOException - { - char c; - c = readCh (); - if (isWhitespace (c)) { - skipWhitespace (); - return true; - } else { - unread (c); - return false; - } - } + { + char c; + // Compare the input, character- + // by character. + + for (int i = 0; i < ch.length; i++) + { + c = readCh(); + if (c != ch[i]) + { + unread(c); + if (i != 0) + { + unread(ch, i); + } + return false; + } + } + return true; + } - /** - * Read all data until we find the specified string. - * This is useful for scanning CDATA sections and PIs. - *

This is inefficient right now, since it calls tryRead () - * for every character. - * @param delim The string delimiter - * @see #tryRead (String, boolean) - * @see #readCh - */ - private void parseUntil (String delim) + /** + * Return true if we can read some whitespace. + *

This is simply a convenience method. + *

This method will push back a character rather than an + * array whenever possible (probably the majority of cases). + * @return true if whitespace was found. + */ + private boolean tryWhitespace() + throws SAXException, IOException + { + char c; + c = readCh(); + if (isWhitespace(c)) + { + skipWhitespace(); + return true; + } + else + { + unread(c); + return false; + } + } + + /** + * Read all data until we find the specified string. + * This is useful for scanning CDATA sections and PIs. + *

This is inefficient right now, since it calls tryRead () + * for every character. + * @param delim The string delimiter + * @see #tryRead (String, boolean) + * @see #readCh + */ + private void parseUntil(String delim) throws SAXException, IOException - { - parseUntil (delim.toCharArray ()); - } + { + parseUntil(delim.toCharArray()); + } - private void parseUntil (char delim []) + private void parseUntil(char[] delim) throws SAXException, IOException - { - char c; - int startLine = line; - - try { - while (!tryRead (delim)) { - c = readCh (); - dataBufferAppend (c); - } - } catch (EOFException e) { - error ("end of input while looking for delimiter " - + "(started on line " + startLine - + ')', null, new String (delim)); - } - } - - - ////////////////////////////////////////////////////////////////////// - // Low-level I/O. - ////////////////////////////////////////////////////////////////////// - + { + char c; + int startLine = line; + + try + { + while (!tryRead(delim)) + { + c = readCh(); + dataBufferAppend(c); + } + } + catch (EOFException e) + { + error("end of input while looking for delimiter " + + "(started on line " + startLine + + ')', null, new String(delim)); + } + } - /** - * Prefetch US-ASCII XML/text decl from input stream into read buffer. - * Doesn't buffer more than absolutely needed, so that when an encoding - * decl says we need to create an InputStreamReader, we can discard our - * buffer and reset(). Caller knows the first chars of the decl exist - * in the input stream. - */ - private void prefetchASCIIEncodingDecl () + ////////////////////////////////////////////////////////////////////// + // Low-level I/O. + ////////////////////////////////////////////////////////////////////// + + /** + * Prefetch US-ASCII XML/text decl from input stream into read buffer. + * Doesn't buffer more than absolutely needed, so that when an encoding + * decl says we need to create an InputStreamReader, we can discard our + * buffer and reset(). Caller knows the first chars of the decl exist + * in the input stream. + */ + private void prefetchASCIIEncodingDecl() throws SAXException, IOException - { - int ch; - readBufferPos = readBufferLength = 0; - - is.mark (readBuffer.length); - while (true) { - ch = is.read (); - readBuffer [readBufferLength++] = (char) ch; - switch (ch) { - case (int) '>': - return; - case -1: - error ("file ends before end of XML or encoding declaration.", - null, "?>"); - } - if (readBuffer.length == readBufferLength) - error ("unfinished XML or encoding declaration"); - } - } + { + int ch; + readBufferPos = readBufferLength = 0; + + is.mark(readBuffer.length); + while (true) + { + ch = is.read(); + readBuffer[readBufferLength++] = (char) ch; + switch (ch) + { + case (int) '>': + return; + case -1: + error("file ends before end of XML or encoding declaration.", + null, "?>"); + } + if (readBuffer.length == readBufferLength) + { + error("unfinished XML or encoding declaration"); + } + } + } - /** - * Read a chunk of data from an external input source. - *

This is simply a front-end that fills the rawReadBuffer - * with bytes, then calls the appropriate encoding handler. - * @see #encoding - * @see #rawReadBuffer - * @see #readBuffer - * @see #filterCR - * @see #copyUtf8ReadBuffer - * @see #copyIso8859_1ReadBuffer - * @see #copyUcs_2ReadBuffer - * @see #copyUcs_4ReadBuffer - */ - private void readDataChunk () + /** + * Read a chunk of data from an external input source. + *

This is simply a front-end that fills the rawReadBuffer + * with bytes, then calls the appropriate encoding handler. + * @see #encoding + * @see #rawReadBuffer + * @see #readBuffer + * @see #filterCR + * @see #copyUtf8ReadBuffer + * @see #copyIso8859_1ReadBuffer + * @see #copyUcs_2ReadBuffer + * @see #copyUcs_4ReadBuffer + */ + private void readDataChunk() throws SAXException, IOException - { - int count; - - // See if we have any overflow (filterCR sets for CR at end) - if (readBufferOverflow > -1) { - readBuffer [0] = (char) readBufferOverflow; - readBufferOverflow = -1; - readBufferPos = 1; - sawCR = true; - } else { - readBufferPos = 0; - sawCR = false; - } - - // input from a character stream. - if (sourceType == INPUT_READER) { - count = reader.read (readBuffer, - readBufferPos, READ_BUFFER_MAX - readBufferPos); - if (count < 0) - readBufferLength = readBufferPos; - else - readBufferLength = readBufferPos + count; - if (readBufferLength > 0) - filterCR (count >= 0); - sawCR = false; - return; - } - - // Read as many bytes as possible into the raw buffer. - count = is.read (rawReadBuffer, 0, READ_BUFFER_MAX); - - // Dispatch to an encoding-specific reader method to populate - // the readBuffer. In most parser speed profiles, these routines - // show up at the top of the CPU usage chart. - if (count > 0) { - switch (encoding) { - // one byte builtins - case ENCODING_ASCII: - copyIso8859_1ReadBuffer (count, (char) 0x0080); - break; - case ENCODING_UTF_8: - copyUtf8ReadBuffer (count); - break; - case ENCODING_ISO_8859_1: - copyIso8859_1ReadBuffer (count, (char) 0); - break; - - // two byte builtins - case ENCODING_UCS_2_12: - copyUcs2ReadBuffer (count, 8, 0); - break; - case ENCODING_UCS_2_21: - copyUcs2ReadBuffer (count, 0, 8); - break; - - // four byte builtins - case ENCODING_UCS_4_1234: - copyUcs4ReadBuffer (count, 24, 16, 8, 0); - break; - case ENCODING_UCS_4_4321: - copyUcs4ReadBuffer (count, 0, 8, 16, 24); - break; - case ENCODING_UCS_4_2143: - copyUcs4ReadBuffer (count, 16, 24, 0, 8); - break; - case ENCODING_UCS_4_3412: - copyUcs4ReadBuffer (count, 8, 0, 24, 16); - break; - } - } else - readBufferLength = readBufferPos; - - readBufferPos = 0; - - // Filter out all carriage returns if we've seen any - // (including any saved from a previous read) - if (sawCR) { - filterCR (count >= 0); - sawCR = false; - - // must actively report EOF, lest some CRs get lost. - if (readBufferLength == 0 && count >= 0) - readDataChunk (); - } - - if (count > 0) - currentByteCount += count; - } + { + int count; + + // See if we have any overflow (filterCR sets for CR at end) + if (readBufferOverflow > -1) + { + readBuffer[0] = (char) readBufferOverflow; + readBufferOverflow = -1; + readBufferPos = 1; + sawCR = true; + } + else + { + readBufferPos = 0; + sawCR = false; + } + // input from a character stream. + if (sourceType == INPUT_READER) + { + count = reader.read(readBuffer, + readBufferPos, READ_BUFFER_MAX - readBufferPos); + if (count < 0) + { + readBufferLength = readBufferPos; + } + else + { + readBufferLength = readBufferPos + count; + } + if (readBufferLength > 0) + { + filterCR(count >= 0); + } + sawCR = false; + return; + } + + // Read as many bytes as possible into the raw buffer. + count = is.read(rawReadBuffer, 0, READ_BUFFER_MAX); + + // Dispatch to an encoding-specific reader method to populate + // the readBuffer. In most parser speed profiles, these routines + // show up at the top of the CPU usage chart. + if (count > 0) + { + switch (encoding) + { + // one byte builtins + case ENCODING_ASCII: + copyIso8859_1ReadBuffer(count, (char) 0x0080); + break; + case ENCODING_UTF_8: + copyUtf8ReadBuffer(count); + break; + case ENCODING_ISO_8859_1: + copyIso8859_1ReadBuffer(count, (char) 0); + break; - /** - * Filter carriage returns in the read buffer. - * CRLF becomes LF; CR becomes LF. - * @param moreData true iff more data might come from the same source - * @see #readDataChunk - * @see #readBuffer - * @see #readBufferOverflow - */ - private void filterCR (boolean moreData) - { - int i, j; + // two byte builtins + case ENCODING_UCS_2_12: + copyUcs2ReadBuffer(count, 8, 0); + break; + case ENCODING_UCS_2_21: + copyUcs2ReadBuffer(count, 0, 8); + break; + + // four byte builtins + case ENCODING_UCS_4_1234: + copyUcs4ReadBuffer(count, 24, 16, 8, 0); + break; + case ENCODING_UCS_4_4321: + copyUcs4ReadBuffer(count, 0, 8, 16, 24); + break; + case ENCODING_UCS_4_2143: + copyUcs4ReadBuffer(count, 16, 24, 0, 8); + break; + case ENCODING_UCS_4_3412: + copyUcs4ReadBuffer(count, 8, 0, 24, 16); + break; + } + } + else + { + readBufferLength = readBufferPos; + } - readBufferOverflow = -1; + readBufferPos = 0; + + // Filter out all carriage returns if we've seen any + // (including any saved from a previous read) + if (sawCR) + { + filterCR(count >= 0); + sawCR = false; + + // must actively report EOF, lest some CRs get lost. + if (readBufferLength == 0 && count >= 0) + { + readDataChunk(); + } + } + + if (count > 0) + { + currentByteCount += count; + } + } + + /** + * Filter carriage returns in the read buffer. + * CRLF becomes LF; CR becomes LF. + * @param moreData true iff more data might come from the same source + * @see #readDataChunk + * @see #readBuffer + * @see #readBufferOverflow + */ + private void filterCR(boolean moreData) + { + int i, j; + readBufferOverflow = -1; + loop: - for (i = j = readBufferPos; j < readBufferLength; i++, j++) { - switch (readBuffer [j]) { - case '\r': - if (j == readBufferLength - 1) { - if (moreData) { - readBufferOverflow = '\r'; - readBufferLength--; - } else // CR at end of buffer - readBuffer [i++] = '\n'; - break loop; - } else if (readBuffer [j + 1] == '\n') { - j++; - } - readBuffer [i] = '\n'; - break; - - case '\n': - default: - readBuffer [i] = readBuffer [j]; - break; - } - } - readBufferLength = i; - } + for (i = j = readBufferPos; j < readBufferLength; i++, j++) + { + switch (readBuffer[j]) + { + case '\r': + if (j == readBufferLength - 1) + { + if (moreData) + { + readBufferOverflow = '\r'; + readBufferLength--; + } + else // CR at end of buffer + { + readBuffer[i++] = '\n'; + } + break loop; + } + else if (readBuffer[j + 1] == '\n') + { + j++; + } + readBuffer[i] = '\n'; + break; - /** - * Convert a buffer of UTF-8-encoded bytes into UTF-16 characters. - *

When readDataChunk () calls this method, the raw bytes are in - * rawReadBuffer, and the final characters will appear in - * readBuffer. - *

Note that as of Unicode 3.1, good practice became a requirement, - * so that each Unicode character has exactly one UTF-8 representation. - * @param count The number of bytes to convert. - * @see #readDataChunk - * @see #rawReadBuffer - * @see #readBuffer - * @see #getNextUtf8Byte - */ - private void copyUtf8ReadBuffer (int count) + case '\n': + default: + readBuffer[i] = readBuffer[j]; + break; + } + } + readBufferLength = i; + } + + /** + * Convert a buffer of UTF-8-encoded bytes into UTF-16 characters. + *

When readDataChunk () calls this method, the raw bytes are in + * rawReadBuffer, and the final characters will appear in + * readBuffer. + *

Note that as of Unicode 3.1, good practice became a requirement, + * so that each Unicode character has exactly one UTF-8 representation. + * @param count The number of bytes to convert. + * @see #readDataChunk + * @see #rawReadBuffer + * @see #readBuffer + * @see #getNextUtf8Byte + */ + private void copyUtf8ReadBuffer(int count) throws SAXException, IOException - { - int i = 0; - int j = readBufferPos; - int b1; - char c = 0; - - /* - // check once, so the runtime won't (if it's smart enough) - if (count < 0 || count > rawReadBuffer.length) - throw new ArrayIndexOutOfBoundsException (Integer.toString (count)); - */ - - while (i < count) { - b1 = rawReadBuffer [i++]; - - // Determine whether we are dealing - // with a one-, two-, three-, or four- - // byte sequence. - if (b1 < 0) { - if ((b1 & 0xe0) == 0xc0) { - // 2-byte sequence: 00000yyyyyxxxxxx = 110yyyyy 10xxxxxx - c = (char) (((b1 & 0x1f) << 6) - | getNextUtf8Byte (i++, count)); - if (c < 0x0080) - encodingError ("Illegal two byte UTF-8 sequence", - c, 0); - //Sec 2.11 - // [1] the two-character sequence #xD #xA - // [2] the two-character sequence #xD #x85 - if ((c == 0x0085 || c == 0x000a) && sawCR) - continue; - - // Sec 2.11 - // [3] the single character #x85 - - if(c == 0x0085 && xmlVersion == XML_11) - readBuffer[j++] = '\r'; - } else if ((b1 & 0xf0) == 0xe0) { - // 3-byte sequence: - // zzzzyyyyyyxxxxxx = 1110zzzz 10yyyyyy 10xxxxxx - // most CJKV characters - c = (char) (((b1 & 0x0f) << 12) | - (getNextUtf8Byte (i++, count) << 6) | - getNextUtf8Byte (i++, count)); - //sec 2.11 - //[4] the single character #x2028 - if(c == 0x2028 && xmlVersion == XML_11){ - readBuffer[j++] = '\r'; - sawCR = true; - continue; - } - if (c < 0x0800 || (c >= 0xd800 && c <= 0xdfff)) - encodingError ("Illegal three byte UTF-8 sequence", - c, 0); - } else if ((b1 & 0xf8) == 0xf0) { - // 4-byte sequence: 11101110wwwwzzzzyy + 110111yyyyxxxxxx - // = 11110uuu 10uuzzzz 10yyyyyy 10xxxxxx - // (uuuuu = wwww + 1) - // "Surrogate Pairs" ... from the "Astral Planes" - // Unicode 3.1 assigned the first characters there - int iso646 = b1 & 07; - iso646 = (iso646 << 6) + getNextUtf8Byte (i++, count); - iso646 = (iso646 << 6) + getNextUtf8Byte (i++, count); - iso646 = (iso646 << 6) + getNextUtf8Byte (i++, count); - - if (iso646 <= 0xffff) { - encodingError ("Illegal four byte UTF-8 sequence", - iso646, 0); - } else { - if (iso646 > 0x0010ffff) - encodingError ( - "UTF-8 value out of range for Unicode", - iso646, 0); - iso646 -= 0x010000; - readBuffer [j++] = (char) (0xd800 | (iso646 >> 10)); - readBuffer [j++] = (char) (0xdc00 | (iso646 & 0x03ff)); - continue; - } - } else { - // The five and six byte encodings aren't supported; - // they exceed the Unicode (and XML) range. - encodingError ( - "unsupported five or six byte UTF-8 sequence", - 0xff & b1, i); - // NOTREACHED - c = 0; - } - } else { - // 1-byte sequence: 000000000xxxxxxx = 0xxxxxxx - // (US-ASCII character, "common" case, one branch to here) - c = (char) b1; - } - readBuffer [j++] = c; - if (c == '\r') - sawCR = true; - } - // How many characters have we read? - readBufferLength = j; - } + { + int i = 0; + int j = readBufferPos; + int b1; + char c = 0; + + /* + // check once, so the runtime won't (if it's smart enough) + if (count < 0 || count > rawReadBuffer.length) + throw new ArrayIndexOutOfBoundsException (Integer.toString (count)); + */ + while (i < count) + { + b1 = rawReadBuffer[i++]; - /** - * Return the next byte value in a UTF-8 sequence. - * If it is not possible to get a byte from the current - * entity, throw an exception. - * @param pos The current position in the rawReadBuffer. - * @param count The number of bytes in the rawReadBuffer - * @return The significant six bits of a non-initial byte in - * a UTF-8 sequence. - * @exception EOFException If the sequence is incomplete. - */ - private int getNextUtf8Byte (int pos, int count) + // Determine whether we are dealing + // with a one-, two-, three-, or four- + // byte sequence. + if (b1 < 0) + { + if ((b1 & 0xe0) == 0xc0) + { + // 2-byte sequence: 00000yyyyyxxxxxx = 110yyyyy 10xxxxxx + c = (char) (((b1 & 0x1f) << 6) + | getNextUtf8Byte(i++, count)); + if (c < 0x0080) + { + encodingError("Illegal two byte UTF-8 sequence", + c, 0); + } + + //Sec 2.11 + // [1] the two-character sequence #xD #xA + // [2] the two-character sequence #xD #x85 + if ((c == 0x0085 || c == 0x000a) && sawCR) + { + continue; + } + + // Sec 2.11 + // [3] the single character #x85 + + if (c == 0x0085 && xmlVersion == XML_11) + { + readBuffer[j++] = '\r'; + } + } + else if ((b1 & 0xf0) == 0xe0) + { + // 3-byte sequence: + // zzzzyyyyyyxxxxxx = 1110zzzz 10yyyyyy 10xxxxxx + // most CJKV characters + c = (char) (((b1 & 0x0f) << 12) | + (getNextUtf8Byte(i++, count) << 6) | + getNextUtf8Byte(i++, count)); + //sec 2.11 + //[4] the single character #x2028 + if (c == 0x2028 && xmlVersion == XML_11) + { + readBuffer[j++] = '\r'; + sawCR = true; + continue; + } + if (c < 0x0800 || (c >= 0xd800 && c <= 0xdfff)) + { + encodingError("Illegal three byte UTF-8 sequence", + c, 0); + } + } + else if ((b1 & 0xf8) == 0xf0) + { + // 4-byte sequence: 11101110wwwwzzzzyy + 110111yyyyxxxxxx + // = 11110uuu 10uuzzzz 10yyyyyy 10xxxxxx + // (uuuuu = wwww + 1) + // "Surrogate Pairs" ... from the "Astral Planes" + // Unicode 3.1 assigned the first characters there + int iso646 = b1 & 07; + iso646 = (iso646 << 6) + getNextUtf8Byte(i++, count); + iso646 = (iso646 << 6) + getNextUtf8Byte(i++, count); + iso646 = (iso646 << 6) + getNextUtf8Byte(i++, count); + + if (iso646 <= 0xffff) + { + encodingError("Illegal four byte UTF-8 sequence", + iso646, 0); + } + else + { + if (iso646 > 0x0010ffff) + { + encodingError("UTF-8 value out of range for Unicode", + iso646, 0); + } + iso646 -= 0x010000; + readBuffer[j++] = (char) (0xd800 | (iso646 >> 10)); + readBuffer[j++] = (char) (0xdc00 | (iso646 & 0x03ff)); + continue; + } + } + else + { + // The five and six byte encodings aren't supported; + // they exceed the Unicode (and XML) range. + encodingError("unsupported five or six byte UTF-8 sequence", + 0xff & b1, i); + // NOTREACHED + c = 0; + } + } + else + { + // 1-byte sequence: 000000000xxxxxxx = 0xxxxxxx + // (US-ASCII character, "common" case, one branch to here) + c = (char) b1; + } + readBuffer[j++] = c; + if (c == '\r') + { + sawCR = true; + } + } + // How many characters have we read? + readBufferLength = j; + } + + /** + * Return the next byte value in a UTF-8 sequence. + * If it is not possible to get a byte from the current + * entity, throw an exception. + * @param pos The current position in the rawReadBuffer. + * @param count The number of bytes in the rawReadBuffer + * @return The significant six bits of a non-initial byte in + * a UTF-8 sequence. + * @exception EOFException If the sequence is incomplete. + */ + private int getNextUtf8Byte(int pos, int count) throws SAXException, IOException - { - int val; - - // Take a character from the buffer - // or from the actual input stream. - if (pos < count) { - val = rawReadBuffer [pos]; - } else { - val = is.read (); - if (val == -1) { - encodingError ("unfinished multi-byte UTF-8 sequence at EOF", - -1, pos); - } - } - - // Check for the correct bits at the start. - if ((val & 0xc0) != 0x80) { - encodingError ("bad continuation of multi-byte UTF-8 sequence", - val, pos + 1); - } - - // Return the significant bits. - return (val & 0x3f); - } + { + int val; + + // Take a character from the buffer + // or from the actual input stream. + if (pos < count) + { + val = rawReadBuffer[pos]; + } + else + { + val = is.read(); + if (val == -1) + { + encodingError("unfinished multi-byte UTF-8 sequence at EOF", + -1, pos); + } + } + // Check for the correct bits at the start. + if ((val & 0xc0) != 0x80) + { + encodingError("bad continuation of multi-byte UTF-8 sequence", + val, pos + 1); + } - /** - * Convert a buffer of US-ASCII or ISO-8859-1-encoded bytes into - * UTF-16 characters. - * - *

When readDataChunk () calls this method, the raw bytes are in - * rawReadBuffer, and the final characters will appear in - * readBuffer. - * - * @param count The number of bytes to convert. - * @param mask For ASCII conversion, 0x7f; else, 0xff. - * @see #readDataChunk - * @see #rawReadBuffer - * @see #readBuffer - */ - private void copyIso8859_1ReadBuffer (int count, char mask) - throws IOException - { - int i, j; - for (i = 0, j = readBufferPos; i < count; i++, j++) { - char c = (char) (rawReadBuffer [i] & 0xff); - if ((c & mask) != 0) - throw new CharConversionException ("non-ASCII character U+" - + Integer.toHexString (c)); - if (c == 0x0085 && xmlVersion == XML_11) - c = '\r'; - readBuffer [j] = c; - if (c == '\r') { - sawCR = true; - } - } - readBufferLength = j; - } + // Return the significant bits. + return (val & 0x3f); + } + /** + * Convert a buffer of US-ASCII or ISO-8859-1-encoded bytes into + * UTF-16 characters. + * + *

When readDataChunk () calls this method, the raw bytes are in + * rawReadBuffer, and the final characters will appear in + * readBuffer. + * + * @param count The number of bytes to convert. + * @param mask For ASCII conversion, 0x7f; else, 0xff. + * @see #readDataChunk + * @see #rawReadBuffer + * @see #readBuffer + */ + private void copyIso8859_1ReadBuffer(int count, char mask) + throws IOException + { + int i, j; + for (i = 0, j = readBufferPos; i < count; i++, j++) + { + char c = (char) (rawReadBuffer[i] & 0xff); + if ((c & mask) != 0) + { + throw new CharConversionException("non-ASCII character U+" + + Integer.toHexString(c)); + } + if (c == 0x0085 && xmlVersion == XML_11) + { + c = '\r'; + } + readBuffer[j] = c; + if (c == '\r') + { + sawCR = true; + } + } + readBufferLength = j; + } - /** - * Convert a buffer of UCS-2-encoded bytes into UTF-16 characters - * (as used in Java string manipulation). - * - *

When readDataChunk () calls this method, the raw bytes are in - * rawReadBuffer, and the final characters will appear in - * readBuffer. - * @param count The number of bytes to convert. - * @param shift1 The number of bits to shift byte 1. - * @param shift2 The number of bits to shift byte 2 - * @see #readDataChunk - * @see #rawReadBuffer - * @see #readBuffer - */ - private void copyUcs2ReadBuffer (int count, int shift1, int shift2) + /** + * Convert a buffer of UCS-2-encoded bytes into UTF-16 characters + * (as used in Java string manipulation). + * + *

When readDataChunk () calls this method, the raw bytes are in + * rawReadBuffer, and the final characters will appear in + * readBuffer. + * @param count The number of bytes to convert. + * @param shift1 The number of bits to shift byte 1. + * @param shift2 The number of bits to shift byte 2 + * @see #readDataChunk + * @see #rawReadBuffer + * @see #readBuffer + */ + private void copyUcs2ReadBuffer(int count, int shift1, int shift2) throws SAXException - { - int j = readBufferPos; - - if (count > 0 && (count % 2) != 0) { - encodingError ("odd number of bytes in UCS-2 encoding", -1, count); - } - // The loops are faster with less internal brancing; hence two - if (shift1 == 0) { // "UTF-16-LE" - for (int i = 0; i < count; i += 2) { - char c = (char) (rawReadBuffer [i + 1] << 8); - c |= 0xff & rawReadBuffer [i]; - readBuffer [j++] = c; - if (c == '\r') - sawCR = true; - } - } else { // "UTF-16-BE" - for (int i = 0; i < count; i += 2) { - char c = (char) (rawReadBuffer [i] << 8); - c |= 0xff & rawReadBuffer [i + 1]; - readBuffer [j++] = c; - if (c == '\r') - sawCR = true; - } - } - readBufferLength = j; - } - + { + int j = readBufferPos; + + if (count > 0 && (count % 2) != 0) + { + encodingError("odd number of bytes in UCS-2 encoding", -1, count); + } + // The loops are faster with less internal brancing; hence two + if (shift1 == 0) + { // "UTF-16-LE" + for (int i = 0; i < count; i += 2) + { + char c = (char) (rawReadBuffer[i + 1] << 8); + c |= 0xff & rawReadBuffer[i]; + readBuffer[j++] = c; + if (c == '\r') + { + sawCR = true; + } + } + } + else + { // "UTF-16-BE" + for (int i = 0; i < count; i += 2) + { + char c = (char) (rawReadBuffer[i] << 8); + c |= 0xff & rawReadBuffer[i + 1]; + readBuffer[j++] = c; + if (c == '\r') + { + sawCR = true; + } + } + } + readBufferLength = j; + } - /** - * Convert a buffer of UCS-4-encoded bytes into UTF-16 characters. - * - *

When readDataChunk () calls this method, the raw bytes are in - * rawReadBuffer, and the final characters will appear in - * readBuffer. - *

Java has Unicode chars, and this routine uses surrogate pairs - * for ISO-10646 values between 0x00010000 and 0x000fffff. An - * exception is thrown if the ISO-10646 character has no Unicode - * representation. - * - * @param count The number of bytes to convert. - * @param shift1 The number of bits to shift byte 1. - * @param shift2 The number of bits to shift byte 2 - * @param shift3 The number of bits to shift byte 2 - * @param shift4 The number of bits to shift byte 2 - * @see #readDataChunk - * @see #rawReadBuffer - * @see #readBuffer - */ - private void copyUcs4ReadBuffer (int count, int shift1, int shift2, - int shift3, int shift4) + /** + * Convert a buffer of UCS-4-encoded bytes into UTF-16 characters. + * + *

When readDataChunk () calls this method, the raw bytes are in + * rawReadBuffer, and the final characters will appear in + * readBuffer. + *

Java has Unicode chars, and this routine uses surrogate pairs + * for ISO-10646 values between 0x00010000 and 0x000fffff. An + * exception is thrown if the ISO-10646 character has no Unicode + * representation. + * + * @param count The number of bytes to convert. + * @param shift1 The number of bits to shift byte 1. + * @param shift2 The number of bits to shift byte 2 + * @param shift3 The number of bits to shift byte 2 + * @param shift4 The number of bits to shift byte 2 + * @see #readDataChunk + * @see #rawReadBuffer + * @see #readBuffer + */ + private void copyUcs4ReadBuffer(int count, int shift1, int shift2, + int shift3, int shift4) throws SAXException - { - int j = readBufferPos; - - if (count > 0 && (count % 4) != 0) { - encodingError ( - "number of bytes in UCS-4 encoding not divisible by 4", - -1, count); - } - for (int i = 0; i < count; i += 4) { - int value = (((rawReadBuffer [i] & 0xff) << shift1) | - ((rawReadBuffer [i + 1] & 0xff) << shift2) | - ((rawReadBuffer [i + 2] & 0xff) << shift3) | - ((rawReadBuffer [i + 3] & 0xff) << shift4)); - if (value < 0x0000ffff) { - readBuffer [j++] = (char) value; - if (value == (int) '\r') { - sawCR = true; - } - } else if (value < 0x0010ffff) { - value -= 0x010000; - readBuffer [j++] = (char) (0xd8 | ((value >> 10) & 0x03ff)); - readBuffer [j++] = (char) (0xdc | (value & 0x03ff)); - } else { - encodingError ("UCS-4 value out of range for Unicode", - value, i); - } - } - readBufferLength = j; - } - + { + int j = readBufferPos; + + if (count > 0 && (count % 4) != 0) + { + encodingError("number of bytes in UCS-4 encoding " + + "not divisible by 4", + -1, count); + } + for (int i = 0; i < count; i += 4) + { + int value = (((rawReadBuffer [i] & 0xff) << shift1) | + ((rawReadBuffer [i + 1] & 0xff) << shift2) | + ((rawReadBuffer [i + 2] & 0xff) << shift3) | + ((rawReadBuffer [i + 3] & 0xff) << shift4)); + if (value < 0x0000ffff) + { + readBuffer [j++] = (char) value; + if (value == (int) '\r') + { + sawCR = true; + } + } + else if (value < 0x0010ffff) + { + value -= 0x010000; + readBuffer[j++] = (char) (0xd8 | ((value >> 10) & 0x03ff)); + readBuffer[j++] = (char) (0xdc | (value & 0x03ff)); + } + else + { + encodingError("UCS-4 value out of range for Unicode", + value, i); + } + } + readBufferLength = j; + } - /** - * Report a character encoding error. - */ - private void encodingError (String message, int value, int offset) + /** + * Report a character encoding error. + */ + private void encodingError(String message, int value, int offset) throws SAXException - { - if (value != -1) - message = message + " (character code: 0x" + - Integer.toHexString (value) + ')'; - error (message); - } + { + if (value != -1) + { + message = message + " (character code: 0x" + + Integer.toHexString(value) + ')'; + error(message); + } + } + + ////////////////////////////////////////////////////////////////////// + // Local Variables. + ////////////////////////////////////////////////////////////////////// + + /** + * Re-initialize the variables for each parse. + */ + private void initializeVariables() + { + // First line + line = 1; + column = 0; + + // Set up the buffers for data and names + dataBufferPos = 0; + dataBuffer = new char[DATA_BUFFER_INITIAL]; + nameBufferPos = 0; + nameBuffer = new char[NAME_BUFFER_INITIAL]; + + // Set up the DTD hash tables + elementInfo = new HashMap(); + entityInfo = new HashMap(); + notationInfo = new HashMap(); + skippedPE = false; + + // Set up the variables for the current + // element context. + currentElement = null; + currentElementContent = CONTENT_UNDECLARED; + + // Set up the input variables + sourceType = INPUT_NONE; + inputStack = new LinkedList(); + entityStack = new LinkedList(); + externalEntity = null; + tagAttributePos = 0; + tagAttributes = new String[100]; + rawReadBuffer = new byte[READ_BUFFER_MAX]; + readBufferOverflow = -1; + + scratch = new InputSource(); + + inLiteral = false; + expandPE = false; + peIsError = false; + + doReport = false; + + inCDATA = false; + + symbolTable = new Object[SYMBOL_TABLE_LENGTH][]; + } + static class ExternalIdentifiers + { - ////////////////////////////////////////////////////////////////////// - // Local Variables. - ////////////////////////////////////////////////////////////////////// + String publicId; + String systemId; + String baseUri; - /** - * Re-initialize the variables for each parse. - */ - private void initializeVariables () + ExternalIdentifiers() { - // First line - line = 1; - column = 0; - - // Set up the buffers for data and names - dataBufferPos = 0; - dataBuffer = new char [DATA_BUFFER_INITIAL]; - nameBufferPos = 0; - nameBuffer = new char [NAME_BUFFER_INITIAL]; - - // Set up the DTD hash tables - elementInfo = new Hashtable (); - entityInfo = new Hashtable (); - notationInfo = new Hashtable (); - skippedPE = false; - - // Set up the variables for the current - // element context. - currentElement = null; - currentElementContent = CONTENT_UNDECLARED; - - // Set up the input variables - sourceType = INPUT_NONE; - inputStack = new Stack (); - entityStack = new Stack (); - externalEntity = null; - tagAttributePos = 0; - tagAttributes = new String [100]; - rawReadBuffer = new byte [READ_BUFFER_MAX]; - readBufferOverflow = -1; - - scratch = new InputSource (); - - inLiteral = false; - expandPE = false; - peIsError = false; - - doReport = false; - - inCDATA = false; - - symbolTable = new Object [SYMBOL_TABLE_LENGTH][]; } + ExternalIdentifiers(String publicId, String systemId, String baseUri) + { + this.publicId = publicId; + this.systemId = systemId; + this.baseUri = baseUri; + } + + } - // - // The current XML handler interface. - // - private SAXDriver handler; - - // - // I/O information. - // - private Reader reader; // current reader - private InputStream is; // current input stream - private int line; // current line number - private int column; // current column number - private int sourceType; // type of input source - private Stack inputStack; // stack of input soruces - private URLConnection externalEntity; // current external entity - private int encoding; // current character encoding - private int currentByteCount; // bytes read from current source - private InputSource scratch; // temporary - - // - // Buffers for decoded but unparsed character input. - // - private char readBuffer []; - private int readBufferPos; - private int readBufferLength; - private int readBufferOverflow; // overflow from last data chunk. - - - // - // Buffer for undecoded raw byte input. - // - private final static int READ_BUFFER_MAX = 16384; - private byte rawReadBuffer []; - - - // - // Buffer for attribute values, char refs, DTD stuff. - // - private static int DATA_BUFFER_INITIAL = 4096; - private char dataBuffer []; - private int dataBufferPos; - - // - // Buffer for parsed names. - // - private static int NAME_BUFFER_INITIAL = 1024; - private char nameBuffer []; - private int nameBufferPos; - - // - // Save any standalone flag - // - private boolean docIsStandalone; - - // - // Hashtables for DTD information on elements, entities, and notations. - // Populated until we start ignoring decls (because of skipping a PE) - // - private Hashtable elementInfo; - private Hashtable entityInfo; - private Hashtable notationInfo; - private boolean skippedPE; - - - // - // Element type currently in force. - // - private String currentElement; - private int currentElementContent; - - // - // Stack of entity names, to detect recursion. - // - private Stack entityStack; - - // - // PE expansion is enabled in most chunks of the DTD, not all. - // When it's enabled, literals are treated differently. - // - private boolean inLiteral; - private boolean expandPE; - private boolean peIsError; - - // - // can't report entity expansion inside two constructs: - // - attribute expansions (internal entities only) - // - markup declarations (parameter entities only) - // - private boolean doReport; - - // - // Symbol table, for caching interned names. - // - // These show up wherever XML names or nmtokens are used: naming elements, - // attributes, PIs, notations, entities, and enumerated attribute values. - // - // NOTE: This hashtable doesn't grow. The default size is intended to be - // rather large for most documents. Example: one snapshot of the DocBook - // XML 4.1 DTD used only about 350 such names. As a rule, only pathological - // documents (ones that don't reuse names) should ever see much collision. - // - // Be sure that SYMBOL_TABLE_LENGTH always stays prime, for best hashing. - // "2039" keeps the hash table size at about two memory pages on typical - // 32 bit hardware. - // - private final static int SYMBOL_TABLE_LENGTH = 2039; + static class EntityInfo + { - private Object symbolTable [][]; + int type; + ExternalIdentifiers ids; + String value; + String notationName; + + } - // - // Hash table of attributes found in current start tag. - // - private String tagAttributes []; - private int tagAttributePos; + static class AttributeDecl + { + + String type; + String value; + int valueType; + String enumeration; + String defaultValue; - // - // Utility flag: have we noticed a CR while reading the last - // data chunk? If so, we will have to go back and normalise - // CR or CR/LF line ends. - // - private boolean sawCR; + } - // - // Utility flag: are we in CDATA? If so, whitespace isn't ignorable. - // - private boolean inCDATA; + static class ElementDecl + { - // - // Xml version. - // - private static final int XML_10 = 0; - private static final int XML_11 = 1; - private int xmlVersion = XML_10; + int contentType; + String contentModel; + HashMap attributes; + + } + + static class Input + { + + int sourceType; + URLConnection externalEntity; + char[] readBuffer; + int readBufferPos; + int readBufferLength; + int line; + int encoding; + int readBufferOverflow; + InputStream is; + int currentByteCount; + int column; + Reader reader; + + } + } + diff --git a/libjava/gnu/xml/aelfred2/XmlReader.java b/libjava/gnu/xml/aelfred2/XmlReader.java index 96c9c723fb6..dacf8b103d1 100644 --- a/libjava/gnu/xml/aelfred2/XmlReader.java +++ b/libjava/gnu/xml/aelfred2/XmlReader.java @@ -70,246 +70,305 @@ import gnu.xml.pipeline.ValidationConsumer; * * @author David Brownell */ -public final class XmlReader implements XMLReader +public final class XmlReader + implements XMLReader { - private SAXDriver aelfred2 = new SAXDriver (); - private EventFilter filter = new EventFilter (); - private boolean isValidating; - private boolean active; - - /** Constructs a SAX Parser. */ - public XmlReader () - { } - - /** - * Constructs a SAX Parser, optionally treating validity errors - * as if they were fatal errors. - */ - public XmlReader (boolean invalidIsFatal) - { - if (invalidIsFatal) - setErrorHandler (new DefaultHandler2 () { - public void error (SAXParseException e) - throws SAXException - { throw e; } - }); - } - - /** - * SAX2: Returns the object used to report the logical - * content of an XML document. - */ - public ContentHandler getContentHandler () - { return filter.getContentHandler (); } - - /** - * SAX2: Assigns the object used to report the logical - * content of an XML document. - * @exception IllegalStateException if called mid-parse - */ - public void setContentHandler (ContentHandler handler) + static class FatalErrorHandler + extends DefaultHandler2 + { + + public void error(SAXParseException e) + throws SAXException { - if (active) - throw new IllegalStateException ("already parsing"); - filter.setContentHandler (handler); + throw e; } - - /** - * SAX2: Returns the object used to process declarations related - * to notations and unparsed entities. - */ - public DTDHandler getDTDHandler () - { return filter.getDTDHandler (); } - - /** - * SAX1 Assigns DTD handler - * @exception IllegalStateException if called mid-parse - */ - public void setDTDHandler (DTDHandler handler) - { - if (active) - throw new IllegalStateException ("already parsing"); - filter.setDTDHandler (handler); - } - - /** - * SAX2: Returns the object used when resolving external - * entities during parsing (both general and parameter entities). - */ - public EntityResolver getEntityResolver () - { return aelfred2.getEntityResolver (); } - - /** SAX1 Assigns parser's entity resolver */ - public void setEntityResolver (EntityResolver handler) - { aelfred2.setEntityResolver (handler); } - - /** - * SAX2: Returns the object used to receive callbacks for XML - * errors of all levels (fatal, nonfatal, warning); this is never null; - */ - public ErrorHandler getErrorHandler () - { return aelfred2.getErrorHandler (); } - - /** - * SAX1 Assigns error handler - * @exception IllegalStateException if called mid-parse - */ - public void setErrorHandler (ErrorHandler handler) - { - if (active) - throw new IllegalStateException ("already parsing"); - aelfred2.setErrorHandler (handler); - } - - /** - * SAX2: Assigns the specified property. - * @exception IllegalStateException if called mid-parse - */ - public void setProperty (String propertyId, Object value) + + } + + private SAXDriver aelfred2 = new SAXDriver(); + private EventFilter filter = new EventFilter(); + private boolean isValidating; + private boolean active; + + /** + * Constructs a SAX Parser. + */ + public XmlReader() + { + } + + /** + * Constructs a SAX Parser, optionally treating validity errors + * as if they were fatal errors. + */ + public XmlReader(boolean invalidIsFatal) + { + if (invalidIsFatal) + { + setErrorHandler(new FatalErrorHandler()); + } + } + + /** + * SAX2: Returns the object used to report the logical + * content of an XML document. + */ + public ContentHandler getContentHandler() + { + return filter.getContentHandler(); + } + + /** + * SAX2: Assigns the object used to report the logical + * content of an XML document. + * @exception IllegalStateException if called mid-parse + */ + public void setContentHandler(ContentHandler handler) + { + if (active) + { + throw new IllegalStateException("already parsing"); + } + filter.setContentHandler(handler); + } + + /** + * SAX2: Returns the object used to process declarations related + * to notations and unparsed entities. + */ + public DTDHandler getDTDHandler() + { + return filter.getDTDHandler(); + } + + /** + * SAX1 Assigns DTD handler + * @exception IllegalStateException if called mid-parse + */ + public void setDTDHandler(DTDHandler handler) + { + if (active) + { + throw new IllegalStateException("already parsing"); + } + filter.setDTDHandler(handler); + } + + /** + * SAX2: Returns the object used when resolving external + * entities during parsing (both general and parameter entities). + */ + public EntityResolver getEntityResolver() + { + return aelfred2.getEntityResolver(); + } + + /** + * SAX1 Assigns parser's entity resolver + */ + public void setEntityResolver(EntityResolver handler) + { + aelfred2.setEntityResolver(handler); + } + + /** + * SAX2: Returns the object used to receive callbacks for XML + * errors of all levels (fatal, nonfatal, warning); this is never null; + */ + public ErrorHandler getErrorHandler() + { + return aelfred2.getErrorHandler(); + } + + /** + * SAX1 Assigns error handler + * @exception IllegalStateException if called mid-parse + */ + public void setErrorHandler(ErrorHandler handler) + { + if (active) + { + throw new IllegalStateException("already parsing"); + } + aelfred2.setErrorHandler(handler); + } + + /** + * SAX2: Assigns the specified property. + * @exception IllegalStateException if called mid-parse + */ + public void setProperty(String propertyId, Object value) throws SAXNotRecognizedException, SAXNotSupportedException - { - if (active) - throw new IllegalStateException ("already parsing"); - if (getProperty (propertyId) != value) - filter.setProperty (propertyId, value); - } - - /** - * SAX2: Returns the specified property. - */ - public Object getProperty (String propertyId) + { + if (active) + { + throw new IllegalStateException("already parsing"); + } + if (getProperty(propertyId) != value) + { + filter.setProperty(propertyId, value); + } + } + + /** + * SAX2: Returns the specified property. + */ + public Object getProperty(String propertyId) throws SAXNotRecognizedException - { - if ((SAXDriver.PROPERTY + "declaration-handler") - .equals (propertyId) - || (SAXDriver.PROPERTY + "lexical-handler") - .equals (propertyId)) - return filter.getProperty (propertyId); - throw new SAXNotRecognizedException (propertyId); - } - - private void forceValidating () + { + if ((SAXDriver.PROPERTY + "declaration-handler").equals(propertyId) + || (SAXDriver.PROPERTY + "lexical-handler").equals(propertyId)) + { + return filter.getProperty(propertyId); + } + throw new SAXNotRecognizedException(propertyId); + } + + private void forceValidating() throws SAXNotRecognizedException, SAXNotSupportedException - { - aelfred2.setFeature ( - SAXDriver.FEATURE + "namespace-prefixes", - true); - aelfred2.setFeature ( - SAXDriver.FEATURE + "external-general-entities", - true); - aelfred2.setFeature ( - SAXDriver.FEATURE + "external-parameter-entities", - true); - } - - /** - * SAX2: Sets the state of features supported in this parser. - * Note that this parser requires reporting of namespace prefixes when - * validating. - */ - public void setFeature (String featureId, boolean state) + { + aelfred2.setFeature(SAXDriver.FEATURE + "namespace-prefixes", + true); + aelfred2.setFeature(SAXDriver.FEATURE + "external-general-entities", + true); + aelfred2.setFeature(SAXDriver.FEATURE + "external-parameter-entities", + true); + } + + /** + * SAX2: Sets the state of features supported in this parser. + * Note that this parser requires reporting of namespace prefixes when + * validating. + */ + public void setFeature(String featureId, boolean state) throws SAXNotRecognizedException, SAXNotSupportedException - { - boolean value = getFeature (featureId); - - if (state == value) - return; - - if ((SAXDriver.FEATURE + "validation").equals (featureId)) { - if (active) - throw new SAXNotSupportedException ("already parsing"); - if (state) - forceValidating (); - isValidating = state; - } else - aelfred2.setFeature (featureId, state); - } - - /** - * SAX2: Tells whether this parser supports the specified feature. - * At this time, this directly parallels the underlying SAXDriver, - * except that validation is optionally supported. - * - * @see SAXDriver - */ - public boolean getFeature (String featureId) + { + boolean value = getFeature(featureId); + + if (state == value) + { + return; + } + + if ((SAXDriver.FEATURE + "validation").equals(featureId)) + { + if (active) + { + throw new SAXNotSupportedException("already parsing"); + } + if (state) + { + forceValidating(); + } + isValidating = state; + } + else + { + aelfred2.setFeature(featureId, state); + } + } + + /** + * SAX2: Tells whether this parser supports the specified feature. + * At this time, this directly parallels the underlying SAXDriver, + * except that validation is optionally supported. + * + * @see SAXDriver + */ + public boolean getFeature(String featureId) throws SAXNotRecognizedException, SAXNotSupportedException - { - if ((SAXDriver.FEATURE + "validation").equals (featureId)) - return isValidating; - - return aelfred2.getFeature (featureId); - } - - /** - * SAX1: Sets the locale used for diagnostics; currently, - * only locales using the English language are supported. - * @param locale The locale for which diagnostics will be generated - */ - public void setLocale (Locale locale) + { + if ((SAXDriver.FEATURE + "validation").equals(featureId)) + { + return isValidating; + } + + return aelfred2.getFeature(featureId); + } + + /** + * SAX1: Sets the locale used for diagnostics; currently, + * only locales using the English language are supported. + * @param locale The locale for which diagnostics will be generated + */ + public void setLocale(Locale locale) throws SAXException - { aelfred2.setLocale (locale); } + { + aelfred2.setLocale(locale); + } - /** - * SAX1: Preferred API to parse an XML document, using a - * system identifier (URI). + /** + * SAX1: Preferred API to parse an XML document, using a + * system identifier (URI). */ - public void parse (String systemId) + public void parse(String systemId) throws SAXException, IOException - { - parse (new InputSource (systemId)); - } - - /** - * SAX1: Underlying API to parse an XML document, used - * directly when no URI is available. When this is invoked, - * and the parser is set to validate, some features will be - * automatically reset to appropriate values: for reporting - * namespace prefixes, and incorporating external entities. - * - * @param source The XML input source. - * - * @exception IllegalStateException if called mid-parse - * @exception SAXException The handlers may throw any SAXException, - * and the parser normally throws SAXParseException objects. - * @exception IOException IOExceptions are normally through through - * the parser if there are problems reading the source document. - */ - public void parse (InputSource source) + { + parse(new InputSource(systemId)); + } + + /** + * SAX1: Underlying API to parse an XML document, used + * directly when no URI is available. When this is invoked, + * and the parser is set to validate, some features will be + * automatically reset to appropriate values: for reporting + * namespace prefixes, and incorporating external entities. + * + * @param source The XML input source. + * + * @exception IllegalStateException if called mid-parse + * @exception SAXException The handlers may throw any SAXException, + * and the parser normally throws SAXParseException objects. + * @exception IOException IOExceptions are normally through through + * the parser if there are problems reading the source document. + */ + public void parse(InputSource source) throws SAXException, IOException - { - EventFilter next; - boolean nsdecls; - - synchronized (aelfred2) { - if (active) - throw new IllegalStateException ("already parsing"); - active = true; - } - - // set up the output pipeline - if (isValidating) { - forceValidating (); - next = new ValidationConsumer (filter); - } else - next = filter; - - // connect pipeline and error handler - // don't let _this_ call to bind() affect xmlns* attributes - nsdecls = aelfred2.getFeature ( - SAXDriver.FEATURE + "namespace-prefixes"); - EventFilter.bind (aelfred2, next); - if (!nsdecls) - aelfred2.setFeature ( - SAXDriver.FEATURE + "namespace-prefixes", - false); - - // parse, clean up - try { - aelfred2.parse (source); - } finally { - active = false; - } - } + { + EventFilter next; + boolean nsdecls; + + synchronized (aelfred2) + { + if (active) + { + throw new IllegalStateException("already parsing"); + } + active = true; + } + + // set up the output pipeline + if (isValidating) + { + forceValidating(); + next = new ValidationConsumer(filter); + } + else + { + next = filter; + } + + // connect pipeline and error handler + // don't let _this_ call to bind() affect xmlns* attributes + nsdecls = aelfred2.getFeature(SAXDriver.FEATURE + "namespace-prefixes"); + EventFilter.bind(aelfred2, next); + if (!nsdecls) + { + aelfred2.setFeature(SAXDriver.FEATURE + "namespace-prefixes", + false); + } + + // parse, clean up + try + { + aelfred2.parse(source); + } + finally + { + active = false; + } + } + } + diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in index 56280f3761c..e31c5437351 100644 --- a/libjava/include/Makefile.in +++ b/libjava/include/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/libjava/java/lang/VMClassLoader.java b/libjava/java/lang/VMClassLoader.java index c0739ba7e7c..dfbfba4ceb3 100644 --- a/libjava/java/lang/VMClassLoader.java +++ b/libjava/java/lang/VMClassLoader.java @@ -53,6 +53,7 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; +import gnu.gcj.runtime.BootClassLoader; /** * java.lang.VMClassLoader is a package-private helper for VMs to implement @@ -82,6 +83,10 @@ final class VMClassLoader static final HashMap definedPackages = new HashMap(); + // This is a helper for handling java.endorsed.dirs. It is null + // until we've initialized the system, at which point it is created. + static BootClassLoader bootLoader; + /** * Helper to define a class using a string of bytes. This assumes that * the security checks have already been performed, if necessary. @@ -153,6 +158,8 @@ final class VMClassLoader */ static URL getResource(String name) { + if (bootLoader != null) + return bootLoader.bootGetResource(name); return null; } @@ -168,6 +175,8 @@ final class VMClassLoader */ static Enumeration getResources(String name) throws IOException { + if (bootLoader != null) + return bootLoader.bootGetResources(name); return EmptyEnumeration.getInstance(); } @@ -287,6 +296,8 @@ final class VMClassLoader static native ClassLoader getSystemClassLoaderInternal(); + static native void initBootLoader(String libdir); + static ClassLoader getSystemClassLoader() { // This method is called as the initialization of systemClassLoader, @@ -310,6 +321,7 @@ final class VMClassLoader + loader, ex); } } + return default_sys; } } diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index f48a6fd77ed..b93694790bb 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -126,16 +126,16 @@ java::lang::Class::getClassLoader (void) s->checkPermission (new RuntimePermission (JvNewStringLatin1 ("getClassLoader"))); } - // The spec requires us to return `null' for primitive classes. In - // other cases we have the option of returning `null' for classes - // loaded with the bootstrap loader. All gcj-compiled classes which - // are linked into the application used to return `null' here, but - // that confuses some poorly-written applications. It is a useful - // and apparently harmless compatibility hack to simply never return - // `null' instead. - if (isPrimitive ()) - return NULL; - return loader ? loader : ClassLoader::systemClassLoader; + // This particular 'return' has been changed a couple of times over + // libgcj's history. This particular approach is a little weird, + // because it means that all classes linked into the application + // will see NULL for their class loader. This may confuse some + // applications that aren't expecting this; the solution is to use a + // different linking model for these applications. In the past we + // returned the system class loader in this case, but that is + // incorrect. Also, back then we didn't have other linkage models + // to fall back on. + return loader; } java::lang::reflect::Constructor * diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index dfb976a2954..c3b1f7e998f 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -43,6 +43,7 @@ details. */ #include #include #include +#include // Size of local hash table. #define HASH_LEN 1013 @@ -106,7 +107,7 @@ void _Jv_RegisterInitiatingLoader (jclass klass, java::lang::ClassLoader *loader) { if (! loader) - loader = java::lang::ClassLoader::systemClassLoader; + loader = java::lang::VMClassLoader::bootLoader; loader->loadedClasses->put(klass->name->toString(), klass); } @@ -116,7 +117,7 @@ void _Jv_UnregisterInitiatingLoader (jclass klass, java::lang::ClassLoader *loader) { if (! loader) - loader = java::lang::ClassLoader::systemClassLoader; + loader = java::lang::VMClassLoader::bootLoader; loader->loadedClasses->remove(klass->name->toString()); } @@ -211,13 +212,14 @@ _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader) // See if the class was already loaded by this loader. This handles // initiating loader checks, as we register classes with their // initiating loaders. - java::lang::ClassLoader *sys = java::lang::ClassLoader::systemClassLoader; + + java::lang::ClassLoader *boot = java::lang::VMClassLoader::bootLoader; java::lang::ClassLoader *real = loader; if (! real) - real = sys; + real = boot; jstring sname = name->toString(); // We might still be bootstrapping the VM, in which case there - // won't be a system class loader yet. + // won't be a bootstrap class loader yet. jclass klass = real ? real->findLoadedClass (sname) : NULL; if (! klass) @@ -230,16 +232,16 @@ _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader) // If "loader" delegated the loadClass operation to another // loader, explicitly register that it is also an initiating // loader of the given class. - java::lang::ClassLoader *delegate = (loader == sys + java::lang::ClassLoader *delegate = (loader == boot ? NULL : loader); if (klass && klass->getClassLoaderInternal () != delegate) _Jv_RegisterInitiatingLoader (klass, loader); } - else if (sys) + else if (boot) { // Load using the bootstrap loader jvmspec 5.3.1. - klass = sys->loadClass (sname, false); + klass = java::lang::VMClassLoader::loadClass (sname, false); // Register that we're an initiating loader. if (klass) @@ -250,9 +252,21 @@ _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader) // Not even a bootstrap loader, try the built-in cache. klass = _Jv_FindClassInCache (name); - if (bootstrap_index == BOOTSTRAP_CLASS_LIST_SIZE) - abort (); - bootstrap_class_list[bootstrap_index++] = klass; + bool found = false; + for (int i = 0; i < bootstrap_index; ++i) + { + if (bootstrap_class_list[i] == klass) + { + found = true; + break; + } + } + if (! found) + { + if (bootstrap_index == BOOTSTRAP_CLASS_LIST_SIZE) + abort (); + bootstrap_class_list[bootstrap_index++] = klass; + } } } else diff --git a/libjava/java/lang/natVMClassLoader.cc b/libjava/java/lang/natVMClassLoader.cc index 9a539d7e5c3..c59e1d67f04 100644 --- a/libjava/java/lang/natVMClassLoader.cc +++ b/libjava/java/lang/natVMClassLoader.cc @@ -25,6 +25,7 @@ details. */ #include #include #include +#include #include #include #include @@ -66,9 +67,9 @@ java::lang::VMClassLoader::defineClass (java::lang::ClassLoader *loader, // until we're done loading. JvSynchronize sync (klass); - // Record the defining loader. For the system class loader, we - // record NULL. - if (loader != java::lang::ClassLoader::systemClassLoader) + // Record the defining loader. For the bootstrap class loader, + // we record NULL. + if (loader != bootLoader) klass->loader = loader; if (name != 0) @@ -122,11 +123,25 @@ java::lang::VMClassLoader::getPrimitiveClass (jchar type) return _Jv_FindClassFromSignature (sig, NULL); } +void +java::lang::VMClassLoader::initBootLoader(jstring libdir) +{ + bootLoader = new gnu::gcj::runtime::BootClassLoader(libdir); +} + jclass java::lang::VMClassLoader::loadClass(jstring name, jboolean resolve) { - _Jv_Utf8Const *utf = _Jv_makeUtf8Const (name); - jclass klass = _Jv_FindClassInCache (utf); + // We try the boot loader first, so that the endorsed directory + // overrides compiled-in classes. + jclass klass = NULL; + if (bootLoader) + klass = bootLoader->bootLoadClass(name); + if (! klass) + { + _Jv_Utf8Const *utf = _Jv_makeUtf8Const (name); + klass = _Jv_FindClassInCache (utf); + } if (klass) { // We never want to return a class without its supers linked. diff --git a/libjava/prims.cc b/libjava/prims.cc index 9281711ae89..a916edd7a12 100644 --- a/libjava/prims.cc +++ b/libjava/prims.cc @@ -55,6 +55,7 @@ details. */ #include #include #include +#include #include #include #include @@ -1130,8 +1131,9 @@ _Jv_CreateJavaVM (JvVMInitArgs* vm_args) // of VMClassLoader. _Jv_InitClass (&java::lang::ClassLoader::class$); - // Set up the system class loader. + // Set up the system class loader and the bootstrap class loader. gnu::gcj::runtime::VMClassLoader::initialize(); + java::lang::VMClassLoader::initBootLoader(JvNewStringLatin1(TOOLEXECLIBDIR)); _Jv_RegisterBootstrapPackages(); @@ -1209,7 +1211,10 @@ _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, java::lang::System::err->println (JvNewStringLatin1 ("Exception during runtime initialization")); t->printStackTrace(); - runtime->exit (1); + if (runtime) + runtime->exit (1); + // In case the runtime creation failed. + ::exit (1); } _Jv_AttachCurrentThread (main_thread); diff --git a/libjava/stacktrace.cc b/libjava/stacktrace.cc index f307e7ac750..f4388aa6f3a 100644 --- a/libjava/stacktrace.cc +++ b/libjava/stacktrace.cc @@ -495,7 +495,7 @@ _Jv_StackTrace::non_system_trace_fn (_Jv_UnwindState *state) { classLoader = frame->klass->getClassLoaderInternal(); #ifdef INTERPRETER - if (classLoader != NULL && classLoader != ClassLoader::systemClassLoader) + if (classLoader != NULL) { state->trace_data = (void *) classLoader; return _URC_NORMAL_STOP; diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in index 3336bcbe8d7..66b60af1e3a 100644 --- a/libjava/testsuite/Makefile.in +++ b/libjava/testsuite/Makefile.in @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile.in generated by automake 1.9.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -- 2.11.0