[tools] fix the issue of cc detection failure in Windows (#8914)

This commit is contained in:
Bernard Xiong 2024-05-08 10:50:45 +08:00 committed by GitHub
parent 0871140759
commit 73153ac06a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 21 additions and 1 deletions

View File

@ -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']

View File

@ -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