groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 12/27: [build]: Fix problems exposed by parallel build.


From: G. Branden Robinson
Subject: [groff] 12/27: [build]: Fix problems exposed by parallel build.
Date: Tue, 3 May 2022 14:27:16 -0400 (EDT)

gbranden pushed a commit to branch master
in repository groff.

commit 6e62be835d08239dd1a08dde98ccff6e328e3bf3
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Mon May 2 10:41:26 2022 -0500

    [build]: Fix problems exposed by parallel build.
    
    * font/devpdf/devpdf.am (font/devpdf/util/BuildFoundries,
      font/devpdf/DESC, font/devpdf/Foundry): Drop unnecessary removal of
      target prior to creating it.
    
      (font/devpdf/Foundry): Add creation of destination build directory as
      other targets do.
    
      (font/devpdf/download): Create dedicated target instead of lumping its
      generation under the stamp file.  Add missing dependencies on
      `$(DEVPDFFONTMAP_1)`, `$(DEVPDFFONTMAP_2)`, `font/devpdf/Foundry` and
      `font/devpdf/enc/text.enc`.  Remove now-unnecessarily complicated
      "forgery" of "GEN" line in quiet builds.  Tweak format of comment
      written to "download" file to make field identities clearer.
      Construct output (with multiple shell commands) in temporary file so
      it is not read prematurely by the "BuildFoundries" script.  Move
      target into place as the last step.
    
      (font/devpdf/stamp): Relocate target to follow its dependencies.  Add
      dependency on "font/devpdf/download".
---
 ChangeLog             | 22 ++++++++++++++++++++++
 font/devpdf/devpdf.am | 38 +++++++++++++++++---------------------
 2 files changed, 39 insertions(+), 21 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a190d6e2..d32f1964 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2022-05-02  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       [build]: Fix problems exposed by high build parallelism.
+
+       * font/devpdf/devpdf.am (font/devpdf/util/BuildFoundries,
+       font/devpdf/DESC, font/devpdf/Foundry): Drop
+       unnecessary removal of target prior to creating it.
+       (font/devpdf/Foundry): Add creation of destination build
+       directory as other targets do.
+       (font/devpdf/download): Create dedicated target instead of
+       lumping its generation under the stamp file.  Add missing
+       dependencies on `$(DEVPDFFONTMAP_1)`, `$(DEVPDFFONTMAP_2)`,
+       `font/devpdf/Foundry` and `font/devpdf/enc/text.enc`.  Remove
+       now-unnecessarily complicated "forgery" of "GEN" line in quiet
+       builds.  Tweak format of comment written to "download" file to
+       make field identities clearer.  Construct output (with multiple
+       shell commands) in temporary file so it is not read prematurely
+       by the "BuildFoundries" script.  Move target into place as the
+       last step.
+       (font/devpdf/stamp): Relocate target to follow its dependencies.
+       Add dependency on "font/devpdf/download".
+
 2022-05-02  G. Branden Robinson <g.branden.robinson@gmail.com>
 
        [build]: Tweak diagnostic messages in BuildFoundries script.
diff --git a/font/devpdf/devpdf.am b/font/devpdf/devpdf.am
index 3813ed36..7689df3d 100644
--- a/font/devpdf/devpdf.am
+++ b/font/devpdf/devpdf.am
@@ -70,7 +70,6 @@ $(DEVPDFFONTMAP_1):
 font/devpdf/util/BuildFoundries: shdeps.sed \
   $(devpdf_srcdir)/util/BuildFoundries.pl
        $(AM_V_GEN)$(MKDIR_P) $(top_builddir)/font/devpdf/util \
-       && $(RM) $(top_builddir)/font/devpdf/util/BuildFoundries \
        && if test -n "$(PERL)"; then \
             sed -f $(SH_DEPS_SED_SCRIPT) \
                 -e "s|/usr/bin/perl|$(PERL)|" \
@@ -90,7 +89,6 @@ font/devpdf/util/BuildFoundries: shdeps.sed \
 
 font/devpdf/DESC: $(devpdf_srcdir)/DESC.in
        $(AM_V_GEN)$(MKDIR_P) $(top_builddir)/font/devpdf \
-       && $(RM) $(top_builddir)/font/devpdf/DESC \
        && cat $(devpdf_srcdir)/DESC.in \
          >$(top_builddir)/font/devpdf/DESC \
        && if test "$(PAGE)" = A4; then \
@@ -100,31 +98,29 @@ font/devpdf/DESC: $(devpdf_srcdir)/DESC.in
               >>$(top_builddir)/font/devpdf/DESC; \
           fi
 
-font/devpdf/Foundry:
-       $(AM_V_GEN)$(RM) $(top_builddir)/font/devpdf/Foundry \
-       && sed "s|[@]urwfontsdir[@]|$(urwfontsdir)|" \
-              $(devpdf_srcdir)/Foundry.in >$(top_builddir)/$@
+font/devpdf/Foundry: $(devpdf_srcdir)/Foundry.in
+       $(AM_V_at)$(MKDIR_P) $(top_builddir)/font/devpdf/
+       $(AM_V_GEN)sed "s|[@]urwfontsdir[@]|$(urwfontsdir)|" \
+              $(devpdf_srcdir)/Foundry.in >$@
 
-# PDFs to be produced by troff should depend on this stamp file to
-# ensure that gropdf's device and font description files are available.
-MOSTLYCLEANFILES += font/devpdf/stamp
-font/devpdf/stamp: font/devpdf/DESC \
-  $(devpdffontenc_DATA) $(devpdffontmap_DATA) $(devpdffont_DATA) \
+font/devpdf/download: $(DEVPDFFONTMAP_1) $(DEVPDFFONTMAP_2) \
+  font/devpdf/DESC font/devpdf/Foundry font/devpdf/enc/text.enc \
   font/devpdf/util/BuildFoundries
-       @if $(AM_V_P); then \
-         set -x; \
-       else \
-         echo "  GEN      $(top_builddir)/font/devpdf/download"; \
-       fi \
-       && $(RM) $@ \
-       && $(MKDIR_P) $(top_builddir)/font/devpdf \
-       && echo "# foundry      ps name psfile" > 
$(top_builddir)/font/devpdf/download \
+       $(AM_V_GEN)$(MKDIR_P) $(top_builddir)/font/devpdf \
+       && echo "# foundry      ps-name psfile" >$@.tmp \
        && 
PATH="$(abs_top_builddir)$(GROFF_PATH_SEPARATOR)$(abs_top_builddir)/build-aux$(GROFF_PATH_SEPARATOR)$(PATH)"
 \
             $(abs_top_builddir)/font/devpdf/util/BuildFoundries \
               $(abs_top_builddir)/font/devpdf \
               '$(abs_top_srcdir)/font/devps : $(abs_top_builddir)/font/devps' \
-              >> $(top_builddir)/font/devpdf/download \
-       && >$@
+              >>$@.tmp \
+       && mv $@.tmp $@
+
+# PDFs to be produced by troff should depend on this stamp file to
+# ensure that gropdf's device and font description files are available.
+MOSTLYCLEANFILES += font/devpdf/stamp
+font/devpdf/stamp: font/devpdf/DESC font/devpdf/download \
+  $(devpdffontenc_DATA) $(devpdffontmap_DATA) $(devpdffont_DATA)
+       $(AM_V_at)>$@
 
 mostlyclean-local: mostlyclean_devpdf_extra
 mostlyclean_devpdf_extra:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]