summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMurphyZhao <[email protected]>2019-05-11 15:51:40 +0800
committerMurphyZhao <[email protected]>2019-05-11 15:52:32 +0800
commit702277a9b9a7298b3a00b6a4ed612d6fb5db4fde (patch)
treedbf41cc92d87fead468b08030a8d7f5dffbc71e6 /tools
parent854d0144d38dd784a27a9b97c4293051f5192d21 (diff)
[tools] 修复 GCC 版本判断的方式并增加异常捕获
Signed-off-by: MurphyZhao <[email protected]>
Diffstat (limited to 'tools')
-rw-r--r--tools/utils.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/utils.py b/tools/utils.py
index 6dc56322a5..9459396544 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -24,6 +24,7 @@
import sys
import os
+import re
def splitall(loc):
"""
@@ -245,10 +246,11 @@ def ProjectInfo(env):
return proj
def VersionCmp(ver1, ver2):
- la=[];
+ la=[]
if ver1:
- la = ver1.split('.')
- lb = ver2.split('.')
+ la = re.split("[. ]", ver1)
+ lb = re.split("[. ]", ver2)
+
f = 0
if len(la) > len(lb):
f = len(la)
@@ -262,7 +264,7 @@ def VersionCmp(ver1, ver2):
continue
else:
return -1
- except IndexError as e:
+ except (IndexError, ValueError) as e:
if len(la) > len(lb):
return 1
else:
@@ -274,7 +276,7 @@ def GCCC99Patch(cflags):
gcc_version = building.GetDepend('GCC_VERSION')
if gcc_version:
gcc_version = gcc_version.replace('"', '')
- if VersionCmp(gcc_version, "4.8.0"):
+ if VersionCmp(gcc_version, "4.8.0") == 1:
# remove -std=c99 after GCC 4.8.x
cflags = cflags.replace('-std=c99', '')