build/cython_compile.py (32 lines of code) (raw):

# Copyright (c) Meta Platforms, Inc. and affiliates. # # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. import os from subprocess import Popen thrift_files = [] procs = [] for root, _dirs, files in os.walk("openr-thrift"): for f in files: if f.endswith(".pyx"): thrift_file = os.path.join(root, f) cmd = [ "cython3", "--fast-fail", "-3", "--cplus", thrift_file, "-o", root, "-I.", "-I/src", "-I/usr/lib/python3/dist-packages/Cython/Includes", "-I/src/fbthrift-thrift/gen-py3", "-I/src/fb303-thrift/fb303/thrift/gen-py3", "-I/src/neteng-thrift/configerator/structs/neteng/config/gen-py3", ] print(f"Generating cython module {f}") procs += [Popen(cmd)] print("Waiting for cython generation to finish...") failures = 0 for proc in procs: proc.wait() if proc.returncode != 0: failures += 1 print(f"{len(procs) - failures}/{len(procs)} succeeded")