public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Steve Ellcey <sje@cup.hp.com>
To: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, binutils@sourceware.org
Cc: "H.J. Lu" <hjl.tools@gmail.com>
Subject: Re: PATCH: PR binutils/12283: bfd/doc doesn't support parallel build
Date: Fri, 28 Jan 2011 23:32:00 -0000	[thread overview]
Message-ID: <201101282332.p0SNWFT04949@lucas.cup.hp.com> (raw)
In-Reply-To: <AANLkTikAd7jWXN+2bi-OeR_-cQq7ivpSyVz+4165trVS@mail.gmail.com>

This patch is intended to be a secondary fix/workaround for the problem
that can happen when building bfd/doc using a parallel make.   Ralf
Wildenhues has a fix to move-if-changed that should fix the problem for
any target where compiling a file multiple times will always result in
exactly the same binary, but I have at least one platform where this is
not the case: hppa*-*-hpux*.  So I would also like to have this fix as a
backup to Ralf's patch (which I think should also go in).

This patch does not change the default make behaviour but allows a user
to specify '--enable-parallel-doc' during the bfd configure so that a
parallel build works correctly.  Using this argument would make the
*.texi targets dependent on chew instead of chew.c and allow parallel
builds to work (because chew would only be built once).  This means the
user will need to have makeinfo on their system but I think that is
reasonable since it only affects users of the new option.

I have tested this on hppa2.0w-hp-hpux11.11 to verify that I still get
the failure without using this option and that I don't get it (and that
chew is only built once) when I do use the new option.

OK to checkin?

Steve Ellcey
sje@cup.hp.com


2011-01-28  Steve Ellcey  <sje@cup.hp.com>

	PR binutils/12283
	* configure.in: Add --enable-parallel-doc flag.
	* configure: Regenerate.
	* doc/Makefile.am: Add CHEW_DEP variable.
	* doc/Makefile.in: Regenerate.


