浏览代码

Come up with use_gcc.

Add new method. Fix wrong version condition for -fpie.
marxin 6 年之前
父节点
当前提交
0d2a105e6b
共有 3 个文件被更改,包括 10 次插入6 次删除
  1. 1 1
      SConstruct
  2. 3 0
      methods.py
  3. 6 5
      platform/x11/detect.py

+ 1 - 1
SConstruct

@@ -338,7 +338,7 @@ if selected_platform in platform_list:
         disable_nonessential_warnings = ['-Wno-sign-compare']
         shadow_local_warning = []
 
-        if 'gcc' in os.path.basename(env["CC"]):
+        if methods.use_gcc(env):
             version = methods.get_compiler_version(env)
             if version != None and version[0] >= '7':
                 shadow_local_warning = ['-Wshadow-local']

+ 3 - 0
methods.py

@@ -667,3 +667,6 @@ def get_compiler_version(env):
         return match.group().split('.')
     else:
         return None
+
+def use_gcc(env):
+    return 'gcc' in os.path.basename(env["CC"])

+ 6 - 5
platform/x11/detect.py

@@ -2,7 +2,7 @@ import os
 import platform
 import sys
 from compat import decode_utf8
-from methods import get_compiler_version
+from methods import get_compiler_version, use_gcc
 
 def is_active():
     return True
@@ -162,10 +162,11 @@ def configure(env):
     env.Append(LINKFLAGS=['-pipe'])
 
     # Check for gcc version >= 6 before adding -no-pie
-    version = get_compiler_version(env)
-    if version != None and version[0] > '6':
-        env.Append(CCFLAGS=['-fpie'])
-        env.Append(LINKFLAGS=['-no-pie'])
+    if use_gcc(env):
+        version = get_compiler_version(env)
+        if version != None and version[0] >= '6':
+            env.Append(CCFLAGS=['-fpie'])
+            env.Append(LINKFLAGS=['-no-pie'])
 
     ## Dependencies