Merge 368f671912
into 36847f6af0
commit
6898ee9a40
|
@ -2,6 +2,7 @@ import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
from SCons.Script import ARGUMENTS
|
from SCons.Script import ARGUMENTS
|
||||||
|
from SCons.Tool import Tool
|
||||||
from SCons.Variables import *
|
from SCons.Variables import *
|
||||||
from SCons.Variables.BoolVariable import _text2bool
|
from SCons.Variables.BoolVariable import _text2bool
|
||||||
|
|
||||||
|
@ -24,7 +25,7 @@ def using_clang(env):
|
||||||
return "clang" in os.path.basename(env["CC"])
|
return "clang" in os.path.basename(env["CC"])
|
||||||
|
|
||||||
|
|
||||||
def is_vanilla_clang(env):
|
def is_clang_type(env, family_string):
|
||||||
if not using_clang(env):
|
if not using_clang(env):
|
||||||
return False
|
return False
|
||||||
try:
|
try:
|
||||||
|
@ -32,7 +33,7 @@ def is_vanilla_clang(env):
|
||||||
except (subprocess.CalledProcessError, OSError):
|
except (subprocess.CalledProcessError, OSError):
|
||||||
print("Couldn't parse CXX environment variable to infer compiler version.")
|
print("Couldn't parse CXX environment variable to infer compiler version.")
|
||||||
return False
|
return False
|
||||||
return not version.startswith("Apple")
|
return version.startswith(family_string)
|
||||||
|
|
||||||
|
|
||||||
# Main tool definition
|
# Main tool definition
|
||||||
|
@ -125,10 +126,10 @@ def generate(env):
|
||||||
else:
|
else:
|
||||||
env.Append(CCFLAGS=["-g2"])
|
env.Append(CCFLAGS=["-g2"])
|
||||||
else:
|
else:
|
||||||
if using_clang(env) and not is_vanilla_clang(env):
|
if using_clang(env) and is_clang_type(env, "Apple"):
|
||||||
# Apple Clang, its linker doesn't like -s.
|
# Apple Clang, its linker doesn't like -s.
|
||||||
env.Append(LINKFLAGS=["-Wl,-S", "-Wl,-x", "-Wl,-dead_strip"])
|
env.Append(LINKFLAGS=["-Wl,-S", "-Wl,-x", "-Wl,-dead_strip"])
|
||||||
else:
|
elif using_clang(env) and is_clang_type(env, "clang"):
|
||||||
env.Append(LINKFLAGS=["-s"])
|
env.Append(LINKFLAGS=["-s"])
|
||||||
|
|
||||||
if env["optimize"] == "speed":
|
if env["optimize"] == "speed":
|
||||||
|
|
Loading…
Reference in New Issue