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]) obj_times = get_mtimes([target])
return not obj_times or max(src_times) > min(obj_times) 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): def check_gcc_option(option):
cmd = "%s %s -S -o /dev/null -xc /dev/null > /dev/null 2>&1" % ( cmd = "%s %s -S -o /dev/null -xc /dev/null > /dev/null 2>&1" % (
GCC_CMD, option) GCC_CMD, option)
res = os.system(cmd) res = os.system(cmd)
return res == 0 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_main = None
FFI_lib = None FFI_lib = None
pyhelper_logging_callback = None pyhelper_logging_callback = None
@ -223,7 +232,7 @@ def get_ffi():
else: else:
cmd = "%s %s" % (GCC_CMD, COMPILE_ARGS) cmd = "%s %s" % (GCC_CMD, COMPILE_ARGS)
logging.info("Building C code module %s", DEST_LIB) 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() FFI_main = cffi.FFI()
for d in defs_all: for d in defs_all:
FFI_main.cdef(d) FFI_main.cdef(d)
@ -254,7 +263,7 @@ def run_hub_ctrl(enable_power):
destlib = get_abs_files(hubdir, [HC_TARGET])[0] destlib = get_abs_files(hubdir, [HC_TARGET])[0]
if check_build_code(srcfiles, destlib): if check_build_code(srcfiles, destlib):
logging.info("Building C code module %s", HC_TARGET) 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)) os.system(HC_CMD % (hubdir, enable_power))

View File

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