Hello,
for me the dependency upon Netpbm is "annoying"; i always restart
failed makes to get over all related problems: like that
(single-threaded) compilation is just fine.

Configuration checks for (some) Netpbm programs and avoids
$make_html as necessary -- however, xpmtoppm(1), pnmdepth(1) and
pnmtops(1) are still required to generate `gnu.eps', which in turn
is used by some examples only; etc.

Given this and the fact that `groff-1.22.2.tar.gz' is 3.8M i think
it would be great if `gnu.eps' could be part of the repo / the
release balls: compressed with gzip(1) it is 15KB (xz(1): 10KB).
I'll attach a diff (missing `gnu.eps') that would do so.

(Still ugly: www. is installed even without Netpbm, pnmtops(1)
maybe checked twice even if $make_html is false *because* it is
pnmtops(1) that is missing... etc.  I.e., configure(1) could check
for convert(1) from ImageMagick as a fallback?)

--steffen
NOTE: the generated EPS file i've left off for size reasons..

  $ xpmtoppm < gnu.xpm | pnmdepth 15 | pnmtops > gnu.eps

commit f67ac67f6590f0a992e9c3c33bb1c45e1a5d5ec5 (HEAD, refs/heads/mymod)
Author: Steffen (Daode) Nurpmeso <sdao...@users.sf.net>
Date:   2014-03-11 15:05:14 +0100

    Include a generated gnu.eps, drop dependency on netpbm tools

diff --git a/contrib/hdtbl/Makefile.sub b/contrib/hdtbl/Makefile.sub
index f894a8e..e1e8115 100644
--- a/contrib/hdtbl/Makefile.sub
+++ b/contrib/hdtbl/Makefile.sub
@@ -102,14 +102,7 @@ all: $(PROCESSEDEXAMPLEFILES) stamp-strip
 $(PROCESSEDEXAMPLEFILES): gnu.eps examples/stamp examples/common.roff
 
 gnu.eps:
-	if test -f $(top_srcdir)/doc/gnu.eps; then \
-	  cp $(top_srcdir)/doc/gnu.eps . ; \
-	elif test -f $(top_builddir)/doc/gnu.eps; then \
-	  cp $(top_builddir)/doc/gnu.eps . ; \
-	else \
-	  xpmtoppm $(top_srcdir)/doc/gnu.xpm | pnmdepth 15 | \
-	    $(pnmtops_nosetpage) -noturn -rle >$@ ; \
-	fi
+	ln $(top_srcdir)/doc/gnu.eps .
 
 examples/stamp:
 	test -d examples || $(mkinstalldirs) examples
diff --git a/contrib/pdfmark/Makefile.sub b/contrib/pdfmark/Makefile.sub
index 768f24a..82e1f2a 100644
--- a/contrib/pdfmark/Makefile.sub
+++ b/contrib/pdfmark/Makefile.sub
@@ -72,14 +72,7 @@ $(PDFDOCFILES): pdfroff
 pdfdoc: gnu.eps $(PDFDOCFILES)
 
 gnu.eps:
-	if test -f $(top_srcdir)/doc/gnu.eps; then \
-	  cp $(top_srcdir)/doc/gnu.eps . ; \
-	elif test -f $(top_builddir)/doc/gnu.eps; then \
-	  cp $(top_builddir)/doc/gnu.eps . ; \
-	else \
-	  xpmtoppm $(top_srcdir)/doc/gnu.xpm | pnmdepth 15 | \
-	    $(pnmtops_nosetpage) -noturn -rle >$@ ; \
-	fi
+	ln $(top_srcdir)/doc/gnu.eps .
 
 pdfroff: pdfroff.sh $(SH_DEPS_SED_SCRIPT)
 	$(RM) $@
diff --git a/doc/.gitignore b/doc/.gitignore
index c46b404..cb9538f 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -1,6 +1,5 @@
 Makefile
 examples.stamp
-gnu.eps
 grnexmpl.g
 grnexmpl.ps
 groff.info
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 44c133a..97cff56 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -118,21 +118,16 @@ prepare_examples: grnexmpl.g groff.css
 groff.info: groff.texinfo
 	$(MAKEINFO) --enable-encoding -I$(srcdir) $(srcdir)/groff.texinfo
 
