chelper: Fix check for failed code build

Commit 73b78af6 inadvertently removed the check for a successful gcc
compilation.  Add the check back in.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2021-02-07 20:48:21 -05:00
parent a7b50b6002
commit 1049282eec
2 changed files with 12 additions and 3 deletions

View File

@ -199,12 +199,21 @@ def check_build_code(sources, target):
obj_times = get_mtimes([target])
return not obj_times or max(src_times) > min(obj_times)
# Check if the current gcc version supports a particular command-line option
def check_gcc_option(option):
cmd = "%s %s -S -o /dev/null -xc /dev/null > /dev/null 2>&1" % (
GCC_CMD, option)
res = os.system(cmd)
return res == 0
# Check if the current gcc version supports a particular command-line option
def do_build_code(cmd):
res = os.system(cmd)
if res:
msg = "Unable to build C code module (error=%s)" % (res,)
logging.error(msg)
raise Exception(msg)
FFI_main = None
FFI_lib = None
pyhelper_logging_callback = None
@ -223,7 +232,7 @@ def get_ffi():
else:
cmd = "%s %s" % (GCC_CMD, COMPILE_ARGS)
logging.info("Building C code module %s", DEST_LIB)
os.system(cmd % (destlib, ' '.join(srcfiles)))
do_build_code(cmd % (destlib, ' '.join(srcfiles)))
FFI_main = cffi.FFI()
for d in defs_all:
FFI_main.cdef(d)
@ -254,7 +263,7 @@ def run_hub_ctrl(enable_power):
destlib = get_abs_files(hubdir, [HC_TARGET])[0]
if check_build_code(srcfiles, destlib):
logging.info("Building C code module %s", HC_TARGET)
os.system(HC_COMPILE_CMD % (destlib, ' '.join(srcfiles)))
do_build_code(HC_COMPILE_CMD % (destlib, ' '.join(srcfiles)))
os.system(HC_CMD % (hubdir, enable_power))

View File

@ -73,7 +73,7 @@ def check_fatfs_build(printfunc=lambda o: o):
else:
cmd = "%s %s" % (chelper.GCC_CMD, chelper.COMPILE_ARGS)
printfunc("Building FatFS shared library...")
os.system(cmd % (destlib, ' '.join(srcfiles)))
chelper.do_build_code(cmd % (destlib, ' '.join(srcfiles)))
printfunc("Done\n")
global fatfs_ffi_main, fatfs_ffi_lib
ffi_main.cdef(FATFS_CDEFS)