summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorJoshua Sumali <jsumali@redhat.com>2008-05-27 19:25:27 +0000
committerJoshua Sumali <jsumali@redhat.com>2008-05-27 19:25:27 +0000
commitb982843cf69bc9e8bfa4aa26beffd2c71f7282f6 (patch)
treebe1f2467b9d6c9be2b85c75c3c81bf601365b69d /m4
parent295c1e3a4c0a05d30e874beacdf528437098e25d (diff)
downloadclasspath-b982843cf69bc9e8bfa4aa26beffd2c71f7282f6.tar.gz
2008-05-27 Joshua Sumali <jsumali@redhat.com>
* configure.ac: Add support for Antlr. This is used for building gjdoc. Also generate tools/gjdoc wrapper with gjdoc.in. * doc/gjdoc.texi: New file. * doc/invoke.texi: New file. * doc/Makefile.am: Generate gjdoc documentation. * m4/ac_prog_antlr.m4: New file. * m4/ac_prog_java.m4: New file. * m4/ac_prog_java_works.m4: New file. * tools/Makefile.am: Build gjdoc as part of tools. * tools/com/sun/tools/javadoc/Main.java, * tools/gjdoc.in, * tools/gnu/classpath/tools/doclets/AbstractDoclet.java, * tools/gnu/classpath/tools/doclets/.cvsignore, * tools/gnu/classpath/tools/doclets/debugdoclet/.cvsignore, * tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java, * tools/gnu/classpath/tools/doclets/DocletConfigurationException.java, * tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java, * tools/gnu/classpath/tools/doclets/DocletOptionFile.java, * tools/gnu/classpath/tools/doclets/DocletOptionFlag.java, * tools/gnu/classpath/tools/doclets/DocletOption.java, * tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java, * tools/gnu/classpath/tools/doclets/DocletOptionString.java, * tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java, * tools/gnu/classpath/tools/doclets/htmldoclet/.cvsignore, * tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java, * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java, * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java, * tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java, * tools/gnu/classpath/tools/doclets/InlineTagRenderer.java, * tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java, * tools/gnu/classpath/tools/doclets/PackageGroup.java, * tools/gnu/classpath/tools/doclets/PackageMatcher.java, * tools/gnu/classpath/tools/doclets/StandardTaglet.java, * tools/gnu/classpath/tools/doclets/TagletPrinter.java, * tools/gnu/classpath/tools/doclets/xmldoclet/.cvsignore, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/.cvsignore, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java, * tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/package.html, * tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java, * tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java, * tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java, * tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java, * tools/gnu/classpath/tools/FileSystemClassLoader.java, * tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java, * tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java, * tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java, * tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java, * tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java, * tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java, * tools/gnu/classpath/tools/gjdoc/.cvsignore, * tools/gnu/classpath/tools/gjdoc/Debug.java, * tools/gnu/classpath/tools/gjdoc/DirectoryTree.java, * tools/gnu/classpath/tools/gjdoc/DocImpl.java, * tools/gnu/classpath/tools/gjdoc/ErrorReporter.java, * tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java, * tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java, * tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java, * tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java, * tools/gnu/classpath/tools/gjdoc/expr/Context.java, * tools/gnu/classpath/tools/gjdoc/expr/.cvsignore, * tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java, * tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java, * tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/Expression.java, * tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java, * tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/java-expression.g, * tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/Type.java, * tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java, * tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java, * tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java, * tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java, * tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java, * tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java, * tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java, * tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java, * tools/gnu/classpath/tools/gjdoc/Main.java, * tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java, * tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java, * tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java, * tools/gnu/classpath/tools/gjdoc/ParameterImpl.java, * tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java, * tools/gnu/classpath/tools/gjdoc/ParseException.java, * tools/gnu/classpath/tools/gjdoc/Parser.java, * tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java, * tools/gnu/classpath/tools/gjdoc/RootDocImpl.java, * tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java, * tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java, * tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java, * tools/gnu/classpath/tools/gjdoc/TagContainer.java, * tools/gnu/classpath/tools/gjdoc/TagImpl.java, * tools/gnu/classpath/tools/gjdoc/TemporaryStore.java, * tools/gnu/classpath/tools/gjdoc/TextTagImpl.java, * tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java, * tools/gnu/classpath/tools/gjdoc/TimerDoclet.java, * tools/gnu/classpath/tools/gjdoc/Timer.java, * tools/gnu/classpath/tools/gjdoc/TypeImpl.java, * tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java, * tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java, * tools/gnu/classpath/tools/gjdoc/WritableType.java, * tools/gnu/classpath/tools/IOToolkit.java, * tools/gnu/classpath/tools/java2xhtml/.cvsignore, * tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java, * tools/gnu/classpath/tools/MalformedInputEvent.java, * tools/gnu/classpath/tools/MalformedInputListener.java, * tools/gnu/classpath/tools/NotifyingInputStreamReader.java, * tools/gnu/classpath/tools/StringToolkit.java, * tools/gnu/classpath/tools/taglets/AuthorTaglet.java, * tools/gnu/classpath/tools/taglets/CodeTaglet.java, * tools/gnu/classpath/tools/taglets/CopyrightTaglet.java, * tools/gnu/classpath/tools/taglets/.cvsignore, * tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java, * tools/gnu/classpath/tools/taglets/GenericTaglet.java, * tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java, * tools/gnu/classpath/tools/taglets/SinceTaglet.java, * tools/gnu/classpath/tools/taglets/TagletContext.java, * tools/gnu/classpath/tools/taglets/ValueTaglet.java, * tools/gnu/classpath/tools/taglets/VersionTaglet.java, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/gjdoc_common.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/about.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/allclasses.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/allpackages.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/alphaindex_chunked.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/alphaindex.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/classdoc-source.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/classdoc-uses.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/classdoc.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/deprecated.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/descriptor.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/doctranslet.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/fulltree.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/gjdoc.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/help.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/html_common.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/index_noframes.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/index.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/packageclasses.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/packagedoc.xsl, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/res/default_help_en.html, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/res/gjdochtml-clean.css, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/res/gjdochtml.css, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/res/gjdochtml-fixed.css, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/res/gjdochtml-sclara.css, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/res/gjdoc.js, * tools/resource/gnu/classpath/tools/gjdoc/doctranslets/html/serialized.xsl, * tools/resource/gnu/classpath/tools/gjdoc/dtd/dbcentx.mod, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsa.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsb.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsc.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsn.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amso.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-amsr.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-box.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr1.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-cyr2.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-dia.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk1.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk2.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk3.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-grk4.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat1.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-lat2.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-num.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-pub.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/ent/iso-tech.ent, * tools/resource/gnu/classpath/tools/gjdoc/dtd/gjdoc-alphaindex.dtd, * tools/resource/gnu/classpath/tools/gjdoc/dtd/gjdoc.dtd, * tools/resource/gnu/classpath/tools/gjdoc/htmldoclet/gjdochtml-clean-color1.css, * tools/resource/gnu/classpath/tools/gjdoc/htmldoclet/gjdochtml-clean-layout.css, * tools/resource/gnu/classpath/tools/gjdoc/htmldoclet/gjdochtml-vanilla.css, * tools/resource/gnu/classpath/tools/gjdoc/htmldoclet/gjdoc.js, * tools/resource/gnu/classpath/tools/gjdoc/htmldoclet/help.xhtml, * tools/resource/gnu/classpath/tools/gjdoc/htmldoclet/HtmlDoclet.properties, * tools/resource/gnu/classpath/tools/gjdoc/htmldoclet/xhtml11-target10.dtd, * tools/resource/gnu/classpath/tools/gjdoc/java.lang-classes-1.2.txt, * tools/resource/gnu/classpath/tools/gjdoc/java.lang-classes-1.3.txt, * tools/resource/gnu/classpath/tools/gjdoc/java.lang-classes-1.4.txt, * tools/resource/gnu/classpath/tools/gjdoc/java.lang-classes-1.5.txt, * tools/resource/gnu/classpath/tools/gjdoc/rng/gjdoc-classdoc.rng, * tools/resource/gnu/classpath/tools/gjdoc/rng/gjdoc-common.rng, * tools/resource/gnu/classpath/tools/gjdoc/rng/gjdoc-index.rng, * tools/resource/gnu/classpath/tools/gjdoc/version.properties, * tools/resource/gnu/classpath/tools/gjdoc/version.properties.in: New files, taken from gjdoc source tree.
Diffstat (limited to 'm4')
-rw-r--r--m4/ac_prog_antlr.m444
-rw-r--r--m4/ac_prog_java.m416
-rw-r--r--m4/ac_prog_java_works.m4109
3 files changed, 169 insertions, 0 deletions
diff --git a/m4/ac_prog_antlr.m4 b/m4/ac_prog_antlr.m4
new file mode 100644
index 000000000..9f83aca75
--- /dev/null
+++ b/m4/ac_prog_antlr.m4
@@ -0,0 +1,44 @@
+
+AC_DEFUN([AC_PROG_ANTLR],[
+ if test -z "$ANTLR_JAR"; then
+ AC_REQUIRE([AC_PROG_JAVA])dnl
+ AC_MSG_CHECKING([for antlr $1.$2.$3 or better])
+ for antlr_lib_home in `ls -d /usr/local/share/antlr* 2> /dev/null` /usr/share/antlr/lib /usr/share/java /usr/lib; do
+ antlr_version_str=`$JAVA -classpath "$antlr_lib_home/antlr.jar" antlr.Tool 2>&1 | head -n 1 | sed '/.*Version */!d; s///;q'`
+ if test "$antlr_version_str"; then
+ antlr_version_regex='s/\([[[:digit:]]]\+\)\.\([[[:digit:]]]\+\)\.\([[[:digit:]]]\+\).*$/'
+ antlr_version_major=`echo $antlr_version_str | sed "$antlr_version_regex\\1/"`
+ antlr_version_minor=`echo $antlr_version_str | sed "$antlr_version_regex\\2/"`
+ antlr_version_micro=`echo $antlr_version_str | sed "$antlr_version_regex\\3/"`
+ (test $antlr_version_major -gt $1 ||
+ (test $antlr_version_major -eq $1 && \
+ test $antlr_version_minor -gt $2) || \
+ (test $antlr_version_major -eq $1 && \
+ test $antlr_version_minor -eq $2 && \
+ test $antlr_version_micro -ge $3)) && \
+
+ (test -z $ANTLR_JAR || \
+ (test $antlr_version_major -gt $antlr_use_major ||
+ (test $antlr_version_major -eq $antlr_use_major && \
+ test $antlr_version_minor -gt $antlr_use_minor) || \
+ (test $antlr_version_major -eq $antlr_use_major && \
+ test $antlr_version_minor -eq $antlr_use_minor && \
+ test $antlr_version_micro -ge $antlr_use_micro))) && \
+ ANTLR_JAR=$antlr_lib_home/antlr.jar && \
+ antlr_use_major=$antlr_version_major && \
+ antlr_use_minor=$antlr_version_minor && \
+ antlr_use_micro=$antlr_version_micro
+ fi
+ done
+ else
+ test -f $ANTLR_JAR || AC_MSG_ERROR([specified ANTLR jar file $ANTLR_JAR not found.]) \
+ && AC_MSG_NOTICE([using ANTLR parser generator in $ANTLR_JAR])
+ fi
+ ANTLR="$JAVA -classpath $ANTLR_JAR antlr.Tool"
+ test -z $ANTLR_JAR && \
+ AC_MSG_ERROR(no suitable antlr.jar found for version $1.$2.$3)
+ AC_MSG_RESULT($antlr_use_major.$antlr_use_minor.$antlr_use_micro)
+ AC_SUBST(ANTLR)
+ AC_SUBST(ANTLR_JAR)
+ AC_PROVIDE([$0])dnl
+])
diff --git a/m4/ac_prog_java.m4 b/m4/ac_prog_java.m4
new file mode 100644
index 000000000..dd40a0eed
--- /dev/null
+++ b/m4/ac_prog_java.m4
@@ -0,0 +1,16 @@
+dnl Available from the GNU Autoconf Macro Archive at:
+dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_prog_java.html
+dnl
+dnl Changes for gjdoc: check for "kaffe, gij, java", not only "kaffe, java"
+dnl
+AC_DEFUN([AC_PROG_JAVA],[
+AC_REQUIRE([AC_EXEEXT])dnl
+if test x$JAVAPREFIX = x; then
+ test x$JAVA = x && AC_CHECK_PROGS(JAVA, kaffe$EXEEXT gij$EXEEXT java$EXEEXT)
+else
+ test x$JAVA = x && AC_CHECK_PROGS(JAVA, kaffe$EXEEXT gij$EXEEXT java$EXEEXT, $JAVAPREFIX)
+fi
+test x$JAVA = x && AC_MSG_ERROR([no acceptable Java virtual machine found in \$PATH])
+AC_PROG_JAVA_WORKS
+AC_PROVIDE([$0])dnl
+])
diff --git a/m4/ac_prog_java_works.m4 b/m4/ac_prog_java_works.m4
new file mode 100644
index 000000000..ffde1ffc4
--- /dev/null
+++ b/m4/ac_prog_java_works.m4
@@ -0,0 +1,109 @@
+dnl Available from the GNU Autoconf Macro Archive at:
+dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_prog_java_works.html
+dnl
+AC_DEFUN([AC_PROG_JAVA_WORKS], [
+AC_CHECK_PROG(uudecode, uudecode$EXEEXT, yes)
+if test x$uudecode = xyes; then
+AC_CACHE_CHECK([if uudecode can decode base 64 file], ac_cv_prog_uudecode_base64, [
+dnl /**
+dnl * Test.java: used to test if java compiler works.
+dnl */
+dnl public class Test
+dnl {
+dnl
+dnl public static void
+dnl main( String[] argv )
+dnl {
+dnl System.exit (0);
+dnl }
+dnl
+dnl }
+cat << \EOF > Test.uue
+begin-base64 644 Test.class
+yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
+bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
+bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
+YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
+aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
+AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
+AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
+====
+EOF
+if uudecode$EXEEXT Test.uue; then
+ ac_cv_prog_uudecode_base64=yes
+else
+ echo "configure: __oline__: uudecode had trouble decoding base 64 file 'Test.uue'" >&AC_FD_CC
+ echo "configure: failed file was:" >&AC_FD_CC
+ cat Test.uue >&AC_FD_CC
+ ac_cv_prog_uudecode_base64=no
+fi
+rm -f Test.uue])
+fi
+if test x$ac_cv_prog_uudecode_base64 != xyes; then
+ rm -f Test.class
+ AC_MSG_WARN([I have to compile Test.class from scratch])
+ if test x$ac_cv_prog_javac_works = xno; then
+ AC_MSG_ERROR([Cannot compile java source. $JAVAC does not work properly])
+ fi
+ if test x$ac_cv_prog_javac_works = x; then
+ AC_PROG_JAVAC
+ fi
+fi
+AC_CACHE_CHECK(if $JAVA works, ac_cv_prog_java_works, [
+JAVA_TEST=Test.java
+CLASS_TEST=Test.class
+TEST=Test
+changequote(, )dnl
+cat << \EOF > $JAVA_TEST
+/* [#]line __oline__ "configure" */
+public class Test {
+public static void main (String args[]) {
+ System.exit (0);
+} }
+EOF
+changequote([, ])dnl
+if test x$ac_cv_prog_uudecode_base64 != xyes; then
+ if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) && test -s $CLASS_TEST; then
+ :
+ else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat $JAVA_TEST >&AC_FD_CC
+ AC_MSG_ERROR(The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?))
+ fi
+fi
+if AC_TRY_COMMAND(CLASSPATH=.:$CLASSPATH $JAVA $JAVAFLAGS $TEST) >/dev/null 2>&1; then
+ ac_cv_prog_java_works=yes
+else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat $JAVA_TEST >&AC_FD_CC
+ AC_MSG_ERROR(The Java VM $JAVA failed (see config.log, check the CLASSPATH?))
+fi
+rm -fr $JAVA_TEST $CLASS_TEST Test.uue
+])
+AC_PROVIDE([$0])dnl
+]
+)
+dnl Available from the GNU Autoconf Macro Archive at:
+dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_try_compile_java.html
+dnl
+AC_DEFUN([AC_TRY_COMPILE_JAVA],[
+AC_REQUIRE([AC_PROG_JAVAC])dnl
+cat << \EOF > Test.java
+/* [#]line __oline__ "configure" */
+ifelse([$1], , , [import $1;])
+public class Test {
+[$2]
+}
+EOF
+if AC_TRY_COMMAND($JAVAC $JAVACFLAGS Test.java) && test -s Test.class
+then
+dnl Don't remove the temporary files here, so they can be examined.
+ ifelse([$3], , :, [$3])
+else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat Test.java >&AC_FD_CC
+ifelse([$4], , , [ rm -fr Test*
+ $4
+])dnl
+fi
+rm -fr Test*])