[tools] fix the issue of cc detection failure in Windows (#8914)
This commit is contained in:
parent
0871140759
commit
73153ac06a
|
@ -195,7 +195,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [
|
|||
os.environ['RTT_CC_PREFIX'] = exec_prefix
|
||||
|
||||
# auto change the 'RTT_EXEC_PATH' when 'rtconfig.EXEC_PATH' get failed
|
||||
if not os.path.exists(os.path.join(rtconfig.EXEC_PATH, rtconfig.CC)):
|
||||
if not utils.CmdExists(os.path.join(rtconfig.EXEC_PATH, rtconfig.CC)):
|
||||
if 'RTT_EXEC_PATH' in os.environ:
|
||||
# del the 'RTT_EXEC_PATH' and using the 'EXEC_PATH' setting on rtconfig.py
|
||||
del os.environ['RTT_EXEC_PATH']
|
||||
|
|
|
@ -309,3 +309,23 @@ def VerTuple(version_str):
|
|||
ver = tuple(int(part) for part in ver_parts)
|
||||
|
||||
return ver
|
||||
|
||||
def CmdExists(cmd):
|
||||
import platform
|
||||
|
||||
cmd_list = cmd.split(' ')
|
||||
cmd = cmd_list[0]
|
||||
if os.path.isfile(cmd):
|
||||
return True
|
||||
else:
|
||||
# check cmd(.exe|.bat|.ps1) under Windows
|
||||
if platform.system() == 'Windows':
|
||||
if cmd.find('exe') != -1 or cmd.find('bat') != -1 or cmd.find('ps1') != -1:
|
||||
return False
|
||||
|
||||
# add .exe then check whether the cmd exists
|
||||
cmd = cmd + '.exe'
|
||||
if os.path.isfile(cmd):
|
||||
return True
|
||||
|
||||
return False
|
||||
|
|
Loading…
Reference in New Issue