aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2013-07-16 12:04:09 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2013-07-16 12:04:09 +0000
commit33f4366ba170ee67b0b636595a6664c9fe25b8a1 (patch)
tree8225406ccdbf45ddda13c4ed6a20e25f8ca62aba
parent5fbcc991f1f8de01dcb6babf802ec824c6a755de (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.mk30
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