<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Sat, 2010-06-19 at 08:50 -0700, Dan Nicholson wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
On Fri, Jun 18, 2010 at 6:57 PM, Gaetan Nadon <<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>> wrote:
> Groff uses grohtml to generate html output format. This program, in turn,
> uses a number of pnm* commands from the netpbm package, psselect
> from the psutils package and the ghostscript package.
>
> These are independently installed, so they could be missing.
> A check is made to ensure those dependencies are installed.
> If not, the makefile can use the conditional to supress the target.
>
> Signed-off-by: Gaetan Nadon <<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>>
> ---
> xorg-macros.m4.in | 18 ++++++++++++++++++
> 1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in
> index a8e12ed..a10f80b 100644
> --- a/xorg-macros.m4.in
> +++ b/xorg-macros.m4.in
> @@ -552,6 +552,12 @@ AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
> # --with-groff: 'yes' user instructs the module to use groff
> # 'no' user instructs the module not to use groff
> #
> +# Added in version 1.9.0:
> +# HAVE_GROFF_HTML: groff has dependencies to output HTML format:
> +# pnmcut pnmcrop pnmtopng pnmtops from the netpbm package.
> +# psselect from the psutils package.
> +# the ghostcript package.
> +#
> # If the user sets the value of GROFF, AC_PATH_PROG skips testing the path.
> #
> # OS and distros often splits groff in a basic and full package, the former
> @@ -591,6 +597,7 @@ elif test "x$use_groff" = x"no" ; then
> else
> AC_MSG_ERROR([--with-groff expects 'yes' or 'no'])
> fi
> +
> # We have groff, test for the presence of the macro packages
> if test "x$have_groff" = x"yes"; then
> AC_MSG_CHECKING([for ${GROFF} -ms macros])
> @@ -608,9 +615,20 @@ if test "x$have_groff" = x"yes"; then
> fi
> AC_MSG_RESULT([$groff_mm_works])
> fi
> +
> +# We have groff, test for HTML dependencies
> +if test "x$have_groff" = x"yes"; then
> + AC_PATH_PROGS(GS_PATH, [gs gswin32c])
> + AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng])
> + AC_PATH_PROG(PSSELECT_PATH, [psselect])
> +fi
Thanks for looking into this, but I don't think I agree with this
approach.
</PRE>
</BLOCKQUOTE>
That's ok. I vaguely remember drawing a line there when writing the original macro. <BR>
I am somewhat spoiled by my distro where all the stuff I need is already installed. <BR>
When I dig more I find that groff depends on netbpm, psutils and ghostscript.<BR>
These are separately installed packages. <BR>
<BR>
The patch I did amounts to checking the integrity of the platform installed software.<BR>
Not something we should be doing, as users of groff. On the other we try to be helpful<BR>
to our users when things go wrong.<BR>
<BR>
Had you been the author of the patch, I might have made the same objection.<BR>
Infinite loop :-)<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
I don't think we want to be checking the internal details of
grohtml. It would probably be preferred to just try to generate html
from a simple source file and see if it produced useful results.
</PRE>
</BLOCKQUOTE>
Are you suggesting using another tool?
<BLOCKQUOTE TYPE=CITE>
<PRE>
However, if we do want to just check the program, I'd suggest
borrowing heavily from groff's internal GROFF_HTML_PROGRAMS macro.
See:
</PRE>
</BLOCKQUOTE>
Exactly what I did. I simplified for our situation. I picked one command per package rather than checking all of them.
<BLOCKQUOTE TYPE=CITE>
<PRE>
<A HREF="http://cvs.savannah.gnu.org/viewvc/groff/m4/groff.m4?root=groff&view=markup">http://cvs.savannah.gnu.org/viewvc/groff/m4/groff.m4?root=groff&view=markup</A>
--
Dan
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>