Index: configure.in
===================================================================
RCS file: /cvs/src/src/bfd/configure.in,v
retrieving revision 1.290
diff -r1.290 configure.in
112a113,123
> # Check to see if we should allow parallel doc make
> AC_ARG_ENABLE(parallel-doc,
> [  --enable-parallel-doc    Allow parallel build of doc directory],
> [case "${enableval}" in
>   yes) want_pdoc=true ;;
>   no)  want_pdoc=false ;;
>   *)   AC_MSG_ERROR(bad value ${enableval} for parallel-doc option) ;;
>  esac],[want_pdoc=false])dnl
> 
> AM_CONDITIONAL(PARALLEL_DOC, test "$want_pdoc" = "true")
> 
Index: doc/Makefile.am
===================================================================
RCS file: /cvs/src/src/bfd/doc/Makefile.am,v
retrieving revision 1.28
diff -r1.28 Makefile.am
61a62,67
> if PARALLEL_DOC
> CHEW_DEP = $(MKDOC)
> else
> CHEW_DEP = chew.c
> endif
> 
77c83
< aoutx.texi: chew.c $(srcdir)/../aoutx.h $(srcdir)/doc.str
---
> aoutx.texi: $(CHEW_DEP) $(srcdir)/../aoutx.h $(srcdir)/doc.str
82c88
< archive.texi: chew.c $(srcdir)/../archive.c $(srcdir)/doc.str
---
> archive.texi: $(CHEW_DEP) $(srcdir)/../archive.c $(srcdir)/doc.str
87c93
< archures.texi: chew.c $(srcdir)/../archures.c $(srcdir)/doc.str
---
> archures.texi: $(CHEW_DEP) $(srcdir)/../archures.c $(srcdir)/doc.str
94c100
< bfdt.texi: chew.c $(srcdir)/../bfd.c $(srcdir)/doc.str
---
> bfdt.texi: $(CHEW_DEP) $(srcdir)/../bfd.c $(srcdir)/doc.str
99c105
< cache.texi: chew.c $(srcdir)/../cache.c $(srcdir)/doc.str
---
> cache.texi: $(CHEW_DEP) $(srcdir)/../cache.c $(srcdir)/doc.str
104c110
< coffcode.texi: chew.c $(srcdir)/../coffcode.h $(srcdir)/doc.str
---
> coffcode.texi: $(CHEW_DEP) $(srcdir)/../coffcode.h $(srcdir)/doc.str
109c115
< core.texi: chew.c $(srcdir)/../corefile.c $(srcdir)/doc.str
---
> core.texi: $(CHEW_DEP) $(srcdir)/../corefile.c $(srcdir)/doc.str
114c120
< elf.texi: chew.c $(srcdir)/../elf.c $(srcdir)/doc.str
---
> elf.texi: $(CHEW_DEP) $(srcdir)/../elf.c $(srcdir)/doc.str
119c125
< elfcode.texi: chew.c $(srcdir)/../elfcode.h $(srcdir)/doc.str
---
> elfcode.texi: $(CHEW_DEP) $(srcdir)/../elfcode.h $(srcdir)/doc.str
124c130
< mmo.texi: chew.c $(srcdir)/../mmo.c $(srcdir)/doc.str
---
> mmo.texi: $(CHEW_DEP) $(srcdir)/../mmo.c $(srcdir)/doc.str
129c135
< format.texi: chew.c $(srcdir)/../format.c $(srcdir)/doc.str
---
> format.texi: $(CHEW_DEP) $(srcdir)/../format.c $(srcdir)/doc.str
134c140
< libbfd.texi: chew.c $(srcdir)/../libbfd.c $(srcdir)/doc.str
---
> libbfd.texi: $(CHEW_DEP) $(srcdir)/../libbfd.c $(srcdir)/doc.str
139c145
< bfdio.texi: chew.c $(srcdir)/../bfdio.c $(srcdir)/doc.str
---
> bfdio.texi: $(CHEW_DEP) $(srcdir)/../bfdio.c $(srcdir)/doc.str
144c150
< bfdwin.texi: chew.c $(srcdir)/../bfdwin.c $(srcdir)/doc.str
---
> bfdwin.texi: $(CHEW_DEP) $(srcdir)/../bfdwin.c $(srcdir)/doc.str
149c155
< opncls.texi: chew.c $(srcdir)/../opncls.c $(srcdir)/doc.str
---
> opncls.texi: $(CHEW_DEP) $(srcdir)/../opncls.c $(srcdir)/doc.str
154c160
< reloc.texi: chew.c $(srcdir)/../reloc.c $(srcdir)/doc.str
---
> reloc.texi: $(CHEW_DEP) $(srcdir)/../reloc.c $(srcdir)/doc.str
159c165
< section.texi: chew.c $(srcdir)/../section.c $(srcdir)/doc.str
---
> section.texi: $(CHEW_DEP) $(srcdir)/../section.c $(srcdir)/doc.str
164c170
< syms.texi: chew.c $(srcdir)/../syms.c $(srcdir)/doc.str
---
> syms.texi: $(CHEW_DEP) $(srcdir)/../syms.c $(srcdir)/doc.str
169c175
< targets.texi: chew.c $(srcdir)/../targets.c $(srcdir)/doc.str
---
> targets.texi: $(CHEW_DEP) $(srcdir)/../targets.c $(srcdir)/doc.str
174c180
< init.texi: chew.c $(srcdir)/../init.c $(srcdir)/doc.str
---
> init.texi: $(CHEW_DEP) $(srcdir)/../init.c $(srcdir)/doc.str
179c185
< hash.texi: chew.c $(srcdir)/../hash.c $(srcdir)/doc.str
---
> hash.texi: $(CHEW_DEP) $(srcdir)/../hash.c $(srcdir)/doc.str
184c190
< linker.texi: chew.c $(srcdir)/../linker.c $(srcdir)/doc.str
---
> linker.texi: $(CHEW_DEP) $(srcdir)/../linker.c $(srcdir)/doc.str

  parent reply	other threads:[~2011-01-28 23:32 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-02 17:00 H.J. Lu
2010-12-02 18:08 ` Ralf Wildenhues
2010-12-02 18:16   ` H.J. Lu
2010-12-02 18:20     ` Ralf Wildenhues
2010-12-02 18:22       ` Ralf Wildenhues
2010-12-02 18:32         ` Ralf Wildenhues
2010-12-02 18:40           ` H.J. Lu
2010-12-02 19:01             ` Ralf Wildenhues
2010-12-19 14:37           ` Ralf Wildenhues
2010-12-19 18:23             ` H.J. Lu
2011-01-27 23:57               ` Steve Ellcey
2011-01-28 20:15                 ` PATCH: import move-if-change from gnulib (was: PATCH: PR binutils/12283: bfd/doc doesn't support parallel build) Ralf Wildenhues
2011-01-28 21:12                   ` Steve Ellcey
2011-02-12 15:48                   ` Ralf Wildenhues
2011-01-28 23:32               ` Steve Ellcey [this message]
2011-01-29  9:42                 ` PATCH: PR binutils/12283: bfd/doc doesn't support parallel build Ralf Wildenhues
2011-01-31 18:33                   ` Steve Ellcey
2011-02-04  6:34                     ` Ralf Wildenhues
2011-02-04 17:51                       ` Andreas Schwab
2011-02-16  0:07                         ` Steve Ellcey
2011-02-16  5:09                           ` Ralf Wildenhues
2011-02-16 18:36                             ` Andreas Schwab
2011-02-05  0:25                       ` Steve Ellcey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201101282332.p0SNWFT04949@lucas.cup.hp.com \
    --to=sje@cup.hp.com \
    --cc=Ralf.Wildenhues@gmx.de \
    --cc=binutils@sourceware.org \
    --cc=hjl.tools@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).