Greetings,
With JamVM now sporting an improved GC, I am able to run gjdoc on the
OpenBSD platform. The attached patches were needed to complete the
port; they might improve the portability of gjdoc to other non-GNU
platforms:
m4/ac_prog_java.m4
m4/ac_prog_javac.m4
these patches resolve a bug in detecting alternative java runtimes:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22857
AC_PATH_PROG with correct parameters results in the full path
Makefile.in
suggests an alternative to "cp -u", which is not available on the
OpenBSD platform.
gjdoc.sh.in
suggests an alternative for argument processing in gjdoc.sh --
specifically removes the use of "head -c" and substr and len extensions
to "expr" for parsing -J options
Regards,
Fred Druseikis
$OpenBSD$
--- m4/ac_prog_java.m4.orig Wed Feb 9 13:13:27 2005
+++ m4/ac_prog_java.m4 Sat Jun 17 21:57:13 2006
@@ -8,7 +8,7 @@ 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)
+ test x$JAVA = x && AC_PATH_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
$OpenBSD$
--- m4/ac_prog_javac.m4.orig Sat Feb 12 07:16:53 2005
+++ m4/ac_prog_javac.m4 Sat Jun 17 22:04:54 2006
@@ -6,7 +6,7 @@ AC_REQUIRE([AC_EXEEXT])dnl
if test "x$JAVAPREFIX" = x; then
test "x$JAVAC" = x && AC_CHECK_PROGS(JAVAC, "gcj$EXEEXT -C"
jikes$EXEEXT ejc$EXEEXT guavac$EXEEXT javac$EXEEXT)
else
- test "x$JAVAC" = x && AC_CHECK_PROGS(JAVAC, "gcj$EXEEXT -C"
jikes$EXEEXT ejc$EXEEXT guavac$EXEEXT javac$EXEEXT, $JAVAPREFIX)
+ test "x$JAVAC" = x && AC_PATH_PROGS(JAVAC, "gcj$EXEEXT -C"
jikes$EXEEXT ejc$EXEEXT guavac$EXEEXT javac$EXEEXT,, $JAVAPREFIX)
fi
test "x$JAVAC" = x && AC_MSG_ERROR([no acceptable Java compiler found in
\$PATH])
AC_PROG_JAVAC_WORKS
$OpenBSD$
--- Makefile.in.orig Mon Dec 19 03:47:05 2005
+++ Makefile.in Sun Jun 18 00:07:14 2006
@@ -3755,7 +3755,7 @@ com-sun-tools-doclets-Taglet-$(VERSION).
gnu-classpath-tools-gjdoc-$(VERSION).jar: $(srcdir)/gjdoc.manifest
src/resources/version.properties $(gnu_classpath_tools_gjdoc_jar_CLASSES)
$(gnu_classpath_tools_gjdoc_jar_GENCLASSES) $(gjdoc_resources_src)
for res in $(gjdoc_resources) ; \
- do cp -u $(srcdir)/src/resources/$$res $$res ; done
+ do test $(srcdir)/src/resources/$$res -nt $$res && cp
$(srcdir)/src/resources/$$res $$res ; done
$(JAR) cfm $@ $(srcdir)/gjdoc.manifest \
$(gjdoc_resources) \
-C src/resources version.properties \
@@ -3839,7 +3839,7 @@ dist-hook:
-find $(distdir)/src/resources -name CVS -exec rm -rf {} \;
install-data-hook:
[EMAIL PROTECTED]@ $(INSTALL) --mode 755 gjdoc.sh $(DESTDIR)$(bindir)/gjdoc
[EMAIL PROTECTED]@ $(INSTALL) -m 755 gjdoc.sh $(DESTDIR)$(bindir)/gjdoc
uninstall-hook:
@ENABLE_NATIVE_FALSE@ rm -f $(bindir)/gjdoc
$OpenBSD$
--- gjdoc.sh.in.orig Sat May 21 18:38:20 2005
+++ gjdoc.sh.in Sun Jun 18 09:10:28 2006
@@ -38,12 +38,16 @@ fi
gjdocpath=${datadir}/java/com-sun-javadoc-${version}.jar:${datadir}/java/com-sun-tools-doclets-Taglet-${version}.jar:${datadir}/java/gnu-classpath-tools-gjdoc-${version}.jar:${ANTLR_JAR}:${CLASSPATH}
for i in ${1+"$@"}; do
- if test "`echo "$i" | head -c 2`" = "-J"; then
- len=`expr length "$i"`
- vmparams="$vmparams '`expr substr "$i" 3 $len`'"
- else
- gjdocparams="$gjdocparams '$i'"
- fi
+ case "$i" in
+ -J* )
+ param="`expr \"$i\" : '-J\(.*\)'`"
+ vmparams="$vmparams '$param'"
+ ;;
+
+ * )
+ gjdocparams="$gjdocparams '$i'"
+ ;;
+ esac
done
exec ${SHELL} -c "exec ${JAVA} ${vmparams} -classpath ${gjdocpath}
gnu.classpath.tools.gjdoc.Main ${gjdocparams}"