Improving detection of ccache on Mac
Before this commit, ccache where only used on Mac when `OSXCROSS_ROOT` was defined. Now, it could be used even when that environment variable is not defined.
This commit is contained in:
parent
04692d83cb
commit
1d3893c5cd
1 changed files with 8 additions and 11 deletions
|
@ -114,6 +114,10 @@ def configure(env: "SConsEnvironment"):
|
|||
|
||||
env.Append(CCFLAGS=["-fobjc-arc"])
|
||||
|
||||
ccache_path = os.environ.get("CCACHE", "")
|
||||
if ccache_path != "":
|
||||
ccache_path = ccache_path + " "
|
||||
|
||||
if "osxcross" not in env: # regular native build
|
||||
if env["macports_clang"] != "no":
|
||||
mpprefix = os.environ.get("MACPORTS_PREFIX", "/opt/local")
|
||||
|
@ -124,8 +128,8 @@ def configure(env: "SConsEnvironment"):
|
|||
env["RANLIB"] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ranlib"
|
||||
env["AS"] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-as"
|
||||
else:
|
||||
env["CC"] = "clang"
|
||||
env["CXX"] = "clang++"
|
||||
env["CC"] = ccache_path + "clang"
|
||||
env["CXX"] = ccache_path + "clang++"
|
||||
|
||||
detect_darwin_sdk_path("macos", env)
|
||||
env.Append(CCFLAGS=["-isysroot", "$MACOS_SDK_PATH"])
|
||||
|
@ -138,15 +142,8 @@ def configure(env: "SConsEnvironment"):
|
|||
else:
|
||||
basecmd = root + "/target/bin/x86_64-apple-" + env["osxcross_sdk"] + "-"
|
||||
|
||||
ccache_path = os.environ.get("CCACHE")
|
||||
if ccache_path is None:
|
||||
env["CC"] = basecmd + "cc"
|
||||
env["CXX"] = basecmd + "c++"
|
||||
else:
|
||||
# there aren't any ccache wrappers available for macOS cross-compile,
|
||||
# to enable caching we need to prepend the path to the ccache binary
|
||||
env["CC"] = ccache_path + " " + basecmd + "cc"
|
||||
env["CXX"] = ccache_path + " " + basecmd + "c++"
|
||||
env["CC"] = ccache_path + basecmd + "cc"
|
||||
env["CXX"] = ccache_path + basecmd + "c++"
|
||||
env["AR"] = basecmd + "ar"
|
||||
env["RANLIB"] = basecmd + "ranlib"
|
||||
env["AS"] = basecmd + "as"
|
||||
|
|
Loading…
Reference in a new issue