mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
stylo: Allow passing --debug and --debugger flags to the python script.
This commit is contained in:
parent
9a5ffb128a
commit
4974255411
1 changed files with 17 additions and 6 deletions
|
@ -210,7 +210,7 @@ def extend_object(obj, other):
|
||||||
obj[key] = copy.deepcopy(other[key])
|
obj[key] = copy.deepcopy(other[key])
|
||||||
|
|
||||||
|
|
||||||
def build(objdir, target_name, kind_name=None,
|
def build(objdir, target_name, debug, debugger, kind_name=None,
|
||||||
output_filename=None, bindgen=None, skip_test=False,
|
output_filename=None, bindgen=None, skip_test=False,
|
||||||
verbose=False):
|
verbose=False):
|
||||||
assert target_name in COMPILATION_TARGETS
|
assert target_name in COMPILATION_TARGETS
|
||||||
|
@ -344,10 +344,15 @@ def build(objdir, target_name, kind_name=None,
|
||||||
flags.append(current_target["files"][0].format(objdir))
|
flags.append(current_target["files"][0].format(objdir))
|
||||||
|
|
||||||
flags = bindgen + flags
|
flags = bindgen + flags
|
||||||
output = None
|
|
||||||
|
output = ""
|
||||||
try:
|
try:
|
||||||
output = subprocess.check_output(flags, stderr=subprocess.STDOUT)
|
if debug:
|
||||||
output = output.decode('utf8')
|
flags = [debugger, "--args"] + flags
|
||||||
|
subprocess.check_call(flags)
|
||||||
|
else:
|
||||||
|
output = subprocess.check_output(flags, stderr=subprocess.STDOUT)
|
||||||
|
output = output.decode('utf8')
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
print("FAIL\n", e.output.decode('utf8'))
|
print("FAIL\n", e.output.decode('utf8'))
|
||||||
return 1
|
return 1
|
||||||
|
@ -426,7 +431,7 @@ def builds_for(target_name, kind):
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(description=DESCRIPTION)
|
parser = argparse.ArgumentParser(description=DESCRIPTION)
|
||||||
parser.add_argument('--target', default="all",
|
parser.add_argument('--target', default='all',
|
||||||
help='The target to build, either "structs" or "bindings"')
|
help='The target to build, either "structs" or "bindings"')
|
||||||
parser.add_argument('--kind',
|
parser.add_argument('--kind',
|
||||||
help='Kind of build')
|
help='Kind of build')
|
||||||
|
@ -440,6 +445,11 @@ def main():
|
||||||
parser.add_argument('--verbose', '-v',
|
parser.add_argument('--verbose', '-v',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
help='Be... verbose')
|
help='Be... verbose')
|
||||||
|
parser.add_argument('--debug',
|
||||||
|
action='store_true',
|
||||||
|
help='Try to use a debugger to debug bindgen commands (default: gdb)')
|
||||||
|
parser.add_argument('--debugger', default='gdb',
|
||||||
|
help='Debugger to use. Only used if --debug is passed.')
|
||||||
parser.add_argument('objdir')
|
parser.add_argument('objdir')
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
@ -465,7 +475,8 @@ def main():
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
for target, kind in builds_for(args.target, args.kind):
|
for target, kind in builds_for(args.target, args.kind):
|
||||||
ret = build(args.objdir, target, kind,
|
ret = build(args.objdir, target, kind_name=kind,
|
||||||
|
debug=args.debug, debugger=args.debugger,
|
||||||
bindgen=args.bindgen, skip_test=args.skip_test,
|
bindgen=args.bindgen, skip_test=args.skip_test,
|
||||||
output_filename=args.output,
|
output_filename=args.output,
|
||||||
verbose=args.verbose)
|
verbose=args.verbose)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue