Rename deps property to objs in cc_objects

The deps property is handled by blueprint, which doesn't give the
flexibilty of handling it within soong.  Switch to using objs instead.

Change-Id: Ib8273546578b31b186a3cf1566e80a5eb11943b7
This commit is contained in:
Colin Cross
2016-04-11 14:37:39 -07:00
parent 852442957b
commit 8141347295

View File

@@ -175,7 +175,7 @@ type Deps struct {
SharedLibs, LateSharedLibs []string SharedLibs, LateSharedLibs []string
StaticLibs, LateStaticLibs, WholeStaticLibs []string StaticLibs, LateStaticLibs, WholeStaticLibs []string
ObjFiles common.Paths ObjFiles []string
Cflags, ReexportedCflags []string Cflags, ReexportedCflags []string
@@ -380,6 +380,11 @@ type TestLinkerProperties struct {
Test_per_src *bool Test_per_src *bool
} }
type ObjectLinkerProperties struct {
// names of other cc_object modules to link into this module using partial linking
Objs []string `android:"arch_variant"`
}
// Properties used to compile all C or C++ modules // Properties used to compile all C or C++ modules
type BaseProperties struct { type BaseProperties struct {
// compile module with clang instead of gcc // compile module with clang instead of gcc
@@ -722,7 +727,8 @@ func (c *Module) depsMutator(actx common.AndroidBottomUpMutatorContext) {
sharedLibs = append(sharedLibs, c.deps.LateSharedLibs...) sharedLibs = append(sharedLibs, c.deps.LateSharedLibs...)
actx.AddVariationDependencies([]blueprint.Variation{{"link", "shared"}}, sharedLibs...) actx.AddVariationDependencies([]blueprint.Variation{{"link", "shared"}}, sharedLibs...)
actx.AddDependency(ctx.module(), c.deps.ObjFiles.Strings()...) actx.AddDependency(ctx.module(), c.deps.ObjFiles...)
if c.deps.CrtBegin != "" { if c.deps.CrtBegin != "" {
actx.AddDependency(ctx.module(), c.deps.CrtBegin) actx.AddDependency(ctx.module(), c.deps.CrtBegin)
} }
@@ -1542,6 +1548,7 @@ func libraryFactory() (blueprint.Module, []interface{}) {
// //
type objectLinker struct { type objectLinker struct {
Properties ObjectLinkerProperties
} }
func objectFactory() (blueprint.Module, []interface{}) { func objectFactory() (blueprint.Module, []interface{}) {
@@ -1551,14 +1558,14 @@ func objectFactory() (blueprint.Module, []interface{}) {
return module.Init() return module.Init()
} }
func (*objectLinker) props() []interface{} { func (object *objectLinker) props() []interface{} {
return nil return []interface{}{&object.Properties}
} }
func (*objectLinker) begin(ctx BaseModuleContext) {} func (*objectLinker) begin(ctx BaseModuleContext) {}
func (*objectLinker) deps(ctx BaseModuleContext, deps Deps) Deps { func (object *objectLinker) deps(ctx BaseModuleContext, deps Deps) Deps {
// object files can't have any dynamic dependencies deps.ObjFiles = append(deps.ObjFiles, object.Properties.Objs...)
return deps return deps
} }