diff options
Diffstat (limited to 'build/art.go')
-rw-r--r-- | build/art.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/build/art.go b/build/art.go index 61b1a4e501..6c084867a7 100644 --- a/build/art.go +++ b/build/art.go @@ -283,6 +283,7 @@ func init() { android.RegisterModuleType("art_cc_test_library", artTestLibrary) android.RegisterModuleType("art_cc_defaults", artDefaultsFactory) android.RegisterModuleType("libart_cc_defaults", libartDefaultsFactory) + android.RegisterModuleType("libart_static_cc_defaults", libartStaticDefaultsFactory) android.RegisterModuleType("art_global_defaults", artGlobalDefaultsFactory) android.RegisterModuleType("art_debug_defaults", artDebugDefaultsFactory) } @@ -336,6 +337,33 @@ func libartDefaultsFactory() android.Module { return module } +func libartStaticDefaultsFactory() android.Module { + c := &codegenProperties{} + module := cc.DefaultsFactory(c) + android.AddLoadHook(module, func(ctx android.LoadHookContext) { + codegen(ctx, c, true) + + type props struct { + Target struct { + Android struct { + Static_libs []string + } + } + } + + p := &props{} + // TODO: express this in .bp instead b/79671158 + if !envTrue(ctx, "ART_TARGET_LINUX") { + p.Target.Android.Static_libs = []string{ + "libmetricslogger_static", + } + } + ctx.AppendProperties(p) + }) + + return module +} + func artLibrary() android.Module { m, _ := cc.NewLibrary(android.HostAndDeviceSupported) module := m.Init() |