diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2013-07-16 12:04:09 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2013-07-16 12:04:09 +0000 |
commit | 33f4366ba170ee67b0b636595a6664c9fe25b8a1 (patch) | |
tree | 8225406ccdbf45ddda13c4ed6a20e25f8ca62aba | |
parent | 5fbcc991f1f8de01dcb6babf802ec824c6a755de (diff) |
Activate multiple jobs by default [1]
Add a new macro to allow a port to limit itself the maximum numbers of jobs allowed [2]
Submitted by: danfe (based on) [1]
pgj (base on) [2]
Reviewed by: bdrewery, miwi
Multiple exp-run: bapt
Notes
Notes:
svn path=/head/; revision=323100
-rw-r--r-- | Mk/bsd.port.mk | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index e56a67bd4480..d08e9510af53 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -893,20 +893,16 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # MAKE_ARGS - Any extra arguments to sub-make in build and install stages. # Default: none ## -# MAKE_JOBS_SAFE -# - This port can safely be built on multiple cpus in parallel. -# The make will be invoked with -jX parameter where X equals -# number of cores present in the system. # MAKE_JOBS_UNSAFE # - Disallow multiple jobs even when user set a global override. # To be used with known bad ports. # DISABLE_MAKE_JOBS # - Set to disable the multiple jobs feature. User settable. -# FORCE_MAKE_JOBS -# - Force all ports to be built with multiple jobs, except ports -# that are explicitly marked MAKE_JOBS_UNSAFE. User settable. # MAKE_JOBS_NUMBER # - Override the number of make jobs to be used. User settable. +# MAKE_JOBS_NUMBER_LIMIT +# - Set a limit for maximum number of make jobs allowed to be +# used. ## cacche # # WITH_CCACHE_BUILD @@ -2144,18 +2140,20 @@ CFLAGS:= ${CFLAGS:N-std=*} -std=${USE_CSTD} # Multiple make jobs support .if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE) _MAKE_JOBS= # +MAKE_JOBS_NUMBER= 1 .else -.if defined(MAKE_JOBS_SAFE) || defined(FORCE_MAKE_JOBS) -MAKE_JOBS_NUMBER?= `${SYSCTL} -n kern.smp.cpus` -_MAKE_JOBS?= -j${MAKE_JOBS_NUMBER} -.if defined(FORCE_MAKE_JOBS) && !defined(MAKE_JOBS_SAFE) -BUILD_FAIL_MESSAGE+= You have chosen to use multiple make jobs (parallelization) for all ports. This port was not tested for this setting. Please remove FORCE_MAKE_JOBS and retry the build before reporting the failure to the maintainer. -.endif +.if defined(MAKE_JOBS_NUMBER) +_MAKE_JOBS_NUMBER= ${MAKE_JOBS_NUMBER} +.else +_MAKE_JOBS_NUMBER!= ${SYSCTL} -n kern.smp.cpus .endif +.if defined(MAKE_JOBS_NUMBER_LIMIT) && ( ${MAKE_JOBS_NUMBER_LIMIT} < ${_MAKE_JOBS_NUMBER} ) +MAKE_JOBS_NUMBER= ${MAKE_JOBS_NUMBER_LIMIT} +.else +MAKE_JOBS_NUMBER= ${_MAKE_JOBS_NUMBER} .endif - -.if empty(MAKE_JOBS_NUMBER) -MAKE_JOBS_NUMBER= 1 +_MAKE_JOBS?= -j${MAKE_JOBS_NUMBER} +BUILD_FAIL_MESSAGE+= Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. .endif # ccache support |