Monday, December 02, 2019

Re: patch: make dpb and ports more uniform

On 2019-12-01, Marc Espie <espie@nerim.net> wrote:

> This patch:
> - admits that parallel make is going to be used;
> - renames PARALLEL_BUILD to something that reflects its actual usage
> (and consumers as well): PARALLEL_USES_MAKE
> - adds a PARALLEL_MAKE_JOBS that allows the user to tweak the number
> of MAKE_JOBS used if they want (set to hw.ncpuonline)

What this actually does: If you set PARALLEL_MAKE_JOBS, then ports
that are marked DPB_PROPERTIES=parallel will be built with
MAKE_JOBS=${PARALLEL_MAKE_JOBS} for any regular "make build" outside
of dpb.

So basically this (ab)uses DPB_PROPERTIES=parallel as a marker for
ports that are parallel-safe. Okay, whatever.

I think PARALLEL_BUILD is a perfectly fine name and it took me ten
minutes to understand "PARALLEL_USES_MAKE". I'll probably be puzzled
again the next time I look at this. Yes, there are a very few ports
that set PARALLEL_BUILD=No and still do some form of parallel
building. That's why they have a corresponding comment.

> --- editors/libreoffice/Makefile 6 Nov 2019 12:21:06 -0000 1.221
> +++ editors/libreoffice/Makefile 1 Dec 2019 10:26:58 -0000
> @@ -354,11 +354,11 @@ CONFIGURE_ARGS+=--without-java
> .endif
>
> # XXX libreoffice has its own way to build things in parallel
> -PARALLEL_BUILD = No
> +PARALLEL_USES_MAKE = No
> .if defined(MAKE_JOBS)
> NCPU= ${MAKE_JOBS}
> .elif ${FLAVOR:Mparallel}
> -NCPU!= echo $$((`sysctl -n hw.ncpuonline` + 1))
> +NCPU!!= echo $$((`sysctl -n hw.ncpuonline` + 1))
> .else
> NCPU= 1
> .endif

The point of the infrastructure change is to dispense with the need
for the "parallel" pseudoflavor here, so the pseudoflavor should
just be removed.

--
Christian "naddy" Weisgerber naddy@mips.inka.de

No comments:

Post a Comment