From f5acba7d43c0c24604cdf361c97e14ecb8c3a1ef Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 20 Nov 2023 14:20:26 +0100 Subject: [PATCH] Add remaining clang options for Apple and Unix toolchains --- .../Platforms/Apple/AppleToolchain.cs | 16 +++++++----- .../Platforms/Unix/UnixToolchain.cs | 26 +++++++------------ 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/Source/Tools/Flax.Build/Platforms/Apple/AppleToolchain.cs b/Source/Tools/Flax.Build/Platforms/Apple/AppleToolchain.cs index ea3ab71e6..fa6e896f3 100644 --- a/Source/Tools/Flax.Build/Platforms/Apple/AppleToolchain.cs +++ b/Source/Tools/Flax.Build/Platforms/Apple/AppleToolchain.cs @@ -150,23 +150,25 @@ namespace Flax.Build.Platforms if (compileEnvironment.TreatWarningsAsErrors) commonArgs.Add("-Wall -Werror"); - // TODO: compileEnvironment.IntrinsicFunctions - // TODO: compileEnvironment.FunctionLevelLinking - // TODO: compileEnvironment.FavorSizeOrSpeed - // TODO: compileEnvironment.RuntimeChecks - // TODO: compileEnvironment.StringPooling - // TODO: compileEnvironment.BufferSecurityCheck - if (compileEnvironment.DebugInformation) commonArgs.Add("-gdwarf-2"); commonArgs.Add("-pthread"); + if (compileEnvironment.FavorSizeOrSpeed == FavorSizeOrSpeed.FastCode) + commonArgs.Add("-Ofast"); + else if (compileEnvironment.FavorSizeOrSpeed == FavorSizeOrSpeed.SmallCode) + commonArgs.Add("-Os"); if (compileEnvironment.Optimization) commonArgs.Add("-O3"); else commonArgs.Add("-O0"); + if (compileEnvironment.BufferSecurityCheck) + commonArgs.Add("-fstack-protector"); + else + commonArgs.Add("fno-stack-protector"); + if (!compileEnvironment.Inlining) { commonArgs.Add("-fno-inline-functions"); diff --git a/Source/Tools/Flax.Build/Platforms/Unix/UnixToolchain.cs b/Source/Tools/Flax.Build/Platforms/Unix/UnixToolchain.cs index fc409858a..607450cb1 100644 --- a/Source/Tools/Flax.Build/Platforms/Unix/UnixToolchain.cs +++ b/Source/Tools/Flax.Build/Platforms/Unix/UnixToolchain.cs @@ -363,28 +363,24 @@ namespace Flax.Build.Platforms if (compileEnvironment.TreatWarningsAsErrors) commonArgs.Add("-Wall -Werror"); - // TODO: compileEnvironment.IntrinsicFunctions - // TODO: compileEnvironment.FunctionLevelLinking - // TODO: compileEnvironment.FavorSizeOrSpeed - // TODO: compileEnvironment.RuntimeChecks - // TODO: compileEnvironment.StringPooling - // TODO: compileEnvironment.BufferSecurityCheck - if (compileEnvironment.DebugInformation) - { commonArgs.Add("-glldb"); - } commonArgs.Add("-pthread"); + if (compileEnvironment.FavorSizeOrSpeed == FavorSizeOrSpeed.FastCode) + commonArgs.Add("-Ofast"); + else if (compileEnvironment.FavorSizeOrSpeed == FavorSizeOrSpeed.SmallCode) + commonArgs.Add("-Os"); if (compileEnvironment.Optimization) - { commonArgs.Add("-O2"); - } else - { commonArgs.Add("-O0"); - } + + if (compileEnvironment.BufferSecurityCheck) + commonArgs.Add("-fstack-protector"); + else + commonArgs.Add("fno-stack-protector"); if (!compileEnvironment.Inlining) { @@ -393,13 +389,9 @@ namespace Flax.Build.Platforms } if (compileEnvironment.EnableExceptions) - { commonArgs.Add("-fexceptions"); - } else - { commonArgs.Add("-fno-exceptions"); - } } // Add preprocessor definitions