#!/usr/bin/env python3 import subprocess import os.path as p import sys # also update `cfg.check_python_version` in `./wscript` MIN_VER = (3, 8, 0) # check before we start loading code and e.g. encounter SyntaxErrors. this means # this file should remain compatible with any Python 3 (at least syntax-wise). if sys.version_info[:3] < MIN_VER: min_txt = ".".join(str(v) for v in MIN_VER) current_txt = ".".join(str(v) for v in sys.version_info[:3]) print("ERROR: Python minimum supported version is", min_txt, "but you have", current_txt, file=sys.stderr) sys.exit(1) d = p.dirname(p.realpath(__file__)) waf_light = p.join(d, 'modules', 'waf', 'waf-light') python = sys.executable try: subprocess.check_call([python, waf_light] + sys.argv[1:]) except subprocess.CalledProcessError as e: if e.returncode != 2 or p.isfile(waf_light): sys.exit(1) print('Missing waf submodule. Trying to get it') try: subprocess.check_call(['git', 'submodule', 'update', '--init', 'modules/waf']) except subprocess.CalledProcessError: print('Could not update submodule', file=sys.stderr) sys.exit(1) print('Submodules OK, try running again')