From 704372f9fea906420ab1463a548cff54cb2555cf Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 6 Sep 2018 12:40:10 +0200 Subject: [PATCH] wafsamba: Fix 'make -j' 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 Reviewed-by: Alexander Bokovoy Autobuild-User(master): Andreas Schneider Autobuild-Date(master): Fri Sep 7 20:24:46 CEST 2018 on sn-devel-144 (cherry picked from commit 70169d4789fe8b2ee4efe5e88eeaa80e1a641b32) --- buildtools/wafsamba/samba_utils.py | 9 +++++++-- 1 file 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 -- 2.18.0