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:
19
cc/cc.go
19
cc/cc.go
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user