diff options
author | Joshua Sumali <jsumali@redhat.com> | 2008-05-27 19:25:27 +0000 |
---|---|---|
committer | Joshua Sumali <jsumali@redhat.com> | 2008-05-27 19:25:27 +0000 |
commit | b982843cf69bc9e8bfa4aa26beffd2c71f7282f6 (patch) | |
tree | be1f2467b9d6c9be2b85c75c3c81bf601365b69d /m4 | |
parent | 295c1e3a4c0a05d30e874beacdf528437098e25d (diff) | |
download | classpath-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.m4 | 44 | ||||
-rw-r--r-- | m4/ac_prog_java.m4 | 16 | ||||
-rw-r--r-- | m4/ac_prog_java_works.m4 | 109 |
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*]) |