MAKE_JOBS_UNSAFE (some more ports)

David Naylor naylor.b.david at gmail.com
Sun May 24 18:06:13 UTC 2009


On Sunday 24 May 2009 18:27:57 Pav Lucistnik wrote:
> Ion-Mihai Tetcu píše v ne 24. 05. 2009 v 19:01 +0300:
> > On Sun, 24 May 2009 16:10:23 +0200
> >
> > Pav Lucistnik <pav at FreeBSD.org> wrote:
> > > Ion-Mihai Tetcu píše v so 23. 05. 2009 v 13:51 +0300:
> > > > > > - MAKE_JOBS_NUMBER defaults (but user defined) to number of
> > > > > > cores
> > > >
> > > > This part looks OK, I wonder if there's any reason t ain't like this
> > > > now; Pav?
> > > > -.if defined(MAKE_JOBS_NUMBER)
> > > > +MAKE_JOBS_NUMBER?=	`${SYSCTL} -n kern.smp.cpus`
> > > >  _MAKE_JOBS=		-j${MAKE_JOBS_NUMBER}
> > > > -.else
> > > > -_MAKE_JOBS=		-j`${SYSCTL} -n kern.smp.cpus`
> > > > -.endif
> > >
> > > Wouldn't that mean an evaluation of the backtick command in every
> > > make(1) invocation? That would be highly undesirable.

I don't believe that is the case.  

Here is what I get with the patch applied (MAKE_JOBS_NUMBER not defined):
/usr/ports/editors/openoffice.org-3# make -V MAKE_JOBS_NUMBER -V _MAKE_JOBS
`/sbin/sysctl -n kern.smp.cpus`
-j`/sbin/sysctl -n kern.smp.cpus`

Wouldn't this indicate that the backtick command is not being evaluated?

The following does, however, make MAKE_JOBS_NUMBER resolve, and fixes ooo2 
with parallel build.  

# Multiple make jobs support
.if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE)
MAKE_JOBS_NUMBER=       1
_MAKE_JOBS=             #
.else
.if defined(MAKE_JOBS_SAFE) || defined(FORCE_MAKE_JOBS)
.if !defined(MAKE_JOBS_NUMBER)
MAKE_JOBS_NUMBER!=      ${SYSCTL} -n kern.smp.cpus
.endif
_MAKE_JOBS=             -j${MAKE_JOBS_NUMBER}
[etc]

and then I get:
/usr/ports/editors/openoffice.org-3# make -V MAKE_JOBS_NUMBER -V _MAKE_JOBS
4
-j4

I agree that having sysctl being called every time is not good.  I don't think 
it is unavoidable in the ooo2 case (but that is only a few ports).  
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20090524/b91a9b15/attachment.pgp


More information about the freebsd-ports mailing list