Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 03 Dec 2019 09:28:28 -0700
From:      Ian Lepore <ian@freebsd.org>
To:        bob prohaska <fbsd@www.zefox.net>, greg@unrelenting.technology
Cc:        freebsd-arm@freebsd.org
Subject:   Re: make -j1 produces four C++ instances
Message-ID:  <84bf64123583ce7b16aa60ea42c77e86fad7ba26.camel@freebsd.org>
In-Reply-To: <20191203162047.GB58722@www.zefox.net>
References:  <20191203155514.GA58722@www.zefox.net> <be9b96ea51df395ecea1b426ef4243e4@unrelenting.technology> <20191203162047.GB58722@www.zefox.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2019-12-03 at 08:20 -0800, bob prohaska wrote:
> On Tue, Dec 03, 2019 at 04:06:08PM +0000, greg@unrelenting.technology
>  wrote:
> > December 3, 2019 6:55 PM, "bob prohaska" <fbsd@www.zefox.net>
> > wrote:
> > 
> > > Has the -j feature for make been changed/removed? 
> > > 
> > > IIRC, one could in the past limit the number of jobs created
> > > while compiling software by using 
> > > make -jN 
> > > on the command line. Now it seems that
> > > make -j1 
> > > spawns four instances of C++ while trying to compile
> > > www/chromium.
> > 
> > make -jN won't necessarily do anything when make spawns other build
> > systems
> > which do their own parallelism.
> > (*some* systems can integrate with GNU make, see e.g.
> > https://github.com/ninja-build/ninja/issues/1139 )
> > 
> 
> Which leads to:
> https://github.com/ninja-build/ninja/issues/1441
> 
> > Chromium is mostly built using their own GN system,
> > the backend of which actually is ninja btw
> > 
> 
> Implying the behavior is controlled by ninja, not make. 
> 
> Is there some other way to restrain parallelism in
> compiling www/chromium? 
> 
> Thanks for replying!
> 
> bob prohaska
> 

When building ports, it's controlled by make variables which can be set
in make.conf or on the command line.  The ports build machinery does
what it needs to, to pass that value down into whatever build system is
used within the port (cmake or ninja or whatever).

  make MAKE_JOBS_NUMBER=2     # like -j2
  make DISABLE_MAKE_JOBS=yes  # disables multiple jobs completely

-- Ian





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?84bf64123583ce7b16aa60ea42c77e86fad7ba26.camel>