-gnu.eps: gnu.xpm
-	xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | $(pnmtops) -noturn >$@
-
 pic.html: pic.ms
 	$(GROFF) -P-p -P-I`basename $< | sed -e 's|.ms$$||'` \
                  -P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \
                  -Thtml -P-V -ms >$@
 
-webpage.html: webpage.ms gnu.eps groff.css
+webpage.html: webpage.ms groff.css
 	$(GROFF) -P-j`basename $< | sed -e 's|.ms$$||'` \
                  -P-nrpb -P-I`basename $< | sed -e 's|.ms$$||'` \
                  -P-D$(imagedir) -Thtml -ms >$@
 
-webpage.ps: gnu.eps
-
 grnexmpl.ps: grnexmpl.me grnexmpl.g
 
 split-html:
diff --git a/doc/Makefile.sub b/doc/Makefile.sub
index 09f9392..1f809cb 100644
--- a/doc/Makefile.sub
+++ b/doc/Makefile.sub
@@ -103,8 +103,7 @@ MOSTLYCLEANNOTSRCDIRADD=\
   groff.css \
   grnexmpl.g \
   groff.info \
-  groff-*.info \
-  gnu.eps
+  groff-*.info
 
 .SUFFIXES: .me .ms .ps .html
 
@@ -126,42 +125,31 @@ html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
 
 prepare_examples: examples.stamp
 
-examples.stamp: grnexmpl.g groff.css gnu.eps
+examples.stamp: grnexmpl.g groff.css
 	test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
 	test -f groff.css || cp $(srcdir)/groff.css .
-	if test ! -f gnu.eps; then \
-	  if test -f $(srcdir)/gnu.eps; then \
-	    cp $(srcdir)/gnu.eps .; \
-	  elif test -f $(top_builddir)/contrib/pdfmark/gnu.eps; then \
-	    cp $(top_builddir)/contrib/pdfmark/gnu.eps .; \
-	  fi; \
-	fi
 	echo timestamp > $@
 
 groff.info: groff.texinfo
 	$(MAKEINFO) --enable-encoding -I$(srcdir) $(srcdir)/groff.texinfo
 
-gnu.eps: gnu.xpm
-	xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | \
-          $(pnmtops_nosetpage) -noturn -rle >$@
-
 pic.html: pic.ms
 	$(GROFF) -P-p -P-I`basename $< | sed -e 's|.ms$$||'` \
                  -P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \
                  -Thtml -P-V -ms >$@
 
-webpage.html: webpage.ms gnu.eps groff.css
+webpage.html: webpage.ms groff.css
 	$(GROFF) -P-j`basename $< | sed -e 's|.ms$$||'` \
                  -P-nrpb -P-I`basename $< | sed -e 's|.ms$$||'` \
                  -P-D$(imagedir) -Thtml -ms >$@
 
-webpage.ps: gnu.eps
+webpage.ps:
 
 grnexmpl.ps: grnexmpl.me grnexmpl.g
 
-distfiles: groff.info gnu.eps
+distfiles: groff.info
 
-install_data: groff.info gnu.eps $(DOCFILES) $(PROCESSEDDOCFILES) \
+install_data: groff.info $(DOCFILES) $(PROCESSEDDOCFILES) \
               $(make_install_html) $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
 # Prefer info files in builddir over srcdir; we test for
 # the existence of `groff.info'.
@@ -184,13 +172,9 @@ install_data: groff.info gnu.eps $(DOCFILES) $(PROCESSEDDOCFILES) \
 	  rm -f $(DESTDIR)$(docdir)/$$f; \
 	  $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$f; \
 	done
-# Prefer gnu.eps in builddir over srcdir.
 	-test -d $(DESTDIR)$(exampledir) \
 	  || $(mkinstalldirs) $(DESTDIR)$(exampledir)
-	d=.; \
-	  test -f "gnu.eps" || d=$(srcdir); \
-	  rm -f $(DESTDIR)$(exampledir)/gnu.eps; \
-	  $(INSTALL_DATA) $$d/gnu.eps $(DESTDIR)$(exampledir)/gnu.eps
+	$(INSTALL_DATA) ./gnu.eps $(DESTDIR)$(exampledir)/gnu.eps
 	for f in $(EXAMPLEFILES); do \
 	  rm -f $(DESTDIR)$(exampledir)/$$f; \
 	  $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(exampledir)/$$f; \

Reply via email to