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

Commit 8cf741ab authored by Maciej Żenczykowski's avatar Maciej Żenczykowski Committed by Gerrit Code Review
Browse files

Merge "Move LLNDK moved_to_apex into the Android.bp files" into main

parents 385f75bf 0510f543
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -740,6 +740,7 @@ type versionedInterface interface {
	hasLLNDKStubs() bool
	hasLLNDKHeaders() bool
	hasVendorPublicLibrary() bool
	isLLNDKMovedToApex() bool
}

var _ libraryInterface = (*libraryDecorator)(nil)
@@ -1844,6 +1845,11 @@ func (library *libraryDecorator) hasLLNDKHeaders() bool {
	return Bool(library.Properties.Llndk.Llndk_headers)
}

// isLLNDKMovedToApex returns true if this cc_library module sets the llndk.moved_to_apex property.
func (library *libraryDecorator) isLLNDKMovedToApex() bool {
	return Bool(library.Properties.Llndk.Moved_to_apex)
}

// hasVendorPublicLibrary returns true if this cc_library module has a variant that will build
// vendor public library stubs.
func (library *libraryDecorator) hasVendorPublicLibrary() bool {
+6 −5
Original line number Diff line number Diff line
@@ -57,17 +57,18 @@ type llndkLibraryProperties struct {
	// if true, make this module available to provide headers to other modules that set
	// llndk.symbol_file.
	Llndk_headers *bool

	// moved_to_apex marks this module has having been distributed through an apex module.
	Moved_to_apex *bool
}

func makeLlndkVars(ctx android.MakeVarsContext) {
	// Make uses LLNDK_MOVED_TO_APEX_LIBRARIES to avoid installing libraries on /system if
	// they been moved to an apex.
	// Make uses LLNDK_MOVED_TO_APEX_LIBRARIES to generate the linker config.
	movedToApexLlndkLibraries := make(map[string]bool)
	ctx.VisitAllModules(func(module android.Module) {
		if library := moduleLibraryInterface(module); library != nil && library.hasLLNDKStubs() {
			// Skip bionic libs, they are handled in different manner
			if library.isLLNDKMovedToApex() {
				name := library.implementationModuleName(module.(*Module).BaseModuleName())
			if module.(android.ApexModule).DirectlyInAnyApex() && !isBionic(name) {
				movedToApexLlndkLibraries[name] = true
			}
		}