tech-toolchain archive

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

Re: HAVE_PCC=yes



On Fri, 22 Jan 2010, Iain Hibbert wrote:

> On Fri, 22 Jan 2010, David Holland wrote:
>
> >  > Any suggestions for a better method?
> >
> > The "normal" way is
> >
> >     (cd cc && ${MAKE} install)
> >     (cd cpp && ${MAKE} install)
> >     (cd ccom && ${MAKE} install)
>
> Ah yes, that is probably better thanks.. I committed the change so that
> HAVE_PCC=yes will install the pcc tools now
>
> > Arguably this behavior of make is a bug.
>
> Perhaps - there is the -B flag which attempts to mitigate that though. I
> guess it doesn't come up that often otherwise the build wrapper would have
> a way to pass it through. I forget where I saw it now but there was a
> comment that <something> was probably easier to fix in the upstream
> makefile, and that likely applies here..

After some investigation of this, it seems that automake always produces a
Makefile.in with this pattern from a SUBDIRS variable in Makefile.am, so I
think it could be better in the long term to [allow to] add -B in the
appropriate place to induce nbmake to run commands in a separate context
for each line and not require changes to the dist sources.

For example, adding it to tools/Makefile.gnuwrap as below allows the
HAVE_PCC=yes tools build to complete

Index: Makefile.gnuwrap
===================================================================
RCS file: /cvsroot/src/tools/Makefile.gnuwrap,v
retrieving revision 1.9
diff -u -r1.9 Makefile.gnuwrap
--- Makefile.gnuwrap    14 Mar 2003 05:22:51 -0000      1.9
+++ Makefile.gnuwrap    26 Feb 2010 16:11:21 -0000
@@ -28,6 +28,6 @@
 __noenvexport=  -X
 .endif
 _GNUWRAPPER:=  ${.PARSEDIR}/${.PARSEFILE}
-MAKE:=         ${MAKE} ${__noenvexport} -f ${_GNUWRAPPER}
+MAKE:=         ${MAKE} -B ${__noenvexport} -f ${_GNUWRAPPER}
 .endif
 .endif

and the effect of the above on a tools build is minimal:

rm -Rf /var/obj/tools && build.sh -j2 tools # with -B
         build.sh started: Fri Feb 26 16:12:25 GMT 2010
         build.sh ended:   Fri Feb 26 16:22:50 GMT 2010

rm -Rf /var/obj/tools && build.sh -j2 tools # without -B
         build.sh started: Fri Feb 26 17:46:25 GMT 2010
         build.sh ended:   Fri Feb 26 17:56:47 GMT 2010

so perhaps spending time to make the -B optional is not worth it, but I'm
not sure that would be the correct place for it.. thoughts?

iain




Home | Main Index | Thread Index | Old Index