blob: 877425c40f0de4c6c92eec424ad64872d3e7f576 [file]
# SPDX-License-Identifier: Apache-2.0
"""Wrapper for manually generating depfiles of resource files."""
from __future__ import annotations
import argparse
import subprocess
import sys
import typing as T
parser = argparse.ArgumentParser()
parser.add_argument('--rc', nargs='+', required=True)
parser.add_argument('--cl', nargs='+', required=True)
parser.add_argument('--Xarg', action='append')
def run(args: T.List[str]) -> int:
options, rc_args = parser.parse_known_args(args)
target = rc_args[-1] if rc_args else None
rc = options.rc
cl = options.cl
# Use preprocessor to display include files
include_args = [a for a in rc_args if a.startswith(('/I', '-I'))]
cmd = [*cl, *include_args, *options.Xarg]
if target:
cmd += [target]
result = subprocess.call(cmd, stdout=subprocess.DEVNULL)
if result != 0:
print('Error running preprocessor to find resource dependencies', file=sys.stderr)
# continue anyway. the resource compiler should catch the error later
cmd = [*rc, *rc_args]
return subprocess.call(cmd)