rust: internalize srcPathFromModuleSrcs
This was frequently misused (for example, in the prebuilts module, it was used as a complex "assert(len(srcs))==1"), and can be superceded by getCrateRoot anywhere it was used. It's now only called from compiler.go, and can drop the second return parameter, as it was only actually used by the prebuilt assert misuse. Bug: 309943184 Test: m nothing Change-Id: I6c92580bc8f0ecb7586c544056b5409e6dd280e7
This commit is contained in:
@@ -76,6 +76,17 @@ var _ compiler = (*prebuiltProcMacroDecorator)(nil)
|
||||
var _ exportedFlagsProducer = (*prebuiltProcMacroDecorator)(nil)
|
||||
var _ rustPrebuilt = (*prebuiltProcMacroDecorator)(nil)
|
||||
|
||||
func prebuiltPath(ctx ModuleContext, prebuilt rustPrebuilt) android.Path {
|
||||
srcs := android.PathsForModuleSrc(ctx, prebuilt.prebuiltSrcs())
|
||||
if len(srcs) == 0 {
|
||||
ctx.PropertyErrorf("srcs", "srcs must not be empty")
|
||||
}
|
||||
if len(srcs) > 1 {
|
||||
ctx.PropertyErrorf("srcs", "prebuilt libraries can only have one entry in srcs (the prebuilt path)")
|
||||
}
|
||||
return srcs[0]
|
||||
}
|
||||
|
||||
func PrebuiltLibraryFactory() android.Module {
|
||||
module, _ := NewPrebuiltLibrary(android.HostAndDeviceSupported)
|
||||
return module.Init()
|
||||
@@ -148,11 +159,7 @@ func (prebuilt *prebuiltLibraryDecorator) compilerProps() []interface{} {
|
||||
func (prebuilt *prebuiltLibraryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) buildOutput {
|
||||
prebuilt.flagExporter.exportLinkDirs(android.PathsForModuleSrc(ctx, prebuilt.Properties.Link_dirs).Strings()...)
|
||||
prebuilt.flagExporter.setProvider(ctx)
|
||||
|
||||
srcPath, paths := srcPathFromModuleSrcs(ctx, prebuilt.prebuiltSrcs())
|
||||
if len(paths) > 0 {
|
||||
ctx.PropertyErrorf("srcs", "prebuilt libraries can only have one entry in srcs (the prebuilt path)")
|
||||
}
|
||||
srcPath := prebuiltPath(ctx, prebuilt)
|
||||
prebuilt.baseCompiler.unstrippedOutputFile = srcPath
|
||||
return buildOutput{outputFile: srcPath}
|
||||
}
|
||||
@@ -205,11 +212,7 @@ func (prebuilt *prebuiltProcMacroDecorator) compilerProps() []interface{} {
|
||||
func (prebuilt *prebuiltProcMacroDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) buildOutput {
|
||||
prebuilt.flagExporter.exportLinkDirs(android.PathsForModuleSrc(ctx, prebuilt.Properties.Link_dirs).Strings()...)
|
||||
prebuilt.flagExporter.setProvider(ctx)
|
||||
|
||||
srcPath, paths := srcPathFromModuleSrcs(ctx, prebuilt.prebuiltSrcs())
|
||||
if len(paths) > 0 {
|
||||
ctx.PropertyErrorf("srcs", "prebuilt libraries can only have one entry in srcs (the prebuilt path)")
|
||||
}
|
||||
srcPath := prebuiltPath(ctx, prebuilt)
|
||||
prebuilt.baseCompiler.unstrippedOutputFile = srcPath
|
||||
return buildOutput{outputFile: srcPath}
|
||||
}
|
||||
|
Reference in New Issue
Block a user