The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
568 B
23 lines
568 B
3 years ago
|
import argparse
|
||
|
import subprocess
|
||
|
import typing as T
|
||
|
|
||
|
def run(args: T.List[str]) -> int:
|
||
|
parser = argparse.ArgumentParser()
|
||
|
parser.add_argument('--depfile')
|
||
|
options, yasm_cmd = parser.parse_known_args(args)
|
||
|
|
||
|
# Compile
|
||
|
returncode = subprocess.call(yasm_cmd)
|
||
|
if returncode != 0:
|
||
|
return returncode
|
||
|
|
||
|
# Capture and write depfile
|
||
|
ret = subprocess.run(yasm_cmd + ['-M'], capture_output=True)
|
||
|
if ret.returncode != 0:
|
||
|
return ret.returncode
|
||
|
with open(options.depfile, 'wb') as f:
|
||
|
f.write(ret.stdout)
|
||
|
|
||
|
return 0
|