diff options
Diffstat (limited to 'cc/compiler.go')
| -rw-r--r-- | cc/compiler.go | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/cc/compiler.go b/cc/compiler.go index f9f7b6fd7..a75175482 100644 --- a/cc/compiler.go +++ b/cc/compiler.go @@ -441,12 +441,24 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps // TODO: debug flags.Local.CFlags = append(flags.Local.CFlags, esc(compiler.Properties.Release.Cflags)...) - CheckBadCompilerFlags(ctx, "clang_cflags", compiler.Properties.Clang_cflags) - CheckBadCompilerFlags(ctx, "clang_asflags", compiler.Properties.Clang_asflags) + if !ctx.DeviceConfig().BuildBrokenClangCFlags() && len(compiler.Properties.Clang_cflags) != 0 { + ctx.PropertyErrorf("clang_cflags", "property is deprecated, see Changes.md file") + } else { + CheckBadCompilerFlags(ctx, "clang_cflags", compiler.Properties.Clang_cflags) + } + if !ctx.DeviceConfig().BuildBrokenClangAsFlags() && len(compiler.Properties.Clang_asflags) != 0 { + ctx.PropertyErrorf("clang_asflags", "property is deprecated, see Changes.md file") + } else { + CheckBadCompilerFlags(ctx, "clang_asflags", compiler.Properties.Clang_asflags) + } flags.Local.CFlags = config.ClangFilterUnknownCflags(flags.Local.CFlags) - flags.Local.CFlags = append(flags.Local.CFlags, esc(compiler.Properties.Clang_cflags)...) - flags.Local.AsFlags = append(flags.Local.AsFlags, esc(compiler.Properties.Clang_asflags)...) + if !ctx.DeviceConfig().BuildBrokenClangCFlags() { + flags.Local.CFlags = append(flags.Local.CFlags, esc(compiler.Properties.Clang_cflags)...) + } + if !ctx.DeviceConfig().BuildBrokenClangAsFlags() { + flags.Local.AsFlags = append(flags.Local.AsFlags, esc(compiler.Properties.Clang_asflags)...) + } flags.Local.CppFlags = config.ClangFilterUnknownCflags(flags.Local.CppFlags) flags.Local.ConlyFlags = config.ClangFilterUnknownCflags(flags.Local.ConlyFlags) flags.Local.LdFlags = config.ClangFilterUnknownCflags(flags.Local.LdFlags) |