package sanitizer_status
|
|
import (
|
"android/soong/android"
|
"android/soong/cc"
|
)
|
|
func init() {
|
android.RegisterModuleType("sanitizer_status_library_shared",
|
libraryFactory)
|
}
|
|
func libraryFactory() android.Module {
|
module := cc.LibrarySharedFactory()
|
android.AddLoadHook(module, loadHook)
|
return module
|
}
|
|
func loadHook(ctx android.LoadHookContext) {
|
type props struct {
|
Cflags []string
|
}
|
|
p := &props{}
|
|
sanitizers := ctx.Config().SanitizeDevice()
|
|
if android.InList("address", sanitizers) {
|
p.Cflags = append(p.Cflags, "-DANDROID_SANITIZE_ADDRESS=1")
|
}
|
if android.InList("hwaddress", sanitizers) {
|
p.Cflags = append(p.Cflags, "-DANDROID_SANITIZE_HWADDRESS=1")
|
}
|
if android.InList("coverage", sanitizers) {
|
p.Cflags = append(p.Cflags, "-DANDROID_SANITIZE_COVERAGE=1")
|
}
|
|
ctx.AppendProperties(p)
|
}
|