diff --git a/glfw/glfw.py b/glfw/glfw.py index 41d0e1a53..3f6f31ee6 100755 --- a/glfw/glfw.py +++ b/glfw/glfw.py @@ -84,7 +84,8 @@ def init_env(env, pkg_config, at_least_version, test_compile, module='x11'): return ans -def build_wayland_protocols(env, run_tool, emphasis, newer, dest_dir): +def build_wayland_protocols(env, Command, parallel_run, emphasis, newer, dest_dir): + items = [] for protocol in env.wayland_protocols: src = os.path.join(env.wayland_packagedir, protocol) if not os.path.exists(src): @@ -94,8 +95,12 @@ def build_wayland_protocols(env, run_tool, emphasis, newer, dest_dir): dest = os.path.join(dest_dir, dest) if newer(dest, src): q = 'client-header' if ext == 'h' else env.wayland_scanner_code - run_tool([env.wayland_scanner, q, src, dest], - desc='Generating {} ...'.format(emphasis(os.path.basename(dest)))) + items.append(Command( + 'Generating {} ...'.format(emphasis(os.path.basename(dest))), + [env.wayland_scanner, q, src, dest], + lambda: True, None, None, None)) + if items: + parallel_run(items) class Arg: diff --git a/setup.py b/setup.py index 0f79f004e..d1c8504e9 100755 --- a/setup.py +++ b/setup.py @@ -403,7 +403,7 @@ def parallel_run(items): while len(workers): wait() if not verbose: - print() + print(' done') if failed: print(failed.desc) run_tool(failed.cmd) @@ -552,7 +552,7 @@ def compile_glfw(compilation_database): all_headers = [os.path.join('glfw', x) for x in genv.all_headers] if module == 'wayland': try: - glfw.build_wayland_protocols(genv, run_tool, emphasis, newer, os.path.join(base, 'glfw')) + glfw.build_wayland_protocols(genv, Command, parallel_run, emphasis, newer, os.path.join(base, 'glfw')) except SystemExit as err: print(err, file=sys.stderr) print(error('Disabling building of wayland backend'), file=sys.stderr)