propagate return code from C compiler

This commit is contained in:
Josh Holtrop 2011-08-30 16:22:47 -04:00
parent 94677bc79e
commit 4ae55322bb

10
jtlc
View File

@ -40,12 +40,12 @@ def main(argv):
ofname = m.group(1) + '.o' ofname = m.group(1) + '.o'
else: else:
ofname = s + '.o' ofname = s + '.o'
do_compile(args, tfname, ofname) success = do_compile(args, tfname, ofname)
ofiles.append(ofname) ofiles.append(ofname)
os.unlink(tfname) os.unlink(tfname)
if success and not args.c: if success and not args.c:
do_link(args, ofiles) success = do_link(args, ofiles)
return 0 if success else 2 return 0 if success else 2
@ -60,14 +60,16 @@ def build(args, source, dest):
def do_compile(args, source_fname, ofname): def do_compile(args, source_fname, ofname):
Popen(['grep', '-n', '.', source_fname]).wait() Popen(['grep', '-n', '.', source_fname]).wait()
Popen(['gcc', '-o', ofname, '-c', source_fname]).wait() rc = Popen(['gcc', '-o', ofname, '-c', source_fname]).wait()
return rc == 0
def do_link(args, ofiles): def do_link(args, ofiles):
cmd = ['gcc'] cmd = ['gcc']
if args.output_file is not None: if args.output_file is not None:
cmd += ['-o', args.output_file] cmd += ['-o', args.output_file]
cmd += ofiles cmd += ofiles
Popen(cmd).wait() rc = Popen(cmd).wait()
return rc == 0
if __name__ == '__main__': if __name__ == '__main__':
sys.exit(main(sys.argv)) sys.exit(main(sys.argv))