Exclude dirs from binder interface whitelisting

Exclude vendor/ and hardware/ from the manually written binder interface
whitelist.

Bug: 136279235
Test: interfaces in excluded directories are not checked against whitelist.
Change-Id: I0d640e23489b37d0c0787d5fca6bcdab10034109
This commit is contained in:
Ivan Lozano
2019-11-26 10:32:50 -08:00
parent 46fc58ee8d
commit d094d4006f
2 changed files with 11 additions and 0 deletions

View File

@@ -27,6 +27,10 @@ import (
"android/soong/cc/config"
)
var (
allowedManualInterfacePaths = []string{"vendor/", "hardware/"}
)
// This file contains the basic C/C++/assembly to .o compliation steps
type BaseCompilerProperties struct {
@@ -509,6 +513,12 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps
flags.Local.CFlags = append(flags.Local.CFlags, "-fopenmp")
}
// Exclude directories from manual binder interface whitelisting.
//TODO(b/145621474): Move this check into IInterface.h when clang-tidy no longer uses absolute paths.
if android.PrefixInList(ctx.ModuleDir(), allowedManualInterfacePaths) {
flags.Local.CFlags = append(flags.Local.CFlags, "-DDO_NOT_CHECK_MANUAL_BINDER_INTERFACES")
}
return flags
}

View File

@@ -147,6 +147,7 @@ func makeVarsProvider(ctx android.MakeVarsContext) {
ctx.Strict("WITH_TIDY_FLAGS", "${config.TidyWithTidyFlags}")
ctx.Strict("AIDL_CPP", "${aidlCmd}")
ctx.Strict("ALLOWED_MANUAL_INTERFACE_PATHS", strings.Join(allowedManualInterfacePaths, " "))
ctx.Strict("M4", "${m4Cmd}")