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

Commit a797105d authored by Przemyslaw Szczepaniak's avatar Przemyslaw Szczepaniak Committed by android-build-merger
Browse files

Merge "Do not install LLNDK libs moved APEX on /system" am: 1ab2b7b8 am:...

Merge "Do not install LLNDK libs moved APEX on /system" am: 1ab2b7b8 am: 91655856 am: 475386be am: 4ba65538
am: c37235e1

Change-Id: Iddf47c8a3c2af2b93e91030c224993840b391a59
parents b8bdb769 c37235e1
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -959,7 +959,11 @@ func (library *libraryDecorator) install(ctx ModuleContext, file android.Path) {
				}
				library.baseInstaller.subDir = "bootstrap"
			}
		} else if android.DirectlyInAnyApex(ctx, ctx.ModuleName()) && ctx.isLlndk(ctx.Config()) && !isBionic(ctx.baseModuleName()) {
			// Skip installing LLNDK (non-bionic) libraries moved to APEX.
			ctx.Module().SkipInstall()
		}

		library.baseInstaller.install(ctx, file)
	}

+17 −0
Original line number Diff line number Diff line
@@ -63,6 +63,13 @@ func makeStringOfWarningAllowedProjects() string {
	}
}

type notOnHostContext struct {
}

func (c *notOnHostContext) Host() bool {
	return false
}

func makeVarsProvider(ctx android.MakeVarsContext) {
	vendorPublicLibraries := vendorPublicLibraries(ctx.Config())

@@ -102,13 +109,23 @@ func makeVarsProvider(ctx android.MakeVarsContext) {
	// Therefore, by removing the library here, we cause it to only be installed if libc
	// depends on it.
	installedLlndkLibraries := []string{}

	// Make uses LLNDK_MOVED_TO_APEX_LIBRARIES to avoid installing libraries on /system if
	// they been moved to an apex.
	movedToApexLlndkLibraries := []string{}
	for _, lib := range *llndkLibraries(ctx.Config()) {
		if strings.HasPrefix(lib, "libclang_rt.hwasan-") {
			continue
		}
		installedLlndkLibraries = append(installedLlndkLibraries, lib)

		// Skip bionic libs, they are handled in different manner
		if android.DirectlyInAnyApex(&notOnHostContext{}, lib) && !isBionic(lib) {
			movedToApexLlndkLibraries = append(movedToApexLlndkLibraries, lib)
		}
	}
	ctx.Strict("LLNDK_LIBRARIES", strings.Join(installedLlndkLibraries, " "))
	ctx.Strict("LLNDK_MOVED_TO_APEX_LIBRARIES", strings.Join(movedToApexLlndkLibraries, " "))

	ctx.Strict("VNDK_PRIVATE_LIBRARIES", strings.Join(*vndkPrivateLibraries(ctx.Config()), " "))
	ctx.Strict("VNDK_USING_CORE_VARIANT_LIBRARIES", strings.Join(*vndkUsingCoreVariantLibraries(ctx.Config()), " "))