Come up with use_gcc.

Add new method. Fix wrong version condition for -fpie.
This commit is contained in:
marxin 2019-02-22 15:41:31 +01:00
parent 4f697f73a5
commit 0d2a105e6b
3 changed files with 10 additions and 6 deletions

View file

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

View file

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

View file

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