Don't use module names with "prebuilt_" prefixes in make dependencies.
The distinction between foo and prebuilt_foo doesn't exist in make, so this could create invalid dependencies when both source and prebuilt modules exist and the prebuilts are preferred. Test: `m` with ART module prebuilts with prefer:true in the tree Test: m nothing Bug: 172480615 Change-Id: I90b76a8f38493882b3330d1b6789159852e59d55
This commit is contained in:
13
cc/cc.go
13
cc/cc.go
@@ -1045,6 +1045,19 @@ func (c *Module) ImplementationModuleName(ctx android.BaseModuleContext) string
|
||||
return name
|
||||
}
|
||||
|
||||
// Similar to ImplementationModuleName, but uses the Make variant of the module
|
||||
// name as base name, for use in AndroidMk output. E.g. for a prebuilt module
|
||||
// where the Soong name is prebuilt_foo, this returns foo (which works in Make
|
||||
// under the premise that the prebuilt module overrides its source counterpart
|
||||
// if it is exposed to Make).
|
||||
func (c *Module) ImplementationModuleNameForMake(ctx android.BaseModuleContext) string {
|
||||
name := c.BaseModuleName()
|
||||
if versioned, ok := c.linker.(versionedInterface); ok {
|
||||
name = versioned.implementationModuleName(name)
|
||||
}
|
||||
return name
|
||||
}
|
||||
|
||||
func (c *Module) bootstrap() bool {
|
||||
return Bool(c.Properties.Bootstrap)
|
||||
}
|
||||
|
Reference in New Issue
Block a user