summaryrefslogtreecommitdiff
path: root/buildtools
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2018-09-06 12:40:10 +0200
committerKarolin Seeger <kseeger@samba.org>2018-09-10 16:45:04 +0200
commitb29d90ffa4408b416a76550f9ab617b6e5303313 (patch)
tree5f489b215a56a14d9370276b7c2147bdc5c4767a /buildtools
parent3ea96a259258e286284c65e840148b6a7d57a5a8 (diff)
downloadsamba-b29d90ffa4408b416a76550f9ab617b6e5303313.tar.gz
wafsamba: Fix 'make -j<jobs>'
Currently only 'make -j' enables parallel builds and e.g. 'make -j4' results in no parallel compile jobs at all. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13606 Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Fri Sep 7 20:24:46 CEST 2018 on sn-devel-144 (cherry picked from commit 70169d4789fe8b2ee4efe5e88eeaa80e1a641b32) Autobuild-User(v4-8-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-8-test): Mon Sep 10 16:45:04 CEST 2018 on sn-devel-144
Diffstat (limited to 'buildtools')
-rw-r--r--buildtools/wafsamba/samba_utils.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py
index 0f95c125854..c20f61ec96e 100644
--- a/buildtools/wafsamba/samba_utils.py
+++ b/buildtools/wafsamba/samba_utils.py
@@ -467,6 +467,7 @@ def CHECK_MAKEFLAGS(bld):
if makeflags is None:
return
jobs_set = False
+ jobs = None
# we need to use shlex.split to cope with the escaping of spaces
# in makeflags
for opt in shlex.split(makeflags):
@@ -489,17 +490,21 @@ def CHECK_MAKEFLAGS(bld):
setattr(Options.options, opt[0:loc], opt[loc+1:])
elif opt[0] != '-':
for v in opt:
- if v == 'j':
+ if re.search(r'j[0-9]*$', v):
jobs_set = True
+ jobs = opt.strip('j')
elif v == 'k':
Options.options.keep = True
- elif opt == '-j':
+ elif re.search(r'-j[0-9]*$', opt):
jobs_set = True
+ jobs = opt.strip('-j')
elif opt == '-k':
Options.options.keep = True
if not jobs_set:
# default to one job
Options.options.jobs = 1
+ elif jobs_set and jobs:
+ Options.options.jobs = int(jobs)
Build.BuildContext.CHECK_MAKEFLAGS = CHECK_MAKEFLAGS