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