This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Binutils is broken with -j N
On Sat, May 21, 2005 at 02:27:41PM -0700, H. J. Lu wrote:
> On Sat, May 21, 2005 at 02:09:12PM -0700, H. J. Lu wrote:
> > This patch
> >
> > http://sourceware.org/ml/binutils/2005-05/msg00582.html
> >
> > doesn't support -j N. I got
> >
> > make[3]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> > Making info in po
> > make[4]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld/po'
> > make[4]: Nothing to be done for `info'.
> > make[4]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld/po'
> > make[4]: Entering directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> > ln -s /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> > || ln /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> > || cp /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi
> > rm -f ldver.texi
> > eval `grep '^ *VERSION=' /export/linux/src/binutils/binutils/ld/../bfd/configure`; \
> > echo "@set VERSION $VERSION" > ldver.texi
> > restore=: && backupdir=".am$$" && \
> > am__cwd=`pwd` && cd /export/linux/src/binutils/binutils/ld && \
> > rm -rf $backupdir && mkdir $backupdir && \
> > for f in /export/linux/src/binutils/binutils/ld/ld.info /export/linux/src/binutils/binutils/ld/ld.info-[0-9] /export/linux/src/binutils/binutils/ld/ld.info-[0-9][0-9] /export/linux/src/binutils/binutils/ld/ld.i[0-9] /export/linux/src/binutils/binutils/ld/ld.i[0-9][0-9]; do \
> > if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
> > done; \
> > cd "$am__cwd"; \
> > if makeinfo --split-size=5000000 -I /export/linux/src/binutils/binutils/ld -I /export/linux/src/binutils/binutils/ld/../bfd/doc -I /export/linux/src/binutils/binutils/ld \
> > -o /export/linux/src/binutils/binutils/ld/ld.info /export/linux/src/binutils/binutils/ld/ld.texinfo; \
> > then \
> > rc=0; \
> > cd /export/linux/src/binutils/binutils/ld; \
> > else \
> > rc=$?; \
> > cd /export/linux/src/binutils/binutils/ld && \
> > $restore $backupdir/* `echo ".//export/linux/src/binutils/binutils/ld/ld.info" | sed 's|[^/]*$||'`; \
> > fi; \
> > rm -rf $backupdir; exit $rc
> > make[4]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> > ln -s /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> > || ln /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi >/dev/null 2>&1 \
> > || cp /export/linux/src/binutils/binutils/ld/gen-doc.texi ./configdoc.texi
> > cp: `/export/linux/src/binutils/binutils/ld/gen-doc.texi' and `./configdoc.texi' are the same file
> > make[3]: *** [configdoc.texi] Error 1
> > make[3]: Leaving directory `/export/build/linux/binutils-debug/build-i686-linux/ld'
> > make[2]: *** [all-ld] Error 2
> > make[2]: *** Waiting for unfinished jobs....
> >
> >
>
> The problem is "info" isn't a direct target. Make may start "info" and
> "ld.1" at the same time. I will check in this patch to fix it.
>
>
> H.J.
> ---
> 2005-05-21 H.J. Lu <hongjiu.lu@intel.com>
>
> * Makefile.am (ld.1): Depend on "info".
> * Makefile.in: Regenerated.
>
This is the real patch I checked in.
H.J.
----
Index: Makefile.am
===================================================================
RCS file: /cvs/src/src/ld/Makefile.am,v
retrieving revision 1.177
retrieving revision 1.179
diff -u -p -r1.177 -r1.179
--- Makefile.am 19 May 2005 23:49:51 -0000 1.177
+++ Makefile.am 21 May 2005 22:22:19 -0000 1.179
@@ -1644,7 +1644,9 @@ ld.dvi: $(srcdir)/ld.texinfo configdoc.t
# Build the man page from the texinfo file
# The sed command removes the no-adjust Nroff command so that
# the man output looks standard.
-ld.1: $(srcdir)/ld.texinfo configdoc.texi ldver.texi
+# It depends on "info" instead of "configdoc.texi ldver.texi" to
+# support parallel build.
+ld.1: $(srcdir)/ld.texinfo info
touch $@
-$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texinfo > ld.pod
-($(POD2MAN) ld.pod | \