Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2df45faa authored by Paul Duffin's avatar Paul Duffin
Browse files

Improve error messages when output file is invalid

Bug: 155720025
Test: m nothing
Merged-In: I01eebaad58c5a6950e4419d0a8bf80bd02fed543
Change-Id: I01eebaad58c5a6950e4419d0a8bf80bd02fed543
(cherry picked from commit 712993cf)
parent 6615b308
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ func (p *nativeBinaryInfoProperties) PopulateFromVariant(ctx android.SdkMemberCo
	ccModule := variant.(*Module)

	p.archType = ccModule.Target().Arch.ArchType.String()
	p.outputFile = ccModule.OutputFile().Path()
	p.outputFile = getRequiredMemberOutputFile(ctx, ccModule)

	if ccModule.linker != nil {
		specifiedDeps := specifiedDeps{}
+12 −1
Original line number Diff line number Diff line
@@ -354,7 +354,7 @@ func (p *nativeLibInfoProperties) PopulateFromVariant(ctx android.SdkMemberConte
	// If the library has some link types then it produces an output binary file, otherwise it
	// is header only.
	if !p.memberType.noOutputFiles {
		p.outputFile = ccModule.OutputFile().Path()
		p.outputFile = getRequiredMemberOutputFile(ctx, ccModule)
	}

	// Separate out the generated include dirs (which are arch specific) from the
@@ -388,6 +388,17 @@ func (p *nativeLibInfoProperties) PopulateFromVariant(ctx android.SdkMemberConte
	}
}

func getRequiredMemberOutputFile(ctx android.SdkMemberContext, ccModule *Module) android.Path {
	var path android.Path
	outputFile := ccModule.OutputFile()
	if outputFile.Valid() {
		path = outputFile.Path()
	} else {
		ctx.SdkModuleContext().ModuleErrorf("member variant %s does not have a valid output file", ccModule)
	}
	return path
}

func (p *nativeLibInfoProperties) AddToPropertySet(ctx android.SdkMemberContext, propertySet android.BpPropertySet) {
	addPossiblyArchSpecificProperties(ctx.SdkModuleContext(), ctx.SnapshotBuilder(), p, propertySet)
}