You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.4 KiB

/*
* Copyright (c) Hisilicon Technologies Co., Ltd.. 2020-2020. All rights reserved.
* Description: Strictly control the compilation options not including options beginning with -Wno
* Author: os_build
* Create: 2020-03-05
*/
package config
import (
"strings"
)
func init() {
x86_64StrictCflags, _ := RemovePrefixFromList("-Wno-", x86_64Cflags)
x86_64StrictCflags, _ = RemovePrefixFromList("-Werror=", x86_64StrictCflags)
pctx.StaticVariable("ClangStrictCflags", strings.Join([]string{
"-D__compiler_offsetof=__builtin_offsetof",
// Emit address-significance table which allows linker to perform safe ICF. Clang does
// not emit the table by default on Android since NDK still uses GNU binutils.
"-faddrsig",
// Force clang to always output color diagnostics. Ninja will strip the ANSI
// color codes if it is not running in a terminal.
"-fcolor-diagnostics",
}, " "))
pctx.StaticVariable("ClangStrictCppflags", strings.Join([]string{
// Enable clang's thread-safety annotations in libcxx.
// Turn off -Wthread-safety-negative, to avoid breaking projects that use -Weverything.
"-D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS",
}, " "))
pctx.StaticVariable("ClangStrictNoOverrideCflags", strings.Join([]string{
"-Werror",
}, " "))
pctx.StaticVariable("X86_64StrictClangCflags", strings.Join(ClangFilterUnknownCflags(x86_64StrictCflags), " "))